]> Pileus Git - ~andy/gtk/commitdiff
Pull accelerator key from the stock item if stock_id is given, but
authorMatthias Clasen <maclas@gmx.de>
Wed, 31 Dec 2003 01:05:57 +0000 (01:05 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 31 Dec 2003 01:05:57 +0000 (01:05 +0000)
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.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkactiongroup.c
tests/testmerge.c

index 3d609ceac253d76d16aa5aadfcf123b4f55c66d7..c8be3eea651ac7c56753090db4d299051e2d42f0 100644 (file)
--- 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
index 3d609ceac253d76d16aa5aadfcf123b4f55c66d7..c8be3eea651ac7c56753090db4d299051e2d42f0 100644 (file)
@@ -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
index 3d609ceac253d76d16aa5aadfcf123b4f55c66d7..c8be3eea651ac7c56753090db4d299051e2d42f0 100644 (file)
@@ -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
index 3d609ceac253d76d16aa5aadfcf123b4f55c66d7..c8be3eea651ac7c56753090db4d299051e2d42f0 100644 (file)
@@ -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
index 3d609ceac253d76d16aa5aadfcf123b4f55c66d7..c8be3eea651ac7c56753090db4d299051e2d42f0 100644 (file)
@@ -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
index 051010ed633720497781bd1cdb4204aab79b0f1f..83768473c7163f7ffbc16b3228534fff87f0fa4e 100644 (file)
@@ -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);
       
index ff78028e46b001bf30f0d88a743cecde7b163e3c..09f190e89bdc118946b5ed0f1f63ff1b8f2d8809 100644 (file)
@@ -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) },