summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--ChangeLog.pre-2-1011
-rw-r--r--ChangeLog.pre-2-411
-rw-r--r--ChangeLog.pre-2-611
-rw-r--r--ChangeLog.pre-2-811
-rw-r--r--gtk/gtkactiongroup.c68
-rw-r--r--tests/testmerge.c2
7 files changed, 103 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d609ceac2..c8be3eea65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Wed Dec 31 02:05:39 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full):
+ (gtk_action_group_add_toggle_actions_full):
+ (gtk_action_group_add_radio_actions_full): Pull accelerator key
+ from the stock item if stock_id is given, but accelerator
+ not. (Noticed by Jeff Franks and Jody Goldberg)
+
+ * tests/testmerge.c: Remove the accelerator from the "Open" entry
+ to test the above change.
+
2003-12-29 Federico Mena Quintero <federico@ximian.com>
Make show_all() work for the extra and preview widgets; reported
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 3d609ceac2..c8be3eea65 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,14 @@
+Wed Dec 31 02:05:39 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full):
+ (gtk_action_group_add_toggle_actions_full):
+ (gtk_action_group_add_radio_actions_full): Pull accelerator key
+ from the stock item if stock_id is given, but accelerator
+ not. (Noticed by Jeff Franks and Jody Goldberg)
+
+ * tests/testmerge.c: Remove the accelerator from the "Open" entry
+ to test the above change.
+
2003-12-29 Federico Mena Quintero <federico@ximian.com>
Make show_all() work for the extra and preview widgets; reported
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 3d609ceac2..c8be3eea65 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,14 @@
+Wed Dec 31 02:05:39 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full):
+ (gtk_action_group_add_toggle_actions_full):
+ (gtk_action_group_add_radio_actions_full): Pull accelerator key
+ from the stock item if stock_id is given, but accelerator
+ not. (Noticed by Jeff Franks and Jody Goldberg)
+
+ * tests/testmerge.c: Remove the accelerator from the "Open" entry
+ to test the above change.
+
2003-12-29 Federico Mena Quintero <federico@ximian.com>
Make show_all() work for the extra and preview widgets; reported
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 3d609ceac2..c8be3eea65 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,14 @@
+Wed Dec 31 02:05:39 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full):
+ (gtk_action_group_add_toggle_actions_full):
+ (gtk_action_group_add_radio_actions_full): Pull accelerator key
+ from the stock item if stock_id is given, but accelerator
+ not. (Noticed by Jeff Franks and Jody Goldberg)
+
+ * tests/testmerge.c: Remove the accelerator from the "Open" entry
+ to test the above change.
+
2003-12-29 Federico Mena Quintero <federico@ximian.com>
Make show_all() work for the extra and preview widgets; reported
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 3d609ceac2..c8be3eea65 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,14 @@
+Wed Dec 31 02:05:39 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full):
+ (gtk_action_group_add_toggle_actions_full):
+ (gtk_action_group_add_radio_actions_full): Pull accelerator key
+ from the stock item if stock_id is given, but accelerator
+ not. (Noticed by Jeff Franks and Jody Goldberg)
+
+ * tests/testmerge.c: Remove the accelerator from the "Open" entry
+ to test the above change.
+
2003-12-29 Federico Mena Quintero <federico@ximian.com>
Make show_all() work for the extra and preview widgets; reported
diff --git a/gtk/gtkactiongroup.c b/gtk/gtkactiongroup.c
index 051010ed63..83768473c7 100644
--- a/gtk/gtkactiongroup.c
+++ b/gtk/gtkactiongroup.c
@@ -31,6 +31,7 @@
#include <config.h>
#include "gtkactiongroup.h"
+#include "gtkstock.h"
#include "gtktoggleaction.h"
#include "gtkradioaction.h"
#include "gtkaccelmap.h"
@@ -395,6 +396,10 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group,
gpointer user_data,
GDestroyNotify destroy)
{
+
+ /* Keep this in sync with the other
+ * gtk_action_group_add_..._actions_full() functions.
+ */
guint i;
GtkTranslateFunc translate_func;
gpointer translate_data;
@@ -408,6 +413,9 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group,
{
GtkAction *action;
gchar *accel_path;
+ guint accel_key = 0;
+ GdkModifierType accel_mods;
+ GtkStockItem stock_item;
gchar *label;
gchar *tooltip;
@@ -437,17 +445,19 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group,
/* set the accel path for the menu item */
accel_path = g_strconcat ("<Actions>/", action_group->private_data->name, "/",
entries[i].name, NULL);
+
if (entries[i].accelerator)
+ gtk_accelerator_parse (entries[i].accelerator, &accel_key, &accel_mods);
+ else if (entries[i].stock_id &&
+ gtk_stock_lookup (entries[i].stock_id, &stock_item))
{
- guint accel_key = 0;
- GdkModifierType accel_mods;
-
- gtk_accelerator_parse (entries[i].accelerator, &accel_key,
- &accel_mods);
- if (accel_key)
- gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
+ accel_key = stock_item.keyval;
+ accel_mods = stock_item.modifier;
}
+ if (accel_key)
+ gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
+
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
@@ -504,6 +514,9 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,
gpointer user_data,
GDestroyNotify destroy)
{
+ /* Keep this in sync with the other
+ * gtk_action_group_add_..._actions_full() functions.
+ */
guint i;
GtkTranslateFunc translate_func;
gpointer translate_data;
@@ -517,6 +530,9 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,
{
GtkAction *action;
gchar *accel_path;
+ guint accel_key = 0;
+ GdkModifierType accel_mods;
+ GtkStockItem stock_item;
gchar *label;
gchar *tooltip;
@@ -549,17 +565,19 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,
/* set the accel path for the menu item */
accel_path = g_strconcat ("<Actions>/", action_group->private_data->name, "/",
entries[i].name, NULL);
+
if (entries[i].accelerator)
+ gtk_accelerator_parse (entries[i].accelerator, &accel_key, &accel_mods);
+ else if (entries[i].stock_id &&
+ gtk_stock_lookup (entries[i].stock_id, &stock_item))
{
- guint accel_key = 0;
- GdkModifierType accel_mods;
-
- gtk_accelerator_parse (entries[i].accelerator, &accel_key,
- &accel_mods);
- if (accel_key)
- gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
+ accel_key = stock_item.keyval;
+ accel_mods = stock_item.modifier;
}
+ if (accel_key)
+ gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
+
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
@@ -626,6 +644,9 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,
gpointer user_data,
GDestroyNotify destroy)
{
+ /* Keep this in sync with the other
+ * gtk_action_group_add_..._actions_full() functions.
+ */
guint i;
GtkTranslateFunc translate_func;
gpointer translate_data;
@@ -641,6 +662,9 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,
{
GtkAction *action;
gchar *accel_path;
+ guint accel_key = 0;
+ GdkModifierType accel_mods;
+ GtkStockItem stock_item;
gchar *label;
gchar *tooltip;
@@ -676,17 +700,19 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,
accel_path = g_strconcat ("<Actions>/",
action_group->private_data->name, "/",
entries[i].name, NULL);
+
if (entries[i].accelerator)
+ gtk_accelerator_parse (entries[i].accelerator, &accel_key, &accel_mods);
+ else if (entries[i].stock_id &&
+ gtk_stock_lookup (entries[i].stock_id, &stock_item))
{
- guint accel_key = 0;
- GdkModifierType accel_mods;
-
- gtk_accelerator_parse (entries[i].accelerator, &accel_key,
- &accel_mods);
- if (accel_key)
- gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
+ accel_key = stock_item.keyval;
+ accel_mods = stock_item.modifier;
}
+ if (accel_key)
+ gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
+
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
diff --git a/tests/testmerge.c b/tests/testmerge.c
index ff78028e46..09f190e89b 100644
--- a/tests/testmerge.c
+++ b/tests/testmerge.c
@@ -138,7 +138,7 @@ static GtkActionEntry entries[] = {
{ "QuitAction", GTK_STOCK_QUIT, NULL, "<control>q", "Quit", G_CALLBACK (gtk_main_quit) },
{ "NewAction", GTK_STOCK_NEW, NULL, "<control>n", "Create something", G_CALLBACK (activate_action) },
{ "New2Action", GTK_STOCK_NEW, NULL, "<control>m", "Create something else", G_CALLBACK (activate_action) },
- { "OpenAction", GTK_STOCK_OPEN, NULL, "<control>o", "Open it", G_CALLBACK (activate_action) },
+ { "OpenAction", GTK_STOCK_OPEN, NULL, NULL, "Open it", G_CALLBACK (activate_action) },
{ "CutAction", GTK_STOCK_CUT, NULL, "<control>x", "Knive", G_CALLBACK (activate_action) },
{ "CopyAction", GTK_STOCK_COPY, NULL, "<control>c", "Copy", G_CALLBACK (activate_action) },
{ "PasteAction", GTK_STOCK_PASTE, NULL, "<control>v", "Paste", G_CALLBACK (activate_action) },