# This file is part of Gajim. # # Gajim is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Gajim is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Gajim. If not, see . from __future__ import annotations from typing import Any from typing import TYPE_CHECKING from gi.repository import Gtk from gajim.plugins.plugins_i18n import _ from gajim.gtk.settings import SettingsDialog from gajim.gtk.const import Setting from gajim.gtk.const import SettingKind from gajim.gtk.const import SettingType if TYPE_CHECKING: from .stt_voice_messages import STTVoiceMessagesPlugin class STTVoiceMessagesConfigDialog(SettingsDialog): def __init__(self, plugin: STTVoiceMessagesPlugin, parent: Gtk.Window) -> None: type_values = ('tiny', 'base', 'small', 'medium', 'large') self.plugin = plugin settings = [ Setting(SettingKind.COMBO, _('Language Model'), SettingType.VALUE, callback=self._on_setting, props={'combo_items': type_values}), Setting(SettingKind.SWITCH, _('Use Multilanguage Model'), SettingType.VALUE, self.plugin.config['use_multilanguage_model'], callback=self._on_setting, data='use_multilanguage_model'), ] SettingsDialog.__init__(self, parent, _('STT Voice Message Configuration'), Gtk.DialogFlags.MODAL, settings, '') def _on_setting(self, value: Any, data: Any) -> None: self.plugin.config[data] = value