summaryrefslogtreecommitdiff
path: root/gtk/gtkmenushellprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* menu binding: emit submenu close after activateRyan Lortie2014-06-161-0/+5
| | | | | | | | | | | | | | | | | | We want to make sure that the submenu action is changed back to FALSE _after_ the menu item has been activated. This prevents the menu teardown handler from deleting the menu item before it can be activated. Unfortunately, GtkMenuShell emits "hide" before the item activation. This is probably done to prevent the application from doing things like showing dialogs when the menu is still holding the grab. In the case where we are doing an activate, set a boolean flag on each of the open menus (following the parent stack) indicating that we'll be emitting another signal soon (selection done). If that flag is set, we defer the setting of the submenu action until we receive the second signal. https://bugzilla.gnome.org/show_bug.cgi?id=729820
* docs: Convert GtkMenuShell comment to documentationDavid King2013-08-141-1/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=448637
* Introduce GtkMenuTrackerRyan Lortie2013-04-011-1/+2
| | | | | | | | | | | | | | | | | GtkMenuTracker folds a nested structure of sections in a GMenuModel into a single linear menu, which it expresses to its user by means of 'insert item at position' and 'remove item at position' callbacks. The logic for where to insert separators and how to handle action namespaces is contained within the tracker, removing the need to have this logic duplicated in the 3 or 4 places that consume GMenuModel. In comparison with the previous code, the tracker no longer completely destroys and rebuilds menus every time a single change occurs. As a result, the new gtkmenu testcase now runs in approximately 3 seconds instead of ~60 before. https://bugzilla.gnome.org/show_bug.cgi?id=696468
* menu: Move enum declaration to correct headerBenjamin Otte2013-03-281-0/+7
| | | | That enum is used in GtkMenuShellClass, so put it there.
* Change FSF AddressJavier Jardón2012-02-271-3/+1
|
* Fix commit 5f55c420471db9a05d145e140b3a7cdfc5bdba9fMatthias Clasen2011-04-171-2/+0
| | | | | Make gtk_menu_shell_activate static and don't use it outside gtkmenushell.c
* menushell: Include a function in the private headerBenjamin Otte2011-04-161-0/+2
| | | | | Don't copy over the implementation. This avoids a copy of the function. Reverts 0098344f84cedb6347fc99691f6e3d358ec112e7.
* GtkMenuShell: always 'activate' menu shellsMatthias Clasen2011-04-131-1/+0
| | | | | Failing to do so can leave us with a stuck grab in some cases. https://bugzilla.gnome.org/show_bug.cgi?id=554057
* Remove sealed members from GtkMenuShellMatthias Clasen2010-12-231-0/+82