[gnome-builder] sourceview: use enable-search-bubbles for setting/property



commit 05f6426a78a4d95251540ad962e8f3f324bafb71
Author: Christian Hergert <chergert redhat com>
Date:   Tue Oct 11 19:14:24 2022 -0500

    sourceview: use enable-search-bubbles for setting/property

 .../gsettings/org.gnome.builder.editor.gschema.xml |  6 +--
 src/libide/editor/ide-editor-page-settings.c       |  4 +-
 src/libide/sourceview/ide-source-view-private.h    |  4 +-
 src/libide/sourceview/ide-source-view.c            | 59 +++++++++++++---------
 src/libide/sourceview/ide-source-view.h            | 10 ++--
 src/plugins/editorui/gbp-editorui-preview.c        |  6 +--
 src/plugins/editorui/tweaks.ui                     |  8 +--
 7 files changed, 53 insertions(+), 44 deletions(-)
---
diff --git a/data/gsettings/org.gnome.builder.editor.gschema.xml 
b/data/gsettings/org.gnome.builder.editor.gschema.xml
index 515121f4c..5f6f1652b 100644
--- a/data/gsettings/org.gnome.builder.editor.gschema.xml
+++ b/data/gsettings/org.gnome.builder.editor.gschema.xml
@@ -145,10 +145,10 @@
       <summary>Select First Completion</summary>
       <description>Automatically select the first auto-completion entry.</description>
     </key>
-    <key name="rounded-find-bubbles" type="b">
+    <key name="enable-search-bubbles" type="b">
       <default>true</default>
-      <summary>Rounded Find Bubbles</summary>
-      <description>Display Search Results with Rounded Edges</description>
+      <summary>Enable Search Bubbles</summary>
+      <description>Display search results with additional styling to stand out</description>
     </key>
   </schema>
 </schemalist>
diff --git a/src/libide/editor/ide-editor-page-settings.c b/src/libide/editor/ide-editor-page-settings.c
index d3a8081a5..4745fa6f2 100644
--- a/src/libide/editor/ide-editor-page-settings.c
+++ b/src/libide/editor/ide-editor-page-settings.c
@@ -294,8 +294,8 @@ _ide_editor_page_settings_init (IdeEditorPage *self)
   g_settings_bind (editor_settings, "smart-backspace",
                    self->view, "smart-backspace",
                    G_SETTINGS_BIND_GET);
-  g_settings_bind (editor_settings, "rounded-find-bubbles",
-                   self->view, "rounded-find-bubbles",
+  g_settings_bind (editor_settings, "enable-search-bubbles",
+                   self->view, "enable-search-bubbles",
                    G_SETTINGS_BIND_GET);
   g_settings_bind (editor_settings,
                    "completion-n-rows",
diff --git a/src/libide/sourceview/ide-source-view-private.h b/src/libide/sourceview/ide-source-view-private.h
index 27061d6f0..91711bfbb 100644
--- a/src/libide/sourceview/ide-source-view-private.h
+++ b/src/libide/sourceview/ide-source-view-private.h
@@ -47,7 +47,6 @@ struct _IdeSourceView
   PangoFontDescription *font_desc;
   double line_height;
   int font_scale;
-  bool rounded_find_bubbles;
 
   /* Search context used to draw bubbles */
   GtkSourceSearchContext *search_context;
@@ -78,6 +77,7 @@ struct _IdeSourceView
   double click_y;
 
   /* Bitfield values go here */
+  guint enable_search_bubbles : 1;
   guint highlight_current_line : 1;
   guint insert_matching_brace : 1;
   guint overwrite_braces : 1;
@@ -95,7 +95,7 @@ char *_ide_source_view_generate_css        (GtkSourceView              *view,
                                             const PangoFontDescription *font_desc,
                                             int                         font_scale,
                                             double                      line_height,
-                                            bool                        rounded_find_bubbles);
+                                            gboolean                    enable_search_bubbles);
 void  _ide_source_view_set_search_context  (IdeSourceView              *self,
                                             GtkSourceSearchContext     *search_context);
 
diff --git a/src/libide/sourceview/ide-source-view.c b/src/libide/sourceview/ide-source-view.c
index 6dd73b180..aa46d5b12 100644
--- a/src/libide/sourceview/ide-source-view.c
+++ b/src/libide/sourceview/ide-source-view.c
@@ -48,7 +48,7 @@ enum {
   PROP_LINE_HEIGHT,
   PROP_OVERWRITE_BRACES,
   PROP_ZOOM_LEVEL,
-  PROP_ROUNDED_FIND_BUBBLES,
+  PROP_ENABLE_SEARCH_BUBBLES,
   N_PROPS,
 
   /* Property Overrides */
@@ -75,7 +75,7 @@ _ide_source_view_generate_css (GtkSourceView              *view,
                                const PangoFontDescription *font_desc,
                                int                         font_scale,
                                double                      line_height,
-                               bool                        rounded_find_bubbles)
+                               gboolean                    enable_search_bubbles)
 {
   g_autofree char *font_css = NULL;
   PangoFontDescription *scaled = NULL;
@@ -93,7 +93,7 @@ _ide_source_view_generate_css (GtkSourceView              *view,
 
   /* Get information for search bubbles */
   buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
-  if (rounded_find_bubbles &&
+  if (enable_search_bubbles &&
       (scheme = gtk_source_buffer_get_style_scheme (GTK_SOURCE_BUFFER (buffer))) &&
       (style = gtk_source_style_scheme_get_style (scheme, "search-match")))
     {
@@ -171,7 +171,7 @@ ide_source_view_update_css (IdeSourceView *self)
   g_assert (IDE_IS_SOURCE_VIEW (self));
 
   if ((css = _ide_source_view_generate_css (GTK_SOURCE_VIEW (self), self->font_desc, self->font_scale,
-                                            self->line_height, self->rounded_find_bubbles)))
+                                            self->line_height, self->enable_search_bubbles)))
     gtk_css_provider_load_from_data (self->css_provider, css, -1);
 }
 
@@ -660,11 +660,6 @@ ide_source_view_connect_buffer (IdeSourceView *self,
                            G_CALLBACK (ide_source_view_update_css),
                            self,
                            G_CONNECT_SWAPPED);
-  g_signal_connect_object (self,
-                           "notify::rounded-find-bubbles",
-                           G_CALLBACK (ide_source_view_update_css),
-                           self,
-                           G_CONNECT_SWAPPED);
 
   /* Insert matching braces features */
   g_signal_connect_object (buffer,
@@ -1273,8 +1268,8 @@ ide_source_view_get_property (GObject    *object,
       g_value_set_double (value, ide_source_view_get_zoom_level (self));
       break;
 
-    case PROP_ROUNDED_FIND_BUBBLES:
-      g_value_set_boolean (value, ide_source_view_get_rounded_find_bubbles (self));
+    case PROP_ENABLE_SEARCH_BUBBLES:
+      g_value_set_boolean (value, ide_source_view_get_enable_search_bubbles (self));
       break;
 
     default:
@@ -1318,8 +1313,8 @@ ide_source_view_set_property (GObject      *object,
       ide_source_view_set_overwrite_braces (self, g_value_get_boolean (value));
       break;
 
-    case PROP_ROUNDED_FIND_BUBBLES:
-      ide_source_view_set_rounded_find_bubbles (self, g_value_get_boolean (value));
+    case PROP_ENABLE_SEARCH_BUBBLES:
+      ide_source_view_set_enable_search_bubbles (self, g_value_get_boolean (value));
       break;
 
     default:
@@ -1392,10 +1387,8 @@ ide_source_view_class_init (IdeSourceViewClass *klass)
                          -G_MAXDOUBLE, G_MAXDOUBLE, 1.0,
                          (G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS));
 
-  properties [PROP_ROUNDED_FIND_BUBBLES] =
-    g_param_spec_boolean ("rounded-find-bubbles",
-                          "Rounded Find Bubbles",
-                          "Display find bubbles rounded",
+  properties [PROP_ENABLE_SEARCH_BUBBLES] =
+    g_param_spec_boolean ("enable-search-bubbles", NULL, NULL,
                           TRUE,
                           (G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS));
 
@@ -1446,6 +1439,8 @@ ide_source_view_init (IdeSourceView *self)
   GtkEventController *scroll;
   GtkEventController *key;
 
+  self->enable_search_bubbles = TRUE;
+
   self->controllers = g_array_new (FALSE, FALSE, sizeof (Controller));
   g_array_set_clear_func (self->controllers, controller_clear);
 
@@ -1913,26 +1908,40 @@ ide_source_view_set_overwrite_braces (IdeSourceView *self,
     }
 }
 
+/**
+ * ide_source_view_get_enable_search_bubbles:
+ * @self: a #IdeSourceView
+ *
+ * Since: 44
+ */
 gboolean
-ide_source_view_get_rounded_find_bubbles (IdeSourceView *self)
+ide_source_view_get_enable_search_bubbles (IdeSourceView *self)
 {
   g_return_val_if_fail (IDE_IS_SOURCE_VIEW (self), FALSE);
 
-  return self->rounded_find_bubbles;
+  return self->enable_search_bubbles;
 }
 
+/**
+ * ide_source_view_set_enable_search_bubbles:
+ * @self: a #IdeSourceView
+ * @enable_search_bubbles: if search bubbles should be drawn
+ *
+ * Since: 44
+ */
 void
-ide_source_view_set_rounded_find_bubbles (IdeSourceView *self,
-                                          gboolean       rounded_find_bubbles)
+ide_source_view_set_enable_search_bubbles (IdeSourceView *self,
+                                           gboolean       enable_search_bubbles)
 {
   g_return_if_fail (IDE_IS_SOURCE_VIEW (self));
 
-  rounded_find_bubbles = !!rounded_find_bubbles;
+  enable_search_bubbles = !!enable_search_bubbles;
 
-  if (rounded_find_bubbles != self->rounded_find_bubbles)
+  if (enable_search_bubbles != self->enable_search_bubbles)
     {
-      self->rounded_find_bubbles = rounded_find_bubbles;
-      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_ROUNDED_FIND_BUBBLES]);
+      self->enable_search_bubbles = enable_search_bubbles;
+      g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_ENABLE_SEARCH_BUBBLES]);
+      ide_source_view_update_css (self);
     }
 }
 
diff --git a/src/libide/sourceview/ide-source-view.h b/src/libide/sourceview/ide-source-view.h
index 22a0d1048..125781f85 100644
--- a/src/libide/sourceview/ide-source-view.h
+++ b/src/libide/sourceview/ide-source-view.h
@@ -96,10 +96,10 @@ IDE_AVAILABLE_IN_ALL
 void                        ide_source_view_set_overwrite_braces        (IdeSourceView              *self,
                                                                          gboolean                    
overwrite_braces);
 
-IDE_AVAILABLE_IN_ALL
-gboolean                    ide_source_view_get_rounded_find_bubbles    (IdeSourceView              *self);
-IDE_AVAILABLE_IN_ALL
-void                        ide_source_view_set_rounded_find_bubbles    (IdeSourceView              *self,
-                                                                         gboolean                    
rounded_find_bubbles);
+IDE_AVAILABLE_IN_44
+gboolean                    ide_source_view_get_enable_search_bubbles   (IdeSourceView              *self);
+IDE_AVAILABLE_IN_44
+void                        ide_source_view_set_enable_search_bubbles   (IdeSourceView              *self,
+                                                                         gboolean                    
enable_search_bubbles);
 
 G_END_DECLS
diff --git a/src/plugins/editorui/gbp-editorui-preview.c b/src/plugins/editorui/gbp-editorui-preview.c
index ea0b368e4..bcb88bc3a 100644
--- a/src/plugins/editorui/gbp-editorui-preview.c
+++ b/src/plugins/editorui/gbp-editorui-preview.c
@@ -131,14 +131,14 @@ gbp_editorui_preview_settings_changed_cb (GbpEditoruiPreview *self,
       g_autofree char *font_name = NULL;
       PangoFontDescription *font_desc;
       double line_height;
-      bool rounded_find_bubbles;
+      gboolean enable_search_bubbles;
 
       line_height = g_settings_get_double (settings, "line-height");
       font_name = g_settings_get_string (settings, "font-name");
       font_desc = pango_font_description_from_string (font_name);
-      rounded_find_bubbles = g_settings_get_boolean (settings, "rounded-find-bubbles");
+      enable_search_bubbles = g_settings_get_boolean (settings, "enable-search-bubbles");
 
-      if ((css = _ide_source_view_generate_css (GTK_SOURCE_VIEW (self), font_desc, 1, line_height, 
rounded_find_bubbles)))
+      if ((css = _ide_source_view_generate_css (GTK_SOURCE_VIEW (self), font_desc, 1, line_height, 
enable_search_bubbles)))
         gtk_css_provider_load_from_data (self->css_provider, css, -1);
 
       g_clear_pointer (&font_desc, pango_font_description_free);
diff --git a/src/plugins/editorui/tweaks.ui b/src/plugins/editorui/tweaks.ui
index ed466d6ac..7377406f1 100644
--- a/src/plugins/editorui/tweaks.ui
+++ b/src/plugins/editorui/tweaks.ui
@@ -353,13 +353,13 @@
                       <object class="IdeTweaksGroup">
                         <property name="title" translatable="yes">Misc</property>
                         <child>
-                          <object class="IdeTweaksSwitch" id="editor_rounded_find_bubbles">
-                            <property name="title" translatable="yes">Rounded Find Bubbles</property>
-                            <property name="subtitle" translatable="yes">Display text search matched with 
rounded corners</property>
+                          <object class="IdeTweaksSwitch" id="editor_enable_search_bubbles">
+                            <property name="title" translatable="yes">Search Shadows</property>
+                            <property name="subtitle" translatable="yes">Display search results with 
additional styling to stand out</property>
                             <property name="binding">
                               <object class="IdeTweaksSetting">
                                 <property name="schema-id">org.gnome.builder.editor</property>
-                                <property name="schema-key">rounded-find-bubbles</property>
+                                <property name="schema-key">enable-search-bubbles</property>
                               </object>
                             </property>
                           </object>


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