diff options
Diffstat (limited to 'ChangeLog.pre-2-6')
-rw-r--r-- | ChangeLog.pre-2-6 | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 6f05370c41..6d8a26ab4d 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,5 +1,46 @@ 2003-09-18 Matthias Clasen <maclas@gmx.de> + Install accelerators on actions, not on proxies, support + accelerator-only actions: + + * gtk/gtkmenu.c (get_accel_path): New function to get the accel path + and its lock status either via _gtk_widget_get_accel_path() or by + looking at the accel_path stored in the menu item itself and determining + its lock status by peeking into the contained accel label. This was + already (accidentally) committed a week ago. + + * gtk/gtkaction.h (gtk_action_set_accel_group): + (gtk_action_[dis]connect_accelerator): New functions. + + * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group, + accel_closure and accel_count. We must have a reference to the accel_group, + since we need it in connect_proxy. The count is necessary to ensure + that the accelerator isn't removed before the last proxy requesting + it has been unmerged. + (connect_proxy): Connect the accelerator to the + action now, only set the accel_path on the menuitem. + (remove_proxy): Disconnect the accelerator from the action, not from + the menuitem. + (gtk_action_set_accel_group): Set the accel group. + (gtk_action_[dis]connect_accelerator): Count the number of times + this functions have been called and install/remove the accelerator if + the count leaves/reaches zero. + + * gtk/gtkuimanager.h (GtkUIManagerItemType): Add + GTK_UI_MANAGER_ACCELERATOR. + + * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR. + (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from + <accelerator> elements. + (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when + type is GTK_UI_MANAGER_ACCELERATOR. + (update_node): Set the accel group on actions before creating their + proxies. Don't set the accel group on created menus. For + NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator. + (print_node): Also emit <accelerator> elements. + + * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. + * gtk/gtkuimanager.c (update_node): Robustness improvements. 2003-09-17 Matthias Clasen <maclas@gmx.de> |