[gnome-text-editor] preferences: handle light/dark translations for style-scheme



commit cc37ad1d53e40d6ef466e11eb2fd5c1f028183fc
Author: Christian Hergert <chergert redhat com>
Date:   Wed Dec 1 13:59:01 2021 -0800

    preferences: handle light/dark translations for style-scheme
    
    We might be using an alternate scheme if the light/dark mode has changed
    and therefore we want to show the same one the editor would see.
    
    Related #183

 src/editor-preferences-dialog.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
---
diff --git a/src/editor-preferences-dialog.c b/src/editor-preferences-dialog.c
index 0e6e482..67462f8 100644
--- a/src/editor-preferences-dialog.c
+++ b/src/editor-preferences-dialog.c
@@ -151,11 +151,11 @@ guess_preview_language (EditorPreferencesDialog *self)
 static void
 update_style_scheme_selection (EditorPreferencesDialog *self)
 {
-  g_autofree char *id = NULL;
+  const char *id;
 
   g_assert (EDITOR_IS_PREFERENCES_DIALOG (self));
 
-  id = g_settings_get_string (self->settings, "style-scheme");
+  id = editor_application_get_style_scheme (EDITOR_APPLICATION (g_application_get_default ()));
 
   for (GtkWidget *child = gtk_widget_get_first_child (GTK_WIDGET (self->scheme_group));
        child;
@@ -331,11 +331,6 @@ editor_preferences_dialog_init (EditorPreferencesDialog *self)
                                 self->source_view, "background-pattern",
                                 G_SETTINGS_BIND_GET,
                                 bind_background_pattern, NULL, NULL, NULL);
-  g_signal_connect_object (self->settings,
-                           "changed::style-scheme",
-                           G_CALLBACK (update_style_scheme_selection),
-                           self,
-                           G_CONNECT_SWAPPED);
   g_signal_connect_object (self->settings,
                            "changed::custom-font",
                            G_CALLBACK (update_custom_font_cb),
@@ -347,6 +342,12 @@ editor_preferences_dialog_init (EditorPreferencesDialog *self)
                            self,
                            G_CONNECT_SWAPPED);
 
+  g_signal_connect_object (g_application_get_default (),
+                           "notify::style-scheme",
+                           G_CALLBACK (update_style_scheme_selection),
+                           self,
+                           G_CONNECT_SWAPPED);
+
   style_manager = adw_style_manager_get_default ();
   g_signal_connect_object (style_manager,
                            "notify::color-scheme",


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]