summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-04-07 21:36:13 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-04-07 21:36:13 +0000
commit848cff384e369789d47a62b8c6673771d6cbb4bf (patch)
treed681229994956578094927ec924fdf6b009ed397
parentd96d7ada5a5099a6194632b8d246949c524a8b90 (diff)
downloadgdk-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--ChangeLog11
-rw-r--r--ChangeLog.pre-2-011
-rw-r--r--ChangeLog.pre-2-1011
-rw-r--r--ChangeLog.pre-2-211
-rw-r--r--ChangeLog.pre-2-411
-rw-r--r--ChangeLog.pre-2-611
-rw-r--r--ChangeLog.pre-2-811
-rw-r--r--gdk/x11/Makefile.am4
-rw-r--r--gtk/gtkmenuitem.c26
-rw-r--r--gtk/gtkmenushell.c28
10 files changed, 116 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 803264cde..9bb3559e9 100644
--- 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.
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;