Hide settings if model is not available
This commit is contained in:
@@ -184,6 +184,21 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
|
|||||||
self._ui = get_builder(str(ui_path.resolve() / 'config_dialog.ui'))
|
self._ui = get_builder(str(ui_path.resolve() / 'config_dialog.ui'))
|
||||||
|
|
||||||
self._prefs: dict[str, PreferenceBox] = {}
|
self._prefs: dict[str, PreferenceBox] = {}
|
||||||
|
prefs: list[tuple[str, type[PreferenceBox]]] = [
|
||||||
|
('stt_behaviour', self.STTBehaviour),
|
||||||
|
('models', self.Models),
|
||||||
|
]
|
||||||
|
|
||||||
|
if 'model_openaiwhisper' in config.available_models:
|
||||||
|
prefs.append(('openaiwhisper_general', self.OpenAIWhisperGeneral))
|
||||||
|
else:
|
||||||
|
self._ui.stack.remove(getattr(self._ui, 'openai-whisper'))
|
||||||
|
|
||||||
|
if 'model_faster-whisper' in config.available_models:
|
||||||
|
prefs.append(('fasterwhisper_general', self.FasterWhisperGeneral))
|
||||||
|
else:
|
||||||
|
self._ui.stack.remove(getattr(self._ui, 'faster-whisper'))
|
||||||
|
|
||||||
side_bar_switcher = SideBarSwitcher()
|
side_bar_switcher = SideBarSwitcher()
|
||||||
side_bar_switcher.set_stack(self._ui.stack)
|
side_bar_switcher.set_stack(self._ui.stack)
|
||||||
self._ui.grid.attach(side_bar_switcher, 0, 0, 1, 1)
|
self._ui.grid.attach(side_bar_switcher, 0, 0, 1, 1)
|
||||||
@@ -191,24 +206,8 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
|
|||||||
|
|
||||||
self.config = config
|
self.config = config
|
||||||
self.plugin = self.config.plugin
|
self.plugin = self.config.plugin
|
||||||
|
|
||||||
prefs: list[tuple[str, type[PreferenceBox]]] = [
|
|
||||||
('stt_behaviour', self.STTBehaviour),
|
|
||||||
('models', self.Models),
|
|
||||||
]
|
|
||||||
|
|
||||||
# TODO: Refactor this
|
|
||||||
if 'model_openaiwhisper' in config.available_models:
|
|
||||||
prefs.append(('openaiwhisper_general', self.OpenAIWhisperGeneral))
|
|
||||||
else:
|
|
||||||
self._disable_pref('openai-whisper-viewport') # does not work yet
|
|
||||||
|
|
||||||
if 'model_faster-whisper' in config.available_models:
|
|
||||||
prefs.append(('fasterwhisper_general', self.FasterWhisperGeneral))
|
|
||||||
else:
|
|
||||||
self._disable_pref('faster-whisper') # does not work yet
|
|
||||||
|
|
||||||
self._add_prefs(prefs)
|
self._add_prefs(prefs)
|
||||||
|
|
||||||
self.show_all()
|
self.show_all()
|
||||||
|
|
||||||
def _add_prefs(self, prefs: list[tuple[str, type[PreferenceBox]]]):
|
def _add_prefs(self, prefs: list[tuple[str, type[PreferenceBox]]]):
|
||||||
@@ -219,14 +218,6 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
|
|||||||
pref_box.add(pref)
|
pref_box.add(pref)
|
||||||
self._prefs[ui_name] = pref
|
self._prefs[ui_name] = pref
|
||||||
|
|
||||||
def _disable_pref(self, pref: str):
|
|
||||||
# TODO: Not scrolling to setting does not work!
|
|
||||||
pref_box = getattr(self._ui, pref)
|
|
||||||
log.debug('Disable Settings Page for %s', pref_box)
|
|
||||||
adj = Gtk.Adjustment(0, 0, 0)
|
|
||||||
pref_box.set_focus_hadjustment(adj)
|
|
||||||
pref_box.set_focus_vadjustment(adj)
|
|
||||||
|
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
# General Settings
|
# General Settings
|
||||||
|
|||||||
@@ -128,7 +128,6 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkScrolledWindow" id="openai-whisper">
|
<object class="GtkScrolledWindow" id="openai-whisper">
|
||||||
<property name="name">openai-whisper</property>
|
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">True</property>
|
<property name="can-focus">True</property>
|
||||||
<property name="hscrollbar-policy">never</property>
|
<property name="hscrollbar-policy">never</property>
|
||||||
@@ -216,7 +215,7 @@
|
|||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="name">openai-whisper</property>
|
<property name="name">openai-whisper</property>
|
||||||
<property name="title" translatable="yes">openAI Whisper</property>
|
<property name="title" translatable="yes">OpenAI Whisper</property>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|||||||
Reference in New Issue
Block a user