[gedit] filebrowser: hide combo on bookmark page



commit 6a2e39817043c9339b28f877e3179ba7b21aa30a
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun Oct 19 11:39:37 2014 +0200

    filebrowser: hide combo on bookmark page
    
    When we are showing bookmark, the combo has no items and does not
    behave well, just hide it and show a plain label

 plugins/filebrowser/gedit-file-browser-widget.c    |   28 +++++-----------
 .../resources/ui/gedit-file-browser-widget.ui      |   35 +++++++++++++------
 2 files changed, 33 insertions(+), 30 deletions(-)
---
diff --git a/plugins/filebrowser/gedit-file-browser-widget.c b/plugins/filebrowser/gedit-file-browser-widget.c
index 9d32bbb..6fab7e5 100644
--- a/plugins/filebrowser/gedit-file-browser-widget.c
+++ b/plugins/filebrowser/gedit-file-browser-widget.c
@@ -124,6 +124,8 @@ struct _GeditFileBrowserWidgetPrivate
 
        GtkWidget *combo;
        GtkTreeStore *combo_model;
+       GtkWidget *combo_stack;
+       GtkWidget *bookmarks_label;
 
        GtkWidget *location_entry;
 
@@ -563,6 +565,8 @@ gedit_file_browser_widget_class_init (GeditFileBrowserWidgetClass *klass)
        gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, next_button);
        gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, combo);
        gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, combo_model);
+       gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, combo_stack);
+       gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, bookmarks_label);
        gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, location_entry);
        gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, treeview);
        gtk_widget_class_bind_template_child_private (widget_class, GeditFileBrowserWidget, 
filter_entry_revealer);
@@ -675,17 +679,6 @@ insert_separator_item (GeditFileBrowserWidget *obj)
 }
 
 static void
-combo_set_active_by_id (GeditFileBrowserWidget *obj,
-                       guint                   id)
-{
-       GtkTreeIter iter;
-
-       if (combo_find_by_id (obj, id, &iter))
-               gtk_combo_box_set_active_iter (GTK_COMBO_BOX
-                                              (obj->priv->combo), &iter);
-}
-
-static void
 insert_location_path (GeditFileBrowserWidget *obj)
 {
        Location *loc;
@@ -1663,14 +1656,8 @@ gedit_file_browser_widget_new (void)
 void
 gedit_file_browser_widget_show_bookmarks (GeditFileBrowserWidget *obj)
 {
-       /* Select bookmarks in the combo box */
-       g_signal_handlers_block_by_func (obj->priv->combo,
-                                        on_combo_changed, obj);
-       combo_set_active_by_id (obj, BOOKMARKS_ID);
-       g_signal_handlers_unblock_by_func (obj->priv->combo,
-                                          on_combo_changed, obj);
-
-       check_current_item (obj, FALSE);
+       gtk_stack_set_visible_child (GTK_STACK (obj->priv->combo_stack),
+                                    obj->priv->bookmarks_label);
 
        gedit_file_browser_view_set_model (obj->priv->treeview,
                                           GTK_TREE_MODEL (obj->priv->bookmarks_store));
@@ -1680,6 +1667,9 @@ static void
 show_files_real (GeditFileBrowserWidget *obj,
                 gboolean                do_root_changed)
 {
+       gtk_stack_set_visible_child (GTK_STACK (obj->priv->combo_stack),
+                                    obj->priv->combo);
+
        gedit_file_browser_view_set_model (obj->priv->treeview,
                                           GTK_TREE_MODEL (obj->priv->file_store));
 
diff --git a/plugins/filebrowser/resources/ui/gedit-file-browser-widget.ui 
b/plugins/filebrowser/resources/ui/gedit-file-browser-widget.ui
index 9ea8352..b9f3954 100644
--- a/plugins/filebrowser/resources/ui/gedit-file-browser-widget.ui
+++ b/plugins/filebrowser/resources/ui/gedit-file-browser-widget.ui
@@ -122,23 +122,36 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
-              <object class="GtkComboBox" id="combo">
+              <object class="GtkStack" id="combo_stack">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="model">combo_model</property>
                 <child>
-                  <object class="GtkCellRendererPixbuf" id="icon_renderer"/>
-                  <attributes>
-                    <attribute name="pixbuf">0</attribute>
-                  </attributes>
+                  <object class="GtkComboBox" id="combo">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">combo_model</property>
+                    <child>
+                      <object class="GtkCellRendererPixbuf" id="icon_renderer"/>
+                      <attributes>
+                        <attribute name="pixbuf">0</attribute>
+                      </attributes>
+                    </child>
+                    <child>
+                      <object class="GtkCellRendererText" id="name_renderer">
+                        <property name="ellipsize">end</property>
+                      </object>
+                      <attributes>
+                        <attribute name="text">1</attribute>
+                      </attributes>
+                    </child>
+                  </object>
                 </child>
                 <child>
-                  <object class="GtkCellRendererText" id="name_renderer">
-                    <property name="ellipsize">end</property>
+                  <object class="GtkLabel" id="bookmarks_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Bookmarks</property>
                   </object>
-                  <attributes>
-                    <attribute name="text">1</attribute>
-                  </attributes>
                 </child>
               </object>
             </child>


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