Clarify model labels and style compact controls for each theme
@@ -100,7 +100,7 @@ def processing_locations(conf, mode="dictation", file_cleanup=None, file_timesta
|
|||||||
if provider in ("codex", "agy") and not conf[f"cleanup_{provider}_model"].strip():
|
if provider in ("codex", "agy") and not conf[f"cleanup_{provider}_model"].strip():
|
||||||
model = t("{name} default model", name="Codex" if provider == "codex" else "Antigravity")
|
model = t("{name} default model", name="Codex" if provider == "codex" else "Antigravity")
|
||||||
text = _model_location(model, provider, local.get("llama")) if enabled else t("Editing off")
|
text = _model_location(model, provider, local.get("llama")) if enabled else t("Editing off")
|
||||||
location = t("Audio: {sound} / Text: {text}", sound=sound, text=text)
|
location = t("Dictation: {sound} / Cleanup: {text}", sound=sound, text=text)
|
||||||
if mode == "meeting":
|
if mode == "meeting":
|
||||||
location += " / " + t("Minutes: {model}", model=_model_location(conf["meeting_model"], "openrouter"))
|
location += " / " + t("Minutes: {model}", model=_model_location(conf["meeting_model"], "openrouter"))
|
||||||
elif mode == "ask":
|
elif mode == "ask":
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ TR = {
|
|||||||
"Local CPU": "Yerel CPU",
|
"Local CPU": "Yerel CPU",
|
||||||
"Model not selected": "Model seçilmedi",
|
"Model not selected": "Model seçilmedi",
|
||||||
"{name} default model": "{name} varsayılan modeli",
|
"{name} default model": "{name} varsayılan modeli",
|
||||||
"Audio: {sound} / Text: {text}": "Ses: {sound} / Metin: {text}",
|
"Dictation: {sound} / Cleanup: {text}": "Dikte: {sound} / Temizleme: {text}",
|
||||||
"Minutes: {model}": "Tutanak: {model}",
|
"Minutes: {model}": "Tutanak: {model}",
|
||||||
"Assistant: {model}": "Asistan: {model}",
|
"Assistant: {model}": "Asistan: {model}",
|
||||||
"Completed with a warning: {error}": "Uyarıyla tamamlandı: {error}",
|
"Completed with a warning: {error}": "Uyarıyla tamamlandı: {error}",
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="m3.3 7 2.4 2.5 5-5" fill="none" stroke="#FFFFFF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||||
|
After Width: | Height: | Size: 215 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="m3.3 7 2.4 2.5 5-5" fill="none" stroke="#172434" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||||
|
After Width: | Height: | Size: 215 B |
@@ -74,15 +74,30 @@ QComboBox::drop-down {
|
|||||||
width: 26px; border: none; background: transparent;
|
width: 26px; border: none; background: transparent;
|
||||||
}
|
}
|
||||||
QComboBox::down-arrow { image: url("__ICONS__/chevron-down@arrow_suffix.svg"); width: 12px; height: 12px; }
|
QComboBox::down-arrow { image: url("__ICONS__/chevron-down@arrow_suffix.svg"); width: 12px; height: 12px; }
|
||||||
QSpinBox { padding-right: 28px; min-height: 18px; }
|
QSpinBox { padding: 2px 20px 2px 6px; min-height: 18px; }
|
||||||
|
QSpinBox > QLineEdit { border: none; background: transparent; padding: 0; }
|
||||||
QSpinBox::up-button, QSpinBox::down-button {
|
QSpinBox::up-button, QSpinBox::down-button {
|
||||||
subcontrol-origin: border; width: 26px; border: none; background: transparent;
|
subcontrol-origin: border; width: 20px; border: none; background: transparent;
|
||||||
}
|
}
|
||||||
QSpinBox::up-button { subcontrol-position: top right; border-top-right-radius: 5px; }
|
QSpinBox::up-button { subcontrol-position: top right; border-top-right-radius: 5px; }
|
||||||
QSpinBox::down-button { subcontrol-position: bottom right; border-bottom-right-radius: 5px; }
|
QSpinBox::down-button { subcontrol-position: bottom right; border-bottom-right-radius: 5px; }
|
||||||
QSpinBox::up-button:hover, QSpinBox::down-button:hover { background: @border; }
|
QSpinBox::up-button:hover, QSpinBox::down-button:hover { background: @border; }
|
||||||
QSpinBox::up-arrow { image: url("__ICONS__/chevron-up@arrow_suffix.svg"); width: 10px; height: 10px; }
|
QSpinBox::up-arrow { image: url("__ICONS__/chevron-up@arrow_suffix.svg"); width: 10px; height: 10px; }
|
||||||
QSpinBox::down-arrow { image: url("__ICONS__/chevron-down@arrow_suffix.svg"); width: 10px; height: 10px; }
|
QSpinBox::down-arrow { image: url("__ICONS__/chevron-down@arrow_suffix.svg"); width: 10px; height: 10px; }
|
||||||
|
QCheckBox { spacing: 7px; }
|
||||||
|
QCheckBox::indicator {
|
||||||
|
width: 14px; height: 14px; border: 1px solid @border;
|
||||||
|
border-radius: 4px; background: @surface;
|
||||||
|
}
|
||||||
|
QCheckBox::indicator:hover { border-color: @accent; }
|
||||||
|
QCheckBox::indicator:checked {
|
||||||
|
background: @accent; border-color: @accent;
|
||||||
|
image: url("__ICONS__/check@arrow_suffix.svg");
|
||||||
|
}
|
||||||
|
QCheckBox:focus::indicator { border-color: @text; }
|
||||||
|
QCheckBox:disabled { color: @disabled_text; }
|
||||||
|
QCheckBox::indicator:disabled { background: @disabled_bg; border-color: @disabled_text; }
|
||||||
|
QCheckBox::indicator:checked:disabled { background: @disabled_text; }
|
||||||
QComboBox QAbstractItemView { background: @surface; color: @text; selection-background-color: @border; }
|
QComboBox QAbstractItemView { background: @surface; color: @text; selection-background-color: @border; }
|
||||||
QTabWidget::pane { border: none; }
|
QTabWidget::pane { border: none; }
|
||||||
QTabBar::tab { background: @surface; padding: 10px; }
|
QTabBar::tab { background: @surface; padding: 10px; }
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 55 KiB |
@@ -390,7 +390,8 @@ class Home(DikteTest):
|
|||||||
i18n.set_language("tr")
|
i18n.set_language("tr")
|
||||||
self.window.refresh()
|
self.window.refresh()
|
||||||
self.assertEqual(self.window.capture_status.text(), "Konuşmaya hazır")
|
self.assertEqual(self.window.capture_status.text(), "Konuşmaya hazır")
|
||||||
self.assertIn("Ses:", self.window.capture_models.text())
|
self.assertIn("Dikte:", self.window.capture_models.text())
|
||||||
|
self.assertIn("Temizleme:", self.window.capture_models.text())
|
||||||
|
|
||||||
def test_completed_run_refreshes_workspace_without_changing_controller_state(self):
|
def test_completed_run_refreshes_workspace_without_changing_controller_state(self):
|
||||||
controller = Dikte.__new__(Dikte)
|
controller = Dikte.__new__(Dikte)
|
||||||
|
|||||||