Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwurstsalat <mailtrash@posteo.de>2022-10-03 21:25:57 +0300
committerwurstsalat <mailtrash@posteo.de>2022-10-03 21:29:34 +0300
commitcc11bce20fc5eb3d90b85ce11d21c83636c0cf07 (patch)
treecb1b1cca0893a1d0514bbe2b311d1f4faaf650c4
parentab066084bbee45b782b55b71c5efdc05e5e3193f (diff)
refactor: SourceView: Simplify getting style scheme
-rw-r--r--gajim/gtk/conversation/code_widget.py17
-rw-r--r--gajim/gtk/pep_config.py13
-rw-r--r--gajim/gtk/util.py8
-rw-r--r--gajim/gtk/xml_console.py15
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)