Here’s a screenshot of
testaction test showing the
GtkRecentAction action for use with the GtkUIManager. The action is bound to a
menuitem tag inside the UI definition markup.
The code needs cleaning up and the hooking up of the
GtkRecentChooser interface virtual methods, but it’s not a big issue; setting all the recent chooser knobs using the recent chooser API is not the most beautiful approach I could come up with, though. But so is setting all the properties using specially crafted functions.
The next issue is inlining the list inside a menu (to make the Gedit maintainers happy ;-)). The current (and soon to be deprecated) EggRecent code used the awful
EggRecentViewGtk object and its evil spawn (
EggRecentViewUIManager and the most devilish
EggRecentViewBonobo). The GtkRecent approach “get the list from the recent manager and build the menu items” works for hand-built menus, but for menus created using the UI manager there’s no real option, as there’s no way to create a list of items from a
GtkAction. One way to implement it might be adding a
GList * (*create_menu_items) (GtkAction *action); virtual method inside
Update 2006-04-18@03:51: the tracking bug with my initial draft for the
GtkRecentAction is #338843
Now listening: Belle and Sebastian, The Life Pursuit