[Xfce4-commits] [xfce/xfce4-appfinder] 01/01: Add hide category preference (Bug #14893)

noreply at xfce.org noreply at xfce.org
Sat Nov 24 19:16:46 CET 2018


This is an automated email from the git hooks/post-receive script.

a   n   d   r   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfce4-appfinder.

commit 2728277483802dd00ce27667006d284df42d32d5
Author: Andre Miranda <andreldm at xfce.org>
Date:   Sat Nov 24 15:16:17 2018 -0300

    Add hide category preference (Bug #14893)
---
 src/appfinder-preferences.c     | 28 ++++++++++++++++++++++++----
 src/appfinder-preferences.glade | 28 ++++++++++++++++++++++++----
 src/appfinder-window.c          | 14 ++++++++++++++
 3 files changed, 62 insertions(+), 8 deletions(-)

diff --git a/src/appfinder-preferences.c b/src/appfinder-preferences.c
index 2ccdf65..5da8202 100644
--- a/src/appfinder-preferences.c
+++ b/src/appfinder-preferences.c
@@ -43,6 +43,8 @@ static void xfce_appfinder_preferences_beside_sensitive        (GtkWidget
                                                                 GtkWidget                *text_beside_icon);
 static void xfce_appfinder_preferences_single_window_sensitive (GtkWidget                *keep_running,
                                                                 GtkWidget                *single_window);
+static void xfce_appfinder_preferences_hide_category_sensitive (GtkWidget                *hide_category,
+                                                                GtkWidget                *category_icon_size);
 static void xfce_appfinder_preferences_clear_history           (XfceAppfinderPreferences *preferences);
 static void xfce_appfinder_preferences_action_add              (XfceAppfinderPreferences *preferences);
 static void xfce_appfinder_preferences_action_remove           (GtkWidget                *button,
@@ -120,10 +122,10 @@ xfce_appfinder_preferences_init (XfceAppfinderPreferences *preferences)
   xfconf_g_property_bind (preferences->channel, "/always-center", G_TYPE_BOOLEAN,
                           G_OBJECT (object), "active");
 
-                          previous = gtk_builder_get_object (GTK_BUILDER (preferences), "enable-service");
+  previous = gtk_builder_get_object (GTK_BUILDER (preferences), "enable-service");
   xfconf_g_property_bind (preferences->channel, "/enable-service", G_TYPE_BOOLEAN,
                           G_OBJECT (previous), "active");
-                          
+
   object = gtk_builder_get_object (GTK_BUILDER (preferences), "single-window");
   xfconf_g_property_bind (preferences->channel, "/single-window", G_TYPE_BOOLEAN,
                           G_OBJECT (object), "active");
@@ -149,11 +151,19 @@ xfce_appfinder_preferences_init (XfceAppfinderPreferences *preferences)
   xfconf_g_property_bind (preferences->channel, "/item-icon-size", G_TYPE_UINT,
                           G_OBJECT (object), "active");
 
-  object = gtk_builder_get_object (GTK_BUILDER (preferences), "category-icon-size");
-  gtk_combo_box_set_active (GTK_COMBO_BOX (object), XFCE_APPFINDER_ICON_SIZE_DEFAULT_CATEGORY);
+  previous = gtk_builder_get_object (GTK_BUILDER (preferences), "category-icon-size");
+  gtk_combo_box_set_active (GTK_COMBO_BOX (previous), XFCE_APPFINDER_ICON_SIZE_DEFAULT_CATEGORY);
   xfconf_g_property_bind (preferences->channel, "/category-icon-size", G_TYPE_UINT,
+                          G_OBJECT (previous), "active");
+
+  object = gtk_builder_get_object (GTK_BUILDER (preferences), "hide-category-pane");
+  xfconf_g_property_bind (preferences->channel, "/hide-category-pane", G_TYPE_BOOLEAN,
                           G_OBJECT (object), "active");
 
+  g_signal_connect (G_OBJECT (object), "toggled",
+      G_CALLBACK (xfce_appfinder_preferences_hide_category_sensitive), previous);
+  xfce_appfinder_preferences_hide_category_sensitive (GTK_WIDGET (object), GTK_WIDGET (previous));
+
   object = gtk_builder_get_object (GTK_BUILDER (preferences), "button-clear");
   g_signal_connect_swapped (G_OBJECT (object), "clicked",
       G_CALLBACK (xfce_appfinder_preferences_clear_history), preferences);
@@ -229,6 +239,16 @@ xfce_appfinder_preferences_single_window_sensitive (GtkWidget *keep_running,
 
 
 static void
+xfce_appfinder_preferences_hide_category_sensitive (GtkWidget *hide_category,
+                                                    GtkWidget *category_icon_size)
+{
+  gboolean hide = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (hide_category));
+  gtk_widget_set_sensitive (category_icon_size, !hide);
+}
+
+
+
+static void
 xfce_appfinder_preferences_clear_history (XfceAppfinderPreferences *preferences)
 {
   XfceAppfinderModel *model;
diff --git a/src/appfinder-preferences.glade b/src/appfinder-preferences.glade
index 409718b..dc8f7e3 100644
--- a/src/appfinder-preferences.glade
+++ b/src/appfinder-preferences.glade
@@ -301,6 +301,26 @@
                               </packing>
                             </child>
                             <child>
+                              <object class="GtkCheckButton" id="hide-category-pane">
+                                <property name="label" translatable="yes">Hide category pane</property>
+                                <property name="use_action_appearance">False</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Hide category panel and show all applications.</property>
+                                <property name="use_underline">True</property>
+                                <property name="active">False</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                            <child>
                               <object class="GtkLabel" id="label10">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
@@ -310,8 +330,8 @@
                                 <property name="xalign">0</property>
                               </object>
                               <packing>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"/>
                               </packing>
@@ -351,8 +371,8 @@
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="y_options"/>
                               </packing>
                             </child>
diff --git a/src/appfinder-window.c b/src/appfinder-window.c
index b86903b..211aa4f 100644
--- a/src/appfinder-window.c
+++ b/src/appfinder-window.c
@@ -301,6 +301,9 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
   gtk_widget_show (scroll);
 
+  if (xfconf_channel_get_bool (window->channel, "/hide-category-pane", FALSE))
+    gtk_widget_set_visible (scroll, FALSE);
+
   sidepane = window->sidepane = gtk_tree_view_new_with_model (GTK_TREE_MODEL (window->category_model));
   gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (sidepane), FALSE);
   gtk_tree_view_set_enable_search (GTK_TREE_VIEW (sidepane), FALSE);
@@ -1640,6 +1643,17 @@ xfce_appfinder_window_property_changed (XfconfChannel       *channel,
       if (GTK_IS_ICON_VIEW (window->view))
         xfce_appfinder_window_set_item_width (window);
     }
+  else if (g_strcmp0 (prop, "/hide-category-pane") == 0)
+    {
+      gboolean hide = g_value_get_boolean (value);
+      gtk_widget_set_visible (gtk_widget_get_parent (window->sidepane), !hide);
+
+      if (hide) {
+        GtkTreePath *path = gtk_tree_path_new_from_string ("0");
+        gtk_tree_view_set_cursor (GTK_TREE_VIEW (window->sidepane), path, NULL, FALSE);
+        gtk_tree_path_free (path);
+      }
+    }
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list