]> Pileus Git - ~andy/gtk/commitdiff
Fix problem with installation directory for gdkx.h
authorOwen Taylor <otaylor@redhat.com>
Fri, 7 Apr 2000 21:36:13 +0000 (21:36 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Fri, 7 Apr 2000 21:36:13 +0000 (21:36 +0000)
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.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/x11/Makefile.am
gtk/gtkmenuitem.c
gtk/gtkmenushell.c

index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
@@ -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.
index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
@@ -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.
index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
@@ -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.
index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
@@ -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.
index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
@@ -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.
index 803264cdee672d5904fecaf2ffad96830ad00c6d..9bb3559e9250e7620b38408edf9a59f214ca9252 100644 (file)
@@ -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.
index a201cdb153b663de93489aa93568de67c422b1be..e6a5817fe0d3bd63723f22d63e129de28528f223 100644 (file)
@@ -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
index 263159c5a9bddf1a0a55399501bf71bae339a00c..ec7efd62aad344b1a38be89557f3db9de1107002 100644 (file)
@@ -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);
-       }
     }
 }
 
index 784a89fe80f9c449efc6e16f916d99e2705d4ee9..e60f73b4c857553bd864e07c040c076ddc3444eb 100644 (file)
@@ -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);
@@ -903,6 +904,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;