Say that a model can be typed in, everywhere one can

Every model box has taken a typed name all along, but nothing said so, and a
closed-looking list reads as the whole choice. The Claude Code and Codex boxes
now carry a tooltip saying the list is a starting point, not a fence. Claude
gets no fetched list of its own: its CLI has no catalog command, and the
aliases it takes (sonnet, opus, haiku, fable) already follow the newest model
of each line.
This commit is contained in:
2026-08-25 14:48:59 +03:00
parent e9488a51a4
commit 0b06d6d16d
2 changed files with 14 additions and 1 deletions
+4
View File
@@ -556,6 +556,10 @@ TR = {
"“sonnet” gibi bir ad her zaman o serinin en yenisini seçer. Opus daha " "“sonnet” gibi bir ad her zaman o serinin en yenisini seçer. Opus daha "
"çok düşünür ve daha geç cevaplar; bu da en çok burada hissedilir, " "çok düşünür ve daha geç cevaplar; bu da en çok burada hissedilir, "
"çünkü ekranın başında bekliyorsun.", "çünkü ekranın başında bekliyorsun.",
"The list is a starting point, not a fence: any model name {name} accepts "
"can be typed straight in.":
"Liste başlangıç için, sınır değil: {name} hangi model adını kabul "
"ediyorsa buraya elle yazılabilir.",
"Permissions": "İzinler", "Permissions": "İzinler",
"Decide on its own, with the safety checks on": "Decide on its own, with the safety checks on":
"Kendi karar versin, güvenlik denetimleri açık", "Kendi karar versin, güvenlik denetimleri açık",
+10 -1
View File
@@ -96,6 +96,12 @@ PERMISSION_MODES = [
("Allow everything", "bypassPermissions"), ("Allow everything", "bypassPermissions"),
("Only what needs no permission", "manual"), ("Only what needs no permission", "manual"),
] ]
def _typed_model_note(name):
"""Every model box takes a typed name too; the tooltip that says so."""
return t("The list is a starting point, not a fence: any model name "
"{name} accepts can be typed straight in.", name=name)
# Codex confines the commands it runs instead of asking about them. # Codex confines the commands it runs instead of asking about them.
CODEX_SANDBOXES = [ CODEX_SANDBOXES = [
("Read anything, write in the working directory", "workspace-write"), ("Read anything, write in the working directory", "workspace-write"),
@@ -848,11 +854,13 @@ class SettingsWindow(QDialog):
self.cleanup_claude_model = QComboBox() self.cleanup_claude_model = QComboBox()
self.cleanup_claude_model.setEditable(True) self.cleanup_claude_model.setEditable(True)
self.cleanup_claude_model.addItems(CLEANUP_CLAUDE_MODELS) self.cleanup_claude_model.addItems(CLEANUP_CLAUDE_MODELS)
self.cleanup_claude_model.setToolTip(_typed_model_note("Claude Code"))
orr_form.addRow(t("Model"), self.cleanup_claude_model) orr_form.addRow(t("Model"), self.cleanup_claude_model)
self.cleanup_codex_model = QComboBox() self.cleanup_codex_model = QComboBox()
self.cleanup_codex_model.setEditable(True) self.cleanup_codex_model.setEditable(True)
self.cleanup_codex_model.addItems([t("Codex's own default")] + CODEX_MODELS) self.cleanup_codex_model.addItems([t("Codex's own default")] + CODEX_MODELS)
self.cleanup_codex_model.setToolTip(_typed_model_note("Codex"))
orr_form.addRow(t("Model"), self.cleanup_codex_model) orr_form.addRow(t("Model"), self.cleanup_codex_model)
self.cleanup_reasoning = QComboBox() self.cleanup_reasoning = QComboBox()
@@ -1012,7 +1020,7 @@ class SettingsWindow(QDialog):
"A name like “sonnet” always means the newest model of that line. " "A name like “sonnet” always means the newest model of that line. "
"Opus thinks harder and answers slower, which is felt here more " "Opus thinks harder and answers slower, which is felt here more "
"than anywhere else: you are standing in front of the screen." "than anywhere else: you are standing in front of the screen."
)) ) + " " + _typed_model_note("Claude Code"))
claude_form.addRow(t("Model"), self.assistant_model) claude_form.addRow(t("Model"), self.assistant_model)
self.assistant_permission = QComboBox() self.assistant_permission = QComboBox()
for label, value in PERMISSION_MODES: for label, value in PERMISSION_MODES:
@@ -1027,6 +1035,7 @@ class SettingsWindow(QDialog):
self.assistant_codex_model.addItem(t("Codex's own default"), "") self.assistant_codex_model.addItem(t("Codex's own default"), "")
for name in CODEX_MODELS: for name in CODEX_MODELS:
self.assistant_codex_model.addItem(name, name) self.assistant_codex_model.addItem(name, name)
self.assistant_codex_model.setToolTip(_typed_model_note("Codex"))
codex_form.addRow(t("Model"), self.assistant_codex_model) codex_form.addRow(t("Model"), self.assistant_codex_model)
self.assistant_codex_sandbox = QComboBox() self.assistant_codex_sandbox = QComboBox()
for label, value in CODEX_SANDBOXES: for label, value in CODEX_SANDBOXES: