talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 4201f40766d40d107b2bb1ee66d15c78831aa045
parent cfdfdcda283590d16dfa5577b1b2aab0614c4e88
Author: Colin Leroy <colin@colino.net>
Date:   Sat, 10 Jul 2010 06:42:44 +0000

2010-07-10 [colin]	3.7.6cvs16

	* src/mainwindow.c
	* src/gtk/quicksearch.c
		Clean fix for bug #2224: don't mess with GTK settings when
		handling the layout ourselves is enough

Diffstat:
MChangeLog | 7+++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/gtk/quicksearch.c | 48+++++++++++++++++++++++++++++++++++-------------
Msrc/mainwindow.c | 21---------------------
5 files changed, 44 insertions(+), 35 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,10 @@ +2010-07-10 [colin] 3.7.6cvs16 + + * src/mainwindow.c + * src/gtk/quicksearch.c + Clean fix for bug #2224: don't mess with GTK settings when + handling the layout ourselves is enough + 2010-07-09 [iwkse] 3.7.6cvs15 * src/mainwindow.h diff --git a/PATCHSETS b/PATCHSETS @@ -4011,3 +4011,4 @@ ( cvs diff -u -r 1.2.2.40 -r 1.2.2.41 src/gtk/filesel.c; ) > 3.7.6cvs13.patchset ( cvs diff -u -r 1.274.2.310 -r 1.274.2.311 src/mainwindow.c; ) > 3.7.6cvs14.patchset ( cvs diff -u -r 1.39.2.57 -r 1.39.2.58 src/mainwindow.h; cvs diff -u -r 1.274.2.311 -r 1.274.2.312 src/mainwindow.c; ) > 3.7.6cvs15.patchset +( cvs diff -u -r 1.274.2.312 -r 1.274.2.313 src/mainwindow.c; cvs diff -u -r 1.1.2.93 -r 1.1.2.94 src/gtk/quicksearch.c; ) > 3.7.6cvs16.patchset diff --git a/configure.ac b/configure.ac @@ -12,7 +12,7 @@ MINOR_VERSION=7 MICRO_VERSION=6 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=15 +EXTRA_VERSION=16 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/gtk/quicksearch.c b/src/gtk/quicksearch.c @@ -573,6 +573,31 @@ static gboolean search_condition_expr(GtkMenuItem *widget, gpointer data) return TRUE; }; +static void quicksearch_set_button(GtkButton *button, const gchar *icon, const gchar *text) +{ + GList *children = gtk_container_get_children(GTK_CONTAINER(button)); + GList *cur; + GtkWidget *box; + gboolean icon_visible; + + g_object_get(gtk_settings_get_default(), + "gtk-button-images", &icon_visible, + NULL); + + for (cur = children; cur; cur = cur->next) + gtk_container_remove(GTK_CONTAINER(button), GTK_WIDGET(cur->data)); + + g_list_free(children); + box = gtk_hbox_new(FALSE, 0); + + gtk_container_add(GTK_CONTAINER(button), box); + if (icon_visible || !text || !*text) + gtk_box_pack_start(GTK_BOX(box), gtk_image_new_from_stock(icon, + GTK_ICON_SIZE_BUTTON), FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(box), gtk_label_new_with_mnemonic(text), FALSE, FALSE, 0); + gtk_widget_show_all(box); +} + QuickSearch *quicksearch_new() { QuickSearch *quicksearch; @@ -757,6 +782,10 @@ QuickSearch *quicksearch_new() quicksearch->press_timeout_id = -1; quicksearch->normal_search_strings = NULL; quicksearch->extended_search_strings = NULL; + + quicksearch_set_button(GTK_BUTTON(quicksearch->search_description), GTK_STOCK_INFO, _("_Information")); + quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, _("_Edit")); + quicksearch_set_button(GTK_BUTTON(quicksearch->clear_search), GTK_STOCK_CLEAR, _("_Clear")); update_extended_buttons(quicksearch); @@ -769,21 +798,14 @@ void quicksearch_relayout(QuickSearch *quicksearch) case NORMAL_LAYOUT: case WIDE_LAYOUT: case WIDE_MSGLIST_LAYOUT: - gtk_button_set_label(GTK_BUTTON(quicksearch->search_description), GTK_STOCK_INFO); - gtk_button_set_label(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT); - gtk_button_set_label(GTK_BUTTON(quicksearch->clear_search), GTK_STOCK_CLEAR); + quicksearch_set_button(GTK_BUTTON(quicksearch->search_description), GTK_STOCK_INFO, _("_Information")); + quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, _("_Edit")); + quicksearch_set_button(GTK_BUTTON(quicksearch->clear_search), GTK_STOCK_CLEAR, _("_Clear")); break; case VERTICAL_LAYOUT: - gtk_button_set_label(GTK_BUTTON(quicksearch->search_description), ""); - gtk_button_set_label(GTK_BUTTON(quicksearch->search_condition_expression), ""); - gtk_button_set_label(GTK_BUTTON(quicksearch->clear_search), ""); - - gtk_button_set_image(GTK_BUTTON(quicksearch->search_description), - gtk_image_new_from_stock(GTK_STOCK_INFO, GTK_ICON_SIZE_BUTTON)); - gtk_button_set_image(GTK_BUTTON(quicksearch->search_condition_expression), - gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_BUTTON)); - gtk_button_set_image(GTK_BUTTON(quicksearch->clear_search), - gtk_image_new_from_stock(GTK_STOCK_CLEAR, GTK_ICON_SIZE_BUTTON)); + quicksearch_set_button(GTK_BUTTON(quicksearch->search_description), GTK_STOCK_INFO, ""); + quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, ""); + quicksearch_set_button(GTK_BUTTON(quicksearch->clear_search), GTK_STOCK_CLEAR, ""); break; } } diff --git a/src/mainwindow.c b/src/mainwindow.c @@ -1540,10 +1540,6 @@ MainWindow *main_window_create() debug_print("Creating main window...\n"); mainwin = g_new0(MainWindow, 1); - g_object_get(gtk_settings_get_default(), - "gtk-button-images", &mainwin->button_images, - NULL); - /* main window */ window = GTK_WIDGET(gtkut_window_new(GTK_WINDOW_TOPLEVEL, "mainwindow")); gtk_window_set_title(GTK_WINDOW(window), PROG_VERSION); @@ -3661,23 +3657,6 @@ static void main_window_set_widgets(MainWindow *mainwin, LayoutType layout_mode) cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/ShowHide/MessageView", (layout_mode != WIDE_MSGLIST_LAYOUT && layout_mode != SMALL_LAYOUT)); - if (!mainwin->button_images) { - gboolean button_images = FALSE; - g_object_get(gtk_settings_get_default(), - "gtk-button-images", &button_images, - NULL); - if ((layout_mode == VERTICAL_LAYOUT || layout_mode == SMALL_LAYOUT) && - !button_images) { - button_images = TRUE; - g_object_set(gtk_settings_get_default(), "gtk-button-images", - TRUE, NULL); - } - else if(button_images) { - button_images = FALSE; - g_object_set(gtk_settings_get_default(), "gtk-button-images", - FALSE, NULL); - } - } switch (layout_mode) { case VERTICAL_LAYOUT: case NORMAL_LAYOUT: