diff --git a/codex-launcher_3.10.7_all.deb b/codex-launcher_3.10.7_all.deb index 489a184..886b9c5 100644 Binary files a/codex-launcher_3.10.7_all.deb and b/codex-launcher_3.10.7_all.deb differ diff --git a/src/codex-launcher-gui b/src/codex-launcher-gui index fed89af..3dfd4ac 100755 --- a/src/codex-launcher-gui +++ b/src/codex-launcher-gui @@ -3507,13 +3507,16 @@ class EditEndpointDialog(Gtk.Dialog): self._switch_enhancer = Gtk.Switch() self._switch_enhancer.set_active(self._data.get("prompt_enhancer", False)) enhancer_box.pack_start(self._switch_enhancer, False, False, 0) - enhancer_box.pack_start(Gtk.Label(label="Prompt Enhancer"), False, False, 0) + self._enhancer_status_lbl = Gtk.Label() + enhancer_box.pack_start(self._enhancer_status_lbl, False, False, 0) + self._switch_enhancer.connect("notify::active", lambda *a: self._on_enhancer_toggled()) self._combo_enhancer_mode = Gtk.ComboBoxText() for mode in ["offline", "ai-powered"]: self._combo_enhancer_mode.append(mode, mode.capitalize()) self._combo_enhancer_mode.set_active_id(self._data.get("prompt_enhancer_mode", "offline")) enhancer_box.pack_start(self._combo_enhancer_mode, False, False, 6) - add_row(8, "Enhance:", enhancer_box) + add_row(8, "Prompt Enhancer:", enhancer_box) + self._on_enhancer_toggled() self._entry_enhancer_model = Gtk.Entry() self._entry_enhancer_model.set_placeholder_text("e.g. deepseek/deepseek-v4-flash (ai-powered mode only)") @@ -3671,6 +3674,13 @@ class EditEndpointDialog(Gtk.Dialog): else: self._lbl_reasoning.set_markup('OFF') + def _on_enhancer_toggled(self, *_): + active = self._switch_enhancer.get_active() + if active: + self._enhancer_status_lbl.set_markup('ON') + else: + self._enhancer_status_lbl.set_markup('OFF') + def _do_oauth_login(self): preset_name = self._combo_preset.get_active_text() or "Custom" preset = PROVIDER_PRESETS.get(preset_name, {}) diff --git a/src/codex-launcher-gui.py b/src/codex-launcher-gui.py index dd0f687..a2a87fd 100644 --- a/src/codex-launcher-gui.py +++ b/src/codex-launcher-gui.py @@ -227,11 +227,15 @@ class EditEndpointDialog: enhancer_frame = ttk.Frame(grid) self._enhancer_var = tk.BooleanVar(value=self._data.get("prompt_enhancer", False)) - ttk.Checkbutton(enhancer_frame, text="Prompt Enhancer", variable=self._enhancer_var).pack(side="left") + self._enhancer_cb = ttk.Checkbutton(enhancer_frame, text="Prompt Enhancer", variable=self._enhancer_var, command=self._on_enhancer_toggled) + self._enhancer_cb.pack(side="left") + self._enhancer_status_lbl = ttk.Label(enhancer_frame, text="", foreground="gray") + self._enhancer_status_lbl.pack(side="left", padx=(6, 0)) self._enhancer_mode = ttk.Combobox(enhancer_frame, values=["offline", "ai-powered"], state="readonly", width=10) self._enhancer_mode.set(self._data.get("prompt_enhancer_mode", "offline")) self._enhancer_mode.pack(side="left", padx=(8, 0)) - add_field("Enhancer:", lambda: enhancer_frame) + add_field("Prompt Enhancer:", lambda: enhancer_frame) + self._on_enhancer_toggled() self._entry_enhancer_model = ttk.Entry(grid) self._entry_enhancer_model.insert(0, self._data.get("prompt_enhancer_model", "")) @@ -295,6 +299,12 @@ class EditEndpointDialog: state = "readonly" if self._reason_var.get() else "disabled" self._combo_effort.configure(state=state) + def _on_enhancer_toggled(self): + if self._enhancer_var.get(): + self._enhancer_status_lbl.configure(text="ON", foreground="#2ea043") + else: + self._enhancer_status_lbl.configure(text="OFF", foreground="#888888") + def _apply_selected_preset(self, initial=False): preset_name = self._combo_preset.get() or "Custom" preset = PROVIDER_PRESETS.get(preset_name, {})