From 4e67511f2a354c5af5c382775efaa8930d1c96bc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 30 Nov 2004 04:49:44 +0000 Subject: [PATCH] =?UTF-8?q?Don't=20do=20the=20popup-on-click=20handling=20?= =?UTF-8?q?for=20menubars.=20(#159931,=20S=C3=B8ren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2004-11-29 Matthias Clasen * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't do the popup-on-click handling for menubars. (#159931, Søren Sandmann) * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't handle popup delay if the submenu is already mapped. --- ChangeLog | 11 ++++++++++- ChangeLog.pre-2-10 | 11 ++++++++++- ChangeLog.pre-2-6 | 11 ++++++++++- ChangeLog.pre-2-8 | 11 ++++++++++- gtk/gtkmenuitem.c | 4 +++- gtk/gtkmenushell.c | 13 +++++++++---- 6 files changed, 52 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 6dd015e8d2..e28566c89f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +2004-11-29 Matthias Clasen + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't + do the popup-on-click handling for menubars. (#159931, + Søren Sandmann) + + * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't + handle popup delay if the submenu is already mapped. + Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration. @@ -8,7 +17,7 @@ Mon Nov 29 16:56:33 2004 Manish Singh * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This - lets us navigate thei file system more easily. + lets us navigate the file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index b1f25ffedc..9cff14b5c8 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -838,13 +838,15 @@ gtk_real_menu_item_select (GtkItem *item) menu_item = GTK_MENU_ITEM (item); - if (menu_item->submenu) + if (menu_item->submenu && + !GTK_WIDGET_MAPPED (menu_item->submenu)) { gint popup_delay; if (menu_item->timer) { g_source_remove (menu_item->timer); + menu_item->timer = 0; popup_delay = 0; } else diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 0a74078368..4e1a664e19 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -508,10 +508,15 @@ gtk_menu_shell_button_release (GtkWidget *widget, _gtk_menu_item_is_selectable (menu_item)) { if (GTK_MENU_ITEM (menu_item)->submenu == NULL) - gtk_menu_shell_activate_item (menu_shell, menu_item, TRUE); - else - gtk_menu_item_select (GTK_MENU_ITEM (menu_item)); - return TRUE; + { + gtk_menu_shell_activate_item (menu_shell, menu_item, TRUE); + return TRUE; + } + else if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM) + { + gtk_menu_item_select (GTK_MENU_ITEM (menu_item)); + return TRUE; + } } else if (menu_item && !_gtk_menu_item_is_selectable (menu_item) &&