diff options
author | wurstsalat <mailtrash@posteo.de> | 2022-10-03 21:25:57 +0300 |
---|---|---|
committer | wurstsalat <mailtrash@posteo.de> | 2022-10-03 21:29:34 +0300 |
commit | cc11bce20fc5eb3d90b85ce11d21c83636c0cf07 (patch) | |
tree | cb1b1cca0893a1d0514bbe2b311d1f4faaf650c4 | |
parent | ab066084bbee45b782b55b71c5efdc05e5e3193f (diff) |
refactor: SourceView: Simplify getting style scheme
-rw-r--r-- | gajim/gtk/conversation/code_widget.py | 17 | ||||
-rw-r--r-- | gajim/gtk/pep_config.py | 13 | ||||
-rw-r--r-- | gajim/gtk/util.py | 8 | ||||
-rw-r--r-- | gajim/gtk/xml_console.py | 15 |
4 files changed, 17 insertions, 36 deletions
diff --git a/gajim/gtk/conversation/code_widget.py b/gajim/gtk/conversation/code_widget.py index f1dbf281f..7e2b12051 100644 --- a/gajim/gtk/conversation/code_widget.py +++ b/gajim/gtk/conversation/code_widget.py @@ -24,9 +24,10 @@ from gi.repository import GtkSource from gajim.common import app from gajim.common import ged from gajim.common.i18n import _ - from gajim.common.styling import PreBlock +from ..util import get_source_view_style_scheme + log = logging.getLogger('gajim.gui.conversation.code_widget') @@ -102,27 +103,17 @@ class CodeTextview(GtkSource.View): self.get_buffer().set_highlight_matching_brackets(False) self._source_manager = GtkSource.LanguageManager.get_default() - self._style_scheme_manager = GtkSource.StyleSchemeManager.get_default() app.ged.register_event_handler('style-changed', ged.GUI1, self._on_style_changed) - style_scheme = self._get_style_scheme() + style_scheme = get_source_view_style_scheme() if style_scheme is not None: self.get_buffer().set_style_scheme(style_scheme) - def _get_style_scheme(self) -> Optional[GtkSource.StyleScheme]: - if app.css_config.prefer_dark: - style_scheme = self._style_scheme_manager.get_scheme( - 'solarized-dark') - else: - style_scheme = self._style_scheme_manager.get_scheme( - 'solarized-light') - return style_scheme - def _on_style_changed(self, *args: Any) -> None: - style_scheme = self._get_style_scheme() + style_scheme = get_source_view_style_scheme() if style_scheme is not None: self.get_buffer().set_style_scheme(style_scheme) diff --git a/gajim/gtk/pep_config.py b/gajim/gtk/pep_config.py index de7d85e25..898e4b326 100644 --- a/gajim/gtk/pep_config.py +++ b/gajim/gtk/pep_config.py @@ -35,6 +35,7 @@ from .dialogs import ErrorDialog from .dialogs import WarningDialog from .dataform import DataFormWidget from .builder import get_builder +from .util import get_source_view_style_scheme log = logging.getLogger('gajim.gui.pep_config') @@ -64,8 +65,7 @@ class PEPConfig(Gtk.ApplicationWindow): lang = source_manager.get_language('xml') self._ui.items_view.get_buffer().set_language(lang) - self._style_scheme_manager = GtkSource.StyleSchemeManager.get_default() - style_scheme = self._get_style_scheme() + style_scheme = get_source_view_style_scheme() if style_scheme is not None: self._ui.items_view.get_buffer().set_style_scheme(style_scheme) @@ -77,15 +77,6 @@ class PEPConfig(Gtk.ApplicationWindow): self.connect('key-press-event', self._on_key_press) self._ui.connect_signals(self) - def _get_style_scheme(self) -> Optional[GtkSource.StyleScheme]: - if app.css_config.prefer_dark: - style_scheme = self._style_scheme_manager.get_scheme( - 'solarized-dark') - else: - style_scheme = self._style_scheme_manager.get_scheme( - 'solarized-light') - return style_scheme - def _on_key_press(self, _widget: Gtk.Widget, event: Gdk.EventKey) -> None: if event.keyval == Gdk.KEY_Escape: self.destroy() diff --git a/gajim/gtk/util.py b/gajim/gtk/util.py index 9b2bb78ff..71c39475d 100644 --- a/gajim/gtk/util.py +++ b/gajim/gtk/util.py @@ -36,6 +36,7 @@ from PIL import Image from gi.repository import Gdk from gi.repository import Gio from gi.repository import Gtk +from gi.repository import GtkSource from gi.repository import GLib from gi.repository import Pango from gi.repository import GdkPixbuf @@ -224,6 +225,13 @@ def restore_main_window_position() -> None: app.settings.get('mainwin_y_position')) +def get_source_view_style_scheme() -> Optional[GtkSource.StyleScheme]: + style_scheme_manager = GtkSource.StyleSchemeManager.get_default() + if app.css_config.prefer_dark: + return style_scheme_manager.get_scheme('solarized-dark') + return style_scheme_manager.get_scheme('solarized-light') + + def get_completion_liststore(entry: Gtk.Entry) -> Gtk.ListStore: ''' Create a completion model for entry widget completion list consists of diff --git a/gajim/gtk/xml_console.py b/gajim/gtk/xml_console.py index dea47a5a7..576555302 100644 --- a/gajim/gtk/xml_console.py +++ b/gajim/gtk/xml_console.py @@ -36,6 +36,7 @@ from .util import at_the_end from .util import scroll_to_end from .util import MaxWidthComboBoxText from .util import EventHelper +from .util import get_source_view_style_scheme from .dialogs import ErrorDialog from .settings import SettingsDialog from .const import Setting @@ -92,8 +93,7 @@ class XMLConsoleWindow(Gtk.ApplicationWindow, EventHelper): self._ui.sourceview.get_buffer().set_language(lang) self._ui.input_entry.get_buffer().set_language(lang) - self._style_scheme_manager = GtkSource.StyleSchemeManager.get_default() - style_scheme = self._get_style_scheme() + style_scheme = get_source_view_style_scheme() if style_scheme is not None: self._ui.sourceview.get_buffer().set_style_scheme(style_scheme) self._ui.input_entry.get_buffer().set_style_scheme(style_scheme) @@ -114,17 +114,8 @@ class XMLConsoleWindow(Gtk.ApplicationWindow, EventHelper): self._ui.popover.destroy() app.check_finalize(self) - def _get_style_scheme(self) -> Optional[GtkSource.StyleScheme]: - if app.css_config.prefer_dark: - style_scheme = self._style_scheme_manager.get_scheme( - 'solarized-dark') - else: - style_scheme = self._style_scheme_manager.get_scheme( - 'solarized-light') - return style_scheme - def _on_style_changed(self, *args: Any) -> None: - style_scheme = self._get_style_scheme() + style_scheme = get_source_view_style_scheme() if style_scheme is not None: self._ui.sourceview.get_buffer().set_style_scheme(style_scheme) self._ui.input_entry.get_buffer().set_style_scheme(style_scheme) |