If you add a new ui node that was recently removed it will still be
in the tree, but marked dirty. In this case we previously just used
the old node, which meant it wouldn't get the same position as if
the dirty nodes had been processed first (and deleted) before the
new node was added.
We handle this by detecting this case and reposition the node as if
it was new.
https://bugzilla.gnome.org/show_bug.cgi?id=603128
Add always-show-image="true|false" attribute to <menuitem> element in UI
manager markup. If present, it overrides the always-show-image property
on image menu items. Bug #589842.
2008-10-09 Michael Natterer <mitch@imendio.com>
Bug 516425 – Optionally display accelerators in popups
* gtk/gtkuimanager.h (enum GtkUIManagerItemType): add value
GTK_UI_MANAGER_POPUP_WITH_ACCELS which works like _POPUP but
shows the actions' accelerators.
* gtk/gtkuimanager.c: honor the new enum value for programmatically
created UIs, and support <popup accelerators="true"> in the XML
for the same purpose.
svn path=/trunk/; revision=21615
2008-07-08 Christian Neumair <cneumair@gnome.org>
* gtk/gtkuimanager.c (update_node):
Skip update of accelerator child node if it has no associated action.
Fixes#541950.
svn path=/trunk/; revision=20811
2008-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529)
svn path=/trunk/; revision=20709
2008-06-17 Michael Natterer <mitch@imendio.com>
* gtk/gtktestutils.c: #undef GTK_DISABLE_DEPRECATED, clean up
includes a bit.
* gtk/gtkuimanager.c: #include "gtkwindow.h", it was only pulled
in via deprecated headers.
svn path=/trunk/; revision=20416
2008-06-13 Michael Natterer <mitch@imendio.com>
* gtk/gtkuimanager.c (start_element_handler): silently skip
unknown attributes instead of bailing out with an error in order
to be compatible with possible future attribute names.
This is related to the discussion in bug #516425 but actually
needed for any kind of XML format extension.
svn path=/trunk/; revision=20371
2008-01-25 Sven Herzberg <sven@imendio.com>
Reviewed by Johan Dahlin.
* gtk/gtkuimanager.c (gtk_ui_manager_remove_ui): emit a warning if
this is called with something that's not a GtkUIManager
svn path=/trunk/; revision=19395
2006-11-26 Ryan Lortie <desrt@desrt.ca>
* docs/reference/gtk/tmpl/gtkbuildable.sgml: add clarification stating
that the construct_child function is responsible for returning a
reference.
* gtkbuilder.c (_gtk_builder_construct): remove g_object_ref() for
objects from constructors
* gtkuimanager.c (gtk_ui_manager_buildable_construct_child): add
g_object_ref() to this construction function (it's the only
implementer in GTK)
Fixes#496645.
svn path=/trunk/; revision=19075
2007-07-10 Christian Persch <chpe@gnome.org>
* gtk/gtkaction.c: (gtk_action_sync_tooltip),
(gtk_action_set_tooltip):
* gtk/gtkuimanager.c: (update_node): Remove work-around for the old
tooltips code, and just set the action tooltip immediately on the
proxy widget. Bug #455482.
svn path=/trunk/; revision=18437
2007-03-16 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkaction.h:
* gtk/gtkaction.c: Rename get_submenu() to create_menu();
rename gtk_action_get_submenu() to gtk_action_create_menu().
* gtk/gtkrecentaction.c: Update for GtkAction change.
* gtk/gtkuimanager.c (update_node): Update for GtkAction change;
also, use the menu from the GtkAction for both menuitem and
toolitem nodes.
svn path=/trunk/; revision=17535
2007-03-15 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkaction.[ch]: Add GtkActionClass::get_submenu() vfunc:
actions providing a menu item or a menu tool button with already
a submenu should return the GtkMenu widget.
* gtk/gtkuimanager.c (update_node): If an action provides its
own submenu, use it instead of adding an empty one
* gtk/gtkrecentaction.[ch]: Add GtkRecentAction, an action
implementing the GtkRecentChooser interface for displaying the
list of recently used files into menus and toolbars generated
using GtkUIManager. (#338843)
* gtk/Makefile.am:
* gtk/gtk.h:
* gtk/gtk.symbols: Add GtkRecentAction API to the build.
* tests/testactions.c: Exercise the GtkRecentAction API.
svn path=/trunk/; revision=17524
2007-01-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c: Don't crash if menu or toolbar
positions can't be found. (#396161, Hans Breuer)
svn path=/trunk/; revision=17147
2006-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Only use the results
of find_menu/toolbar_position() if they succeed. May fix
bug #388041.
2006-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): If a required action
is missing, don't recurse over the children. (#349119,
Chris Moller)
2006-04-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (start_element_handler): Don't pass
a negative value as string length to get_child_node(). (Coverity)
2006-01-07 Matthias Clasen <mclasen@redhat.com>
Fix actiongroup-action interaction that relied on
actions connecting to notify on themselves:
* gtk/gtkaction.[hc]: Factor out the code updating the
visibility/sensitivity of proxies into _gtk_action_sync_visible()
and _gtk_action_sync_sensible().
* gtk/gtkactiongroup.c: Call the new functions when the
group visibility/sensitivity changes.
2006-01-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
a list of NULLs. (#325723, Steve Chaplin)
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().