[gthumb] Use GtkComboBox instead of GtkOptionMenu for prefs, bug 575017



commit 6602be227d9896ab98d4c26776112e6fbd84abbe
Author: Lincoln de Sousa <lincoln alfaiati net>
Date:   Thu May 28 12:34:02 2009 -0400

    Use GtkComboBox instead of GtkOptionMenu for prefs, bug 575017
---
 data/glade/gthumb_preferences.glade |  306 +++++------------------------------
 src/dlg-preferences.c               |   30 ++--
 2 files changed, 54 insertions(+), 282 deletions(-)

diff --git a/data/glade/gthumb_preferences.glade b/data/glade/gthumb_preferences.glade
index be85930..b729e1d 100644
--- a/data/glade/gthumb_preferences.glade
+++ b/data/glade/gthumb_preferences.glade
@@ -337,61 +337,14 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkOptionMenu" id="toolbar_style_optionmenu">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="history">0</property>
-
-				  <child>
-				    <widget class="GtkMenu" id="menu1">
-
-				      <child>
-					<widget class="GtkMenuItem" id="system_settings1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">System settings</property>
-					  <property name="use_underline">True</property>
-					  <signal name="activate" handler="on_system_settings1_activate" last_modification_time="Tue, 18 Jun 2002 16:27:25 GMT"/>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="text_below_icons1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Text below icons</property>
-					  <property name="use_underline">True</property>
-					  <signal name="activate" handler="on_text_below_icons1_activate" last_modification_time="Tue, 18 Jun 2002 16:28:56 GMT"/>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="priority_text_beside_icons1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Text beside icons</property>
-					  <property name="use_underline">True</property>
-					  <signal name="activate" handler="on_priority_text_beside_icons1_activate" last_modification_time="Tue, 18 Jun 2002 16:28:56 GMT"/>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="icons_only1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Icons only</property>
-					  <property name="use_underline">True</property>
-					  <signal name="activate" handler="on_icons_only1_activate" last_modification_time="Tue, 18 Jun 2002 16:28:56 GMT"/>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="text_only1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Text only</property>
-					  <property name="use_underline">True</property>
-					  <signal name="activate" handler="on_text_only1_activate" last_modification_time="Tue, 18 Jun 2002 16:28:56 GMT"/>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
+                                <widget class="GtkComboBox" id="toolbar_style_optionmenu">
+                                    <property name="visible">True</property>
+                                    <property name="items" translatable="yes">System settings
+Text below icons
+Text beside icons
+Icons only
+Text only</property>
+                                </widget>
 				<packing>
 				  <property name="padding">0</property>
 				  <property name="expand">False</property>
@@ -1179,43 +1132,12 @@
 				  <property name="spacing">0</property>
 
 				  <child>
-				    <widget class="GtkOptionMenu" id="opt_click_policy">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="history">0</property>
-
-				      <child>
-					<widget class="GtkMenu" id="menu2">
-
-					  <child>
-					    <widget class="GtkMenuItem" id="follow_nautilus_behaviour1">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">Follow Nautilus behaviour</property>
-					      <property name="use_underline">True</property>
-					      <signal name="activate" handler="on_follow_nautilus_behaviour1_activate" last_modification_time="Fri, 30 Aug 2002 09:14:04 GMT"/>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="activate_items_with_a_single_click1">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">Activate items with a single click</property>
-					      <property name="use_underline">True</property>
-					      <signal name="activate" handler="on_activate_items_with_a_single_click1_activate" last_modification_time="Fri, 30 Aug 2002 09:14:04 GMT"/>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="activate_items_with_a_double_click1">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">Activate items with a double click</property>
-					      <property name="use_underline">True</property>
-					      <signal name="activate" handler="on_activate_items_with_a_double_click1_activate" last_modification_time="Fri, 30 Aug 2002 09:14:05 GMT"/>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
+                                    <widget class="GtkComboBox" id="opt_click_policy">
+                                      <property name="visible">True</property>
+                                      <property name="items" translatable="yes">Follow Nautilus behaviour
+Activate items with a single click
+Activate items with a double click</property>
+                                    </widget>
 				    <packing>
 				      <property name="padding">0</property>
 				      <property name="expand">False</property>
@@ -1240,89 +1162,18 @@
 				  <property name="spacing">0</property>
 
 				  <child>
-				    <widget class="GtkOptionMenu" id="opt_thumbs_size">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="history">0</property>
-
-				      <child internal-child="menu">
-					<widget class="GtkMenu" id="convertwidget4">
-					  <property name="visible">True</property>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget5">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">48 x 48</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget6">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">64 x 64</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget7">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">85 x 85</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget8">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">95 x 95</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget9">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">112 x 112</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget10">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">128 x 128</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget11">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">164 x 164</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget12">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">200 x 200</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-
-					  <child>
-					    <widget class="GtkMenuItem" id="convertwidget13">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">256 x 256</property>
-					      <property name="use_underline">True</property>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
+                                    <widget class="GtkComboBox" id="opt_thumbs_size">
+                                      <property name="visible">True</property>
+                                      <property name="items" translatable="yes">48 x 48
+64 x 64
+85 x 85
+95 x 95
+112 x 112
+128 x 128
+164 x 164
+200 x 200
+256 x 256</property>
+                                    </widget>
 				    <packing>
 				      <property name="padding">0</property>
 				      <property name="expand">False</property>
@@ -1576,56 +1427,13 @@
 			      <property name="spacing">0</property>
 
 			      <child>
-				<widget class="GtkOptionMenu" id="opt_zoom_change">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="history">0</property>
-
-				  <child internal-child="menu">
-				    <widget class="GtkMenu" id="convertwidget17">
-				      <property name="visible">True</property>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget20">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Keep previous zoom</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="fit_to_window1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Fit to window</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget21">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Fit to window if larger</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget18">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Set image to actual size</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="fit_to_width_if_larger1">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Fit to width if larger</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
+                                <widget class="GtkComboBox" id="opt_zoom_change">
+                                  <property name="visible">True</property>
+                                  <property name="items" translatable="yes">Keep previous zoom
+Fit to window
+Fit to window if larger
+Set image to actual size
+Fit to width if larger</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -1651,48 +1459,12 @@
 			      <property name="spacing">0</property>
 
 			      <child>
-				<widget class="GtkOptionMenu" id="opt_transparency">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="history">0</property>
-
-				  <child internal-child="menu">
-				    <widget class="GtkMenu" id="convertwidget22">
-				      <property name="visible">True</property>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget23">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">White</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget24">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">None</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget25">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Black</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkMenuItem" id="convertwidget26">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Checked</property>
-					  <property name="use_underline">True</property>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
+                                <widget class="GtkComboBox" id="opt_transparency">
+                                  <property name="visible">True</property>
+                                  <property name="items" translatable="yes">White
+None
+Black
+Checked</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
diff --git a/src/dlg-preferences.c b/src/dlg-preferences.c
index 343c61d..33d9bdd 100644
--- a/src/dlg-preferences.c
+++ b/src/dlg-preferences.c
@@ -240,10 +240,10 @@ layout_toggled_cb (GtkWidget *widget,
 }
 
 static void
-toolbar_style_changed_cb (GtkOptionMenu *option_menu,
+toolbar_style_changed_cb (GtkComboBox   *option_menu,
 			  DialogData    *data)
 {
-	pref_set_toolbar_style (gtk_option_menu_get_history (GTK_OPTION_MENU (data->toolbar_style_optionmenu)));
+	pref_set_toolbar_style (gtk_combo_box_get_active (GTK_COMBO_BOX (data->toolbar_style_optionmenu)));
 }
 
 
@@ -280,21 +280,21 @@ show_comments_toggled_cb (GtkToggleButton *button,
 
 
 static void
-thumbs_size_changed_cb (GtkOptionMenu *option_menu,
+thumbs_size_changed_cb (GtkComboBox   *option_menu,
 			DialogData    *data)
 {
 	int i;
 
-	i = gtk_option_menu_get_history (GTK_OPTION_MENU (data->opt_thumbs_size));
+	i = gtk_combo_box_get_active (GTK_COMBO_BOX (data->opt_thumbs_size));
 	eel_gconf_set_integer (PREF_THUMBNAIL_SIZE, thumb_size[i]);
 }
 
 
 static void
-click_policy_changed_cb (GtkOptionMenu *option_menu,
+click_policy_changed_cb (GtkComboBox   *option_menu,
 			 DialogData    *data)
 {
-	pref_set_click_policy (gtk_option_menu_get_history (GTK_OPTION_MENU (data->opt_click_policy)));
+	pref_set_click_policy (gtk_combo_box_get_active (GTK_COMBO_BOX (data->opt_click_policy)));
 }
 
 
@@ -352,10 +352,10 @@ zoom_quality_low_cb (GtkToggleButton *button,
 
 
 static void
-zoom_change_changed_cb (GtkOptionMenu *option_menu,
+zoom_change_changed_cb (GtkComboBox   *option_menu,
 			DialogData    *data)
 {
-	int idx = gtk_option_menu_get_history (GTK_OPTION_MENU (data->opt_zoom_change));
+	int idx = gtk_combo_box_get_active (GTK_COMBO_BOX (data->opt_zoom_change));
 	pref_set_zoom_change (zoom_change[idx]);
 }
 
@@ -369,10 +369,10 @@ reset_scrollbars_toggled_cb (GtkToggleButton *button,
 
 
 static void
-transp_type_changed_cb (GtkOptionMenu *option_menu,
+transp_type_changed_cb (GtkComboBox   *option_menu,
 			DialogData    *data)
 {
-	pref_set_transp_type(gtk_option_menu_get_history (GTK_OPTION_MENU (data->opt_transparency)));
+	pref_set_transp_type(gtk_combo_box_get_active (GTK_COMBO_BOX (data->opt_transparency)));
 }
 
 
@@ -480,7 +480,7 @@ dlg_preferences (GthBrowser *browser)
 			   _gtk_image_new_from_xpm_data (layout3_xpm));
 	gtk_container_add (GTK_CONTAINER (data->radio_layout4),
 			   _gtk_image_new_from_xpm_data (layout4_xpm));
-	gtk_option_menu_set_history (GTK_OPTION_MENU (data->toolbar_style_optionmenu), pref_get_toolbar_style ());
+	gtk_combo_box_set_active (GTK_COMBO_BOX (data->toolbar_style_optionmenu), pref_get_toolbar_style ());
 
 	/* ** layout */
 
@@ -503,8 +503,8 @@ dlg_preferences (GthBrowser *browser)
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_comments), eel_gconf_get_boolean (PREF_SHOW_COMMENTS, TRUE));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_thumbs), eel_gconf_get_boolean (PREF_SHOW_THUMBNAILS, TRUE));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_tags), eel_gconf_get_boolean (PREF_SHOW_TAGS, TRUE));
-	gtk_option_menu_set_history (GTK_OPTION_MENU (data->opt_thumbs_size), get_idx_from_size (eel_gconf_get_integer (PREF_THUMBNAIL_SIZE, 95)));
-	gtk_option_menu_set_history (GTK_OPTION_MENU (data->opt_click_policy), pref_get_click_policy ());
+	gtk_combo_box_set_active (GTK_COMBO_BOX (data->opt_thumbs_size), get_idx_from_size (eel_gconf_get_integer (PREF_THUMBNAIL_SIZE, 95)));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (data->opt_click_policy), pref_get_click_policy ());
 
 	/* * viewer */
 
@@ -513,8 +513,8 @@ dlg_preferences (GthBrowser *browser)
 	else
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->opt_zoom_quality_low), TRUE);
 
-	gtk_option_menu_set_history (GTK_OPTION_MENU (data->opt_zoom_change), get_idx_from_zoom_change (pref_get_zoom_change ()));
-	gtk_option_menu_set_history (GTK_OPTION_MENU (data->opt_transparency), image_viewer_get_transp_type (gth_window_get_image_viewer (GTH_WINDOW (browser))));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (data->opt_zoom_change), get_idx_from_zoom_change (pref_get_zoom_change ()));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (data->opt_transparency), image_viewer_get_transp_type (gth_window_get_image_viewer (GTH_WINDOW (browser))));
 
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_reset_scrollbars), eel_gconf_get_boolean (PREF_RESET_SCROLLBARS, TRUE));
 



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