Hide settings if model is not available

This commit is contained in:
mesonium
2024-07-03 19:38:06 +02:00
committed by hueso
parent 2d7630a757
commit 24644f7fd4
2 changed files with 17 additions and 27 deletions

View File

@@ -184,6 +184,21 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
self._ui = get_builder(str(ui_path.resolve() / 'config_dialog.ui'))
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.set_stack(self._ui.stack)
self._ui.grid.attach(side_bar_switcher, 0, 0, 1, 1)
@@ -191,24 +206,8 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
self.config = config
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.show_all()
def _add_prefs(self, prefs: list[tuple[str, type[PreferenceBox]]]):
@@ -219,14 +218,6 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
pref_box.add(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