[gedit] preferences dialog: use an inline toolbar for add/remove schemes



commit 1cd5999d81b9b2a77c284fe1d5a83614c7c03fd2
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Fri Jan 13 19:49:44 2012 +0100

    preferences dialog: use an inline toolbar for add/remove schemes

 gedit/dialogs/gedit-preferences-dialog.c  |   15 +++++++++-
 gedit/dialogs/gedit-preferences-dialog.ui |   43 +++++++++++++---------------
 2 files changed, 33 insertions(+), 25 deletions(-)
---
diff --git a/gedit/dialogs/gedit-preferences-dialog.c b/gedit/dialogs/gedit-preferences-dialog.c
index 14651d7..d58b41a 100644
--- a/gedit/dialogs/gedit-preferences-dialog.c
+++ b/gedit/dialogs/gedit-preferences-dialog.c
@@ -89,7 +89,9 @@ struct _GeditPreferencesDialogPrivate
 	GtkWidget	*schemes_treeview;
 	GtkWidget	*install_scheme_button;
 	GtkWidget	*uninstall_scheme_button;
-	
+	GtkWidget	*schemes_scrolled_window;
+	GtkWidget	*schemes_toolbar;
+
 	GtkWidget	*install_scheme_file_schooser;
 
 	/* Tabs */
@@ -831,6 +833,7 @@ setup_font_colors_page_style_scheme_section (GeditPreferencesDialog *dlg)
 	GtkCellRenderer *renderer;
 	GtkTreeViewColumn *column;
 	GtkTreeSelection *selection;
+	GtkStyleContext *context;
 	const gchar *def_id;
 	
 	gedit_debug (DEBUG_PREFS);
@@ -866,7 +869,13 @@ setup_font_colors_page_style_scheme_section (GeditPreferencesDialog *dlg)
 	gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
 
 	def_id = populate_color_scheme_list (dlg, NULL);
-	
+
+	/* junction between the scrolled window and the toolbar */
+	context = gtk_widget_get_style_context (dlg->priv->schemes_scrolled_window);
+	gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
+	context = gtk_widget_get_style_context (dlg->priv->schemes_toolbar);
+	gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
+
 	/* Connect signals */
 	g_signal_connect (dlg->priv->schemes_treeview,
 			  "cursor-changed",
@@ -986,8 +995,10 @@ gedit_preferences_dialog_init (GeditPreferencesDialog *dlg)
 		"font_hbox", &dlg->priv->font_hbox,
 
 		"schemes_treeview", &dlg->priv->schemes_treeview,
+		"schemes-scrolled-window", &dlg->priv->schemes_scrolled_window,
 		"install_scheme_button", &dlg->priv->install_scheme_button,
 		"uninstall_scheme_button", &dlg->priv->uninstall_scheme_button,
+		"schemes-toolbar", &dlg->priv->schemes_toolbar,
 
 		"plugin_manager_place_holder", &dlg->priv->plugin_manager_place_holder,
 		NULL);
diff --git a/gedit/dialogs/gedit-preferences-dialog.ui b/gedit/dialogs/gedit-preferences-dialog.ui
index 752f0f7..127a5da 100644
--- a/gedit/dialogs/gedit-preferences-dialog.ui
+++ b/gedit/dialogs/gedit-preferences-dialog.ui
@@ -22,10 +22,6 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkImage" id="install_scheme_image">
-    <property name="can_focus">False</property>
-    <property name="stock">gtk-add</property>
-  </object>
   <object class="GtkDialog" id="preferences_dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Preferences</property>
@@ -769,9 +765,8 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
-                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkScrolledWindow" id="scrolledwindow2">
+                              <object class="GtkScrolledWindow" id="schemes-scrolled-window">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="shadow_type">etched-in</property>
@@ -796,40 +791,42 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHButtonBox" id="hbuttonbox1">
+                              <object class="GtkToolbar" id="schemes-toolbar">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">6</property>
-                                <property name="layout_style">end</property>
+                                <property name="toolbar_style">icons</property>
+                                <property name="icon_size">1</property>
+                                <style>
+                                  <class name="inline-toolbar"/>
+                                </style>
                                 <child>
-                                  <object class="GtkButton" id="install_scheme_button">
-                                    <property name="label" translatable="yes">_Add...</property>
+                                  <object class="GtkToolButton" id="install_scheme_button">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="tooltip_text" translatable="yes">Install scheme</property>
                                     <property name="use_action_appearance">False</property>
-                                    <property name="image">install_scheme_image</property>
+                                    <property name="label" translatable="yes">toolbutton1</property>
                                     <property name="use_underline">True</property>
+                                    <property name="icon_name">list-add-symbolic</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
+                                    <property name="homogeneous">True</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkButton" id="uninstall_scheme_button">
-                                    <property name="label">gtk-remove</property>
+                                  <object class="GtkToolButton" id="uninstall_scheme_button">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="tooltip_text" translatable="yes">Uninstall scheme</property>
                                     <property name="use_action_appearance">False</property>
-                                    <property name="use_stock">True</property>
+                                    <property name="label" translatable="yes">toolbutton2</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="icon_name">list-remove-symbolic</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
+                                    <property name="homogeneous">True</property>
                                   </packing>
                                 </child>
                               </object>



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