diff options
author | Owen Taylor <otaylor@redhat.com> | 2000-04-07 21:36:13 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-04-07 21:36:13 +0000 |
commit | 848cff384e369789d47a62b8c6673771d6cbb4bf (patch) | |
tree | d681229994956578094927ec924fdf6b009ed397 | |
parent | d96d7ada5a5099a6194632b8d246949c524a8b90 (diff) | |
download | gdk-pixbuf-848cff384e369789d47a62b8c6673771d6cbb4bf.tar.gz |
Fix problem with installation directory for gdkx.h
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
gdkx.h
* gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
<mrcooger@cyberverse.com> so that when selecting menus with the
mouse, the first item will not be selected, but when selecting
with an accelerator, or navigating left-right on a menubar with
the menus popped up, the first item will be selected.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 11 | ||||
-rw-r--r-- | gdk/x11/Makefile.am | 4 | ||||
-rw-r--r-- | gtk/gtkmenuitem.c | 26 | ||||
-rw-r--r-- | gtk/gtkmenushell.c | 28 |
10 files changed, 116 insertions, 19 deletions
@@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 803264cde..9bb3559e9 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 803264cde..9bb3559e9 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 803264cde..9bb3559e9 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 803264cde..9bb3559e9 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 803264cde..9bb3559e9 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 803264cde..9bb3559e9 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,14 @@ +Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com> + + * gdk/x11/Makefile.am: Fix problem with installation directory for + gdkx.h + + * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago + <mrcooger@cyberverse.com> so that when selecting menus with the + mouse, the first item will not be selected, but when selecting + with an accelerator, or navigating left-right on a menubar with + the menus popped up, the first item will be selected. + 2000-04-05 Dan Damian <dand@dnttm.ro> * configure.in: Added "ro" to ALL_LINGUAS. diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index a201cdb15..e6a5817fe 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -1,5 +1,7 @@ ## Process this file with automake to produce Makefile.in +libgdkincludedir = $(includedir)/gdk + INCLUDES = @STRIP_BEGIN@ \ -DG_LOG_DOMAIN=\"Gdk\" \ -I$(top_srcdir) \ @@ -68,7 +70,7 @@ libgdk_x11_la_SOURCES = \ gdkinputprivate.h \ $(xinput_sources) -INCLUDE_HEADERS = \ +libgdkinclude_HEADERS = \ gdkx.h EXTRA_PROGRAMS = gxid diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 263159c5a..ec7efd62a 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -63,7 +63,7 @@ static void gtk_real_menu_item_select (GtkItem *item); static void gtk_real_menu_item_deselect (GtkItem *item); static void gtk_real_menu_item_activate_item (GtkMenuItem *item); static gint gtk_menu_item_select_timeout (gpointer data); -static void gtk_menu_item_select_timeout_unlocked (gpointer data); +static void gtk_menu_item_popup_submenu (gpointer data); static void gtk_menu_item_position_menu (GtkMenu *menu, gint *x, gint *y, @@ -553,7 +553,7 @@ gtk_real_menu_item_select (GtkItem *item) gtk_menu_item_select_timeout, menu_item); else - gtk_menu_item_select_timeout_unlocked (menu_item); + gtk_menu_item_popup_submenu (menu_item); if(event) gdk_event_free(event); } @@ -598,6 +598,7 @@ static void gtk_real_menu_item_activate_item (GtkMenuItem *menu_item) { GtkWidget *widget; + GtkMenuShell *submenu; g_return_if_fail (menu_item != NULL); g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); @@ -621,7 +622,12 @@ gtk_real_menu_item_activate_item (GtkMenuItem *menu_item) menu_shell->active = TRUE; } - gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), widget); + gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), widget); + gtk_menu_item_popup_submenu (widget); + + submenu = GTK_MENU_SHELL (menu_item->submenu); + if (submenu->children) + gtk_menu_shell_select_item (submenu, submenu->children->data); } } } @@ -631,7 +637,7 @@ gtk_menu_item_select_timeout (gpointer data) { GDK_THREADS_ENTER (); - gtk_menu_item_select_timeout_unlocked (data); + gtk_menu_item_popup_submenu (data); GDK_THREADS_LEAVE (); @@ -639,7 +645,7 @@ gtk_menu_item_select_timeout (gpointer data) } static void -gtk_menu_item_select_timeout_unlocked (gpointer data) +gtk_menu_item_popup_submenu (gpointer data) { GtkMenuItem *menu_item; @@ -655,16 +661,6 @@ gtk_menu_item_select_timeout_unlocked (gpointer data) menu_item, GTK_MENU_SHELL (GTK_WIDGET (menu_item)->parent)->button, 0); - - /* This is a bit of a hack - we want to select the first item - * of menus hanging of a menu bar, but not for cascading submenus - */ - if (GTK_IS_MENU_BAR (GTK_WIDGET (menu_item)->parent)) - { - GtkMenuShell *submenu = GTK_MENU_SHELL (menu_item->submenu); - if (submenu->children) - gtk_menu_shell_select_item (submenu, submenu->children->data); - } } } diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 784a89fe8..e60f73b4c 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -136,6 +136,7 @@ static gint gtk_menu_shell_is_item (GtkMenuShell *menu_shell, static GtkWidget *gtk_menu_shell_get_item (GtkMenuShell *menu_shell, GdkEvent *event); static GtkType gtk_menu_shell_child_type (GtkContainer *container); +static void gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell); static void gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, GtkMenuDirectionType direction); @@ -904,6 +905,21 @@ gtk_menu_shell_move_selected (GtkMenuShell *menu_shell, } static void +gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell) +{ + GtkMenuItem *menu_item; + + menu_item = GTK_MENU_ITEM (menu_shell->active_menu_item); + + if (menu_item->submenu) + { + GtkMenuShell *submenu = GTK_MENU_SHELL (menu_item->submenu); + if (submenu->children) + gtk_menu_shell_select_item (submenu, submenu->children->data); + } +} + +static void gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, GtkMenuDirectionType direction) { @@ -923,8 +939,11 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, if (GTK_MENU_SHELL_CLASS (GTK_OBJECT (parent_menu_shell)->klass)->submenu_placement == GTK_MENU_SHELL_CLASS (GTK_OBJECT (menu_shell)->klass)->submenu_placement) gtk_menu_shell_deselect (menu_shell); - else - gtk_menu_shell_move_selected (parent_menu_shell, -1); + else + { + gtk_menu_shell_move_selected (parent_menu_shell, -1); + gtk_menu_shell_select_submenu_first (parent_menu_shell); + } } break; @@ -946,7 +965,10 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, parent_menu_shell = GTK_MENU_SHELL (parent_menu_shell->parent_menu_shell); if (parent_menu_shell) - gtk_menu_shell_move_selected (parent_menu_shell, 1); + { + gtk_menu_shell_move_selected (parent_menu_shell, 1); + gtk_menu_shell_select_submenu_first (parent_menu_shell); + } } break; |