From: Colin Leroy Date: Sat, 14 Jul 2007 09:26:03 +0000 (+0000) Subject: 2007-07-14 [colin] 2.10.0cvs21 X-Git-Tag: rel_3_0_0~175 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=c2257c34c2908f2dea9abc08cd823ea3fab32058 2007-07-14 [colin] 2.10.0cvs21 * src/toolbar.c Fix huge arrows Fix button workaround to be able to click if mouse was on button when it went un- sensitive. Revert previous commit, gtk_tool_item_set_homogeneous doesn't mean what it seems to mean ;-) --- diff --git a/ChangeLog b/ChangeLog index 37ecaedb7..e598aef51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-07-14 [colin] 2.10.0cvs21 + + * src/toolbar.c + Fix huge arrows + Fix button workaround to be able to click + if mouse was on button when it went un- + sensitive. + Revert previous commit, gtk_tool_item_set_homogeneous + doesn't mean what it seems to mean ;-) + 2007-07-14 [paul] 2.10.0cvs20 * src/toolbar.c diff --git a/PATCHSETS b/PATCHSETS index f33eab14b..d983fc50c 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2674,3 +2674,4 @@ ( cvs diff -u -r 1.2.2.20 -r 1.2.2.21 src/gtk/colorlabel.c; ) > 2.10.0cvs18.patchset ( cvs diff -u -r 1.382.2.394 -r 1.382.2.395 src/compose.c; cvs diff -u -r 1.207.2.167 -r 1.207.2.168 src/folderview.c; cvs diff -u -r 1.274.2.195 -r 1.274.2.196 src/mainwindow.c; cvs diff -u -r 1.94.2.137 -r 1.94.2.138 src/messageview.c; cvs diff -u -r 1.395.2.310 -r 1.395.2.311 src/summaryview.c; cvs diff -u -r 1.43.2.67 -r 1.43.2.68 src/toolbar.c; cvs diff -u -r 1.19.2.18 -r 1.19.2.19 src/toolbar.h; ) > 2.10.0cvs19.patchset ( cvs diff -u -r 1.43.2.68 -r 1.43.2.69 src/toolbar.c; ) > 2.10.0cvs20.patchset +( cvs diff -u -r 1.43.2.69 -r 1.43.2.70 src/toolbar.c; ) > 2.10.0cvs21.patchset diff --git a/configure.ac b/configure.ac index fe6a0d530..5404a5cf8 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=10 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=20 +EXTRA_VERSION=21 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/toolbar.c b/src/toolbar.c index 499cf89fe..fcd6c903e 100644 --- a/src/toolbar.c +++ b/src/toolbar.c @@ -1561,9 +1561,14 @@ static void toolbar_buttons_cb(GtkWidget *widget, } } +#ifndef MAEMO +#define HOMOGENEOUS TRUE +#else +#define HOMOGENEOUS FALSE +#endif #define TOOLBAR_ITEM(item,icon,text,tooltip) { \ item = GTK_WIDGET(gtk_tool_button_new(icon, text)); \ - gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), FALSE); \ + gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), HOMOGENEOUS); \ gtk_tool_item_set_is_important(GTK_TOOL_ITEM(item), TRUE); \ g_signal_connect (G_OBJECT(item), "clicked", G_CALLBACK(toolbar_buttons_cb), toolbar_item); \ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1); \ @@ -1572,8 +1577,10 @@ static void toolbar_buttons_cb(GtkWidget *widget, } #define TOOLBAR_MENUITEM(item,icon,text,tooltip,menutip) { \ + GtkWidget *child = NULL, *btn = NULL, *arr = NULL; \ + GList *gchild = NULL; \ item = GTK_WIDGET(gtk_menu_tool_button_new(icon, text)); \ - gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), FALSE); \ + gtk_tool_item_set_homogeneous(GTK_TOOL_ITEM(item), HOMOGENEOUS); \ gtk_tool_item_set_is_important(GTK_TOOL_ITEM(item), TRUE); \ g_signal_connect (G_OBJECT(item), "clicked", G_CALLBACK(toolbar_buttons_cb), toolbar_item); \ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1); \ @@ -1581,6 +1588,13 @@ static void toolbar_buttons_cb(GtkWidget *widget, tooltip, NULL); \ gtk_menu_tool_button_set_arrow_tooltip(GTK_MENU_TOOL_BUTTON(item), \ GTK_TOOLTIPS(toolbar_tips), menutip, NULL); \ + child = gtk_bin_get_child(GTK_BIN(item)); \ + gchild = gtk_container_get_children( \ + GTK_CONTAINER(child)); \ + btn = (GtkWidget *)gchild->data; \ + arr = (GtkWidget *)(gchild->next?gchild->next->data:NULL); \ + gchild = gtk_container_get_children(GTK_CONTAINER(arr)); \ + gtk_widget_set_size_request(GTK_WIDGET(gchild->data), 9, -1); \ } #define MAKE_MENU(entries,path,btn) { \ @@ -1962,12 +1976,50 @@ void toolbar_update(ToolbarType type, gpointer data) } #define GTK_BUTTON_SET_SENSITIVE(widget,sensitive) { \ - gboolean in_btn = FALSE; \ + gboolean in_btn1 = FALSE, in_btn2 = FALSE; \ if (GTK_IS_BUTTON(widget)) \ - in_btn = GTK_BUTTON(widget)->in_button; \ + in_btn1 = GTK_BUTTON(widget)->in_button; \ + else if (GTK_IS_MENU_TOOL_BUTTON(widget)) { \ + GtkWidget *child = gtk_bin_get_child( \ + GTK_BIN(widget)); \ + GList *gchild = gtk_container_get_children( \ + GTK_CONTAINER(child)); \ + GtkWidget *btn = (GtkWidget *)gchild->data; \ + GtkWidget *arr = (GtkWidget *) \ + (gchild->next?gchild->next->data:NULL); \ + if (GTK_IS_BUTTON(btn)) \ + in_btn1 = GTK_BUTTON(btn)->in_button; \ + if (GTK_IS_BUTTON(arr)) \ + in_btn2 = GTK_BUTTON(arr)->in_button; \ + } \ + else if (GTK_IS_TOOL_ITEM(widget)) { \ + GtkWidget *child = gtk_bin_get_child( \ + GTK_BIN(widget)); \ + if (GTK_IS_BUTTON(child)) \ + in_btn1 = GTK_BUTTON(child)->in_button; \ + } \ gtk_widget_set_sensitive(widget, sensitive); \ if (GTK_IS_BUTTON(widget)) \ - GTK_BUTTON(widget)->in_button = in_btn; \ + GTK_BUTTON(widget)->in_button = in_btn1; \ + else if (GTK_IS_MENU_TOOL_BUTTON(widget)) { \ + GtkWidget *child = gtk_bin_get_child( \ + GTK_BIN(widget)); \ + GList *gchild = gtk_container_get_children( \ + GTK_CONTAINER(child)); \ + GtkWidget *btn = (GtkWidget *)gchild->data; \ + GtkWidget *arr = (GtkWidget *) \ + (gchild->next?gchild->next->data:NULL); \ + if (GTK_IS_BUTTON(btn)) \ + GTK_BUTTON(btn)->in_button = in_btn1; \ + if (GTK_IS_BUTTON(arr)) \ + GTK_BUTTON(arr)->in_button = in_btn2; \ + } \ + else if (GTK_IS_TOOL_ITEM(widget)) { \ + GtkWidget *child = gtk_bin_get_child( \ + GTK_BIN(widget)); \ + if (GTK_IS_BUTTON(child)) \ + GTK_BUTTON(child)->in_button = in_btn2; \ + } \ } void toolbar_main_set_sensitive(gpointer data)