[gnome-builder] editor-settings: add style-scheme-name property.



commit 7bc673e9451afa9d0f05660ab00c474a330236c0
Author: Christian Hergert <christian hergert me>
Date:   Mon Sep 29 01:53:32 2014 -0700

    editor-settings: add style-scheme-name property.
    
    This makes testing convenient from gtk inspector.

 src/editor/gb-editor-settings.c |   62 ++++++++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 14 deletions(-)
---
diff --git a/src/editor/gb-editor-settings.c b/src/editor/gb-editor-settings.c
index 261d929..78318a7 100644
--- a/src/editor/gb-editor-settings.c
+++ b/src/editor/gb-editor-settings.c
@@ -66,6 +66,7 @@ enum {
   PROP_SHOW_RIGHT_MARGIN,
   PROP_SMART_HOME_END,
   PROP_STYLE_SCHEME,
+  PROP_STYLE_SCHEME_NAME,
   PROP_TAB_WIDTH,
   LAST_PROP
 };
@@ -102,6 +103,35 @@ gb_editor_settings_set_style_scheme (GbEditorSettings     *settings,
                             gParamSpecs[PROP_STYLE_SCHEME]);
 }
 
+const gchar *
+gb_editor_settings_get_style_scheme_name (GbEditorSettings *settings)
+{
+  g_return_val_if_fail (GB_IS_EDITOR_SETTINGS (settings), NULL);
+
+  if (settings->priv->style_scheme)
+    return gtk_source_style_scheme_get_name (settings->priv->style_scheme);
+
+  return NULL;
+}
+
+void
+gb_editor_settings_set_style_scheme_name (GbEditorSettings *settings,
+                                          const gchar      *name)
+{
+  GtkSourceStyleSchemeManager *manager;
+  GtkSourceStyleScheme *scheme = NULL;
+
+  g_return_if_fail (GB_IS_EDITOR_SETTINGS (settings));
+
+  if (name)
+    {
+      manager = gtk_source_style_scheme_manager_get_default ();
+      scheme = gtk_source_style_scheme_manager_get_scheme (manager, name);
+    }
+
+  gb_editor_settings_set_style_scheme (settings, scheme);
+}
+
 const PangoFontDescription *
 gb_editor_settings_get_font_desc (GbEditorSettings *settings)
 {
@@ -153,7 +183,6 @@ gb_editor_settings_set_auto_indent (GbEditorSettings *settings,
                             gParamSpecs[PROP_AUTO_INDENT]);
 }
 
-
 gboolean
 gb_editor_settings_get_highlight_current_line (GbEditorSettings *settings)
 {
@@ -173,7 +202,6 @@ gb_editor_settings_set_highlight_current_line (GbEditorSettings *settings,
                             gParamSpecs[PROP_HIGHLIGHT_CURRENT_LINE]);
 }
 
-
 gboolean
 gb_editor_settings_get_indent_on_tab (GbEditorSettings *settings)
 {
@@ -193,7 +221,6 @@ gb_editor_settings_set_indent_on_tab (GbEditorSettings *settings,
                             gParamSpecs[PROP_INDENT_ON_TAB]);
 }
 
-
 gboolean
 gb_editor_settings_get_insert_spaces_instead_of_tabs (GbEditorSettings *settings)
 {
@@ -213,7 +240,6 @@ gb_editor_settings_set_insert_spaces_instead_of_tabs (GbEditorSettings *settings
                             gParamSpecs[PROP_INSERT_SPACES_INSTEAD_OF_TABS]);
 }
 
-
 gboolean
 gb_editor_settings_get_show_line_marks (GbEditorSettings *settings)
 {
@@ -233,7 +259,6 @@ gb_editor_settings_set_show_line_marks (GbEditorSettings *settings,
                             gParamSpecs[PROP_SHOW_LINE_MARKS]);
 }
 
-
 gboolean
 gb_editor_settings_get_show_line_numbers (GbEditorSettings *settings)
 {
@@ -253,7 +278,6 @@ gb_editor_settings_set_show_line_numbers (GbEditorSettings *settings,
                             gParamSpecs[PROP_SHOW_LINE_NUMBERS]);
 }
 
-
 gboolean
 gb_editor_settings_get_show_right_margin (GbEditorSettings *settings)
 {
@@ -273,7 +297,6 @@ gb_editor_settings_set_show_right_margin (GbEditorSettings *settings,
                             gParamSpecs[PROP_SHOW_RIGHT_MARGIN]);
 }
 
-
 gboolean
 gb_editor_settings_get_smart_home_end (GbEditorSettings *settings)
 {
@@ -425,6 +448,10 @@ gb_editor_settings_get_property (GObject    *object,
       g_value_set_object (value, gb_editor_settings_get_style_scheme (settings));
       break;
 
+    case PROP_STYLE_SCHEME_NAME:
+      g_value_set_string (value, gb_editor_settings_get_style_scheme_name (settings));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
     }
@@ -492,6 +519,10 @@ gb_editor_settings_set_property (GObject      *object,
       gb_editor_settings_set_style_scheme (settings, g_value_get_object (value));
       break;
 
+    case PROP_STYLE_SCHEME_NAME:
+      gb_editor_settings_set_style_scheme_name (settings, g_value_get_string (value));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
     }
@@ -516,7 +547,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_AUTO_INDENT,
                                    gParamSpecs[PROP_AUTO_INDENT]);
 
-
   gParamSpecs[PROP_HIGHLIGHT_CURRENT_LINE] =
     g_param_spec_boolean ("highlight-current-line",
                           _ ("highlight current line"),
@@ -526,7 +556,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_HIGHLIGHT_CURRENT_LINE,
                                    gParamSpecs[PROP_HIGHLIGHT_CURRENT_LINE]);
 
-
   gParamSpecs[PROP_INDENT_ON_TAB] =
     g_param_spec_boolean ("indent-on-tab",
                           _ ("indent on tab"),
@@ -536,7 +565,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_INDENT_ON_TAB,
                                    gParamSpecs[PROP_INDENT_ON_TAB]);
 
-
   gParamSpecs[PROP_INSERT_SPACES_INSTEAD_OF_TABS] =
     g_param_spec_boolean ("insert-spaces-instead-of-tabs",
                           _ ("insert spaces instead of tabs"),
@@ -546,7 +574,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_INSERT_SPACES_INSTEAD_OF_TABS,
                                    gParamSpecs[PROP_INSERT_SPACES_INSTEAD_OF_TABS]);
 
-
   gParamSpecs[PROP_SHOW_LINE_MARKS] =
     g_param_spec_boolean ("show-line-marks",
                           _ ("show line marks"),
@@ -556,7 +583,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_SHOW_LINE_MARKS,
                                    gParamSpecs[PROP_SHOW_LINE_MARKS]);
 
-
   gParamSpecs[PROP_SHOW_LINE_NUMBERS] =
     g_param_spec_boolean ("show-line-numbers",
                           _ ("show line numbers"),
@@ -566,7 +592,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_SHOW_LINE_NUMBERS,
                                    gParamSpecs[PROP_SHOW_LINE_NUMBERS]);
 
-
   gParamSpecs[PROP_SHOW_RIGHT_MARGIN] =
     g_param_spec_boolean ("show-right-margin",
                           _ ("show right margin"),
@@ -576,7 +601,6 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
   g_object_class_install_property (object_class, PROP_SHOW_RIGHT_MARGIN,
                                    gParamSpecs[PROP_SHOW_RIGHT_MARGIN]);
 
-
   gParamSpecs[PROP_SMART_HOME_END] =
     g_param_spec_boolean ("smart-home-end",
                           _ ("smart home end"),
@@ -636,6 +660,16 @@ gb_editor_settings_class_init (GbEditorSettingsClass *klass)
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (object_class, PROP_STYLE_SCHEME,
                                    gParamSpecs[PROP_STYLE_SCHEME]);
+
+  gParamSpecs [PROP_STYLE_SCHEME_NAME] =
+    g_param_spec_string ("style-scheme-name",
+                         _("Style Scheme Name"),
+                         _("The name of the style scheme."),
+                         NULL,
+                         (G_PARAM_READWRITE |
+                          G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (object_class, PROP_STYLE_SCHEME_NAME,
+                                   gParamSpecs [PROP_STYLE_SCHEME_NAME]);
 }
 
 static void


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