Commit Graph

53 Commits

Author SHA1 Message Date
7c60bb5181 app: use more of the new GDK_KEY_foo key names
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
202124c438 app: implement GObject::constructed() instead of ::constructor() 2011-01-14 09:38:46 +01:00
7d54c72cfe widgets: use gtk_widget_get_parent(menu) instead of menu->toplevel
because menu->toplevel is sealed. Should have the additional benefit
of also working if the menu is torn off (untested).
2010-02-11 10:34:48 +01:00
e87c77bcfc app: Allow tests to override the menus directory
In order to let tests run against the source dir, allow them to
override the menus directory. Add utility functions for this and
adjust gimpuimanager.c accordingly.
2010-01-08 15:05:15 +01:00
0715c58c13 Fix the find_widget_under_pointer() code to build with GSEAL_ENABLE 2009-11-11 21:01:21 +01:00
1a23b9ecf2 Build with GSEAL_ENABLE and #undef it where accessors are missing 2009-10-17 20:20:39 +02:00
b2b2b41e62 Get rid of artificial compiler warnings
Get rid of artificial compiler warnings generated with the #warning
directive. They pollute the build output and don't work as incentives
for fixing stuff.
2009-07-20 12:47:59 +02:00
d5fddb5ba9 app: gimpuimanager.c formatting 2009-05-28 19:42:18 +02:00
c9674b4603 Use the new GtkAction accessors instead of g_object_get()/set() 2009-05-24 22:29:18 +02:00
7d76f25e26 Use gtk_activatable_set_related_action() instead of deprecated
gtk_action_connect_proxy()
2009-05-24 10:38:09 -07:00
d85fb156b5 app/widgets/gimpblobeditor.c app/widgets/gimpbrushselect.c
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpblobeditor.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimpcolordialog.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontrollereditor.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpcurveview.c
	* app/widgets/gimpdasheditor.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpfgbgview.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimphandlebar.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimphistogramview.c
	* app/widgets/gimpmessagedialog.c
	* app/widgets/gimpnavigationview.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppaletteview.c
	* app/widgets/gimppatternselect.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpscalebutton.c
	* app/widgets/gimpselectiondata.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimpsettingsbox.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpview-popup.c
	* app/widgets/gimpview.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpwidgets-utils.c: use accessors for various
	members of GTK+ structures that don't exist any longer when
	GSEAL_ENABLE is defined.


svn path=/trunk/; revision=28193
2009-03-22 16:35:53 +00:00
003e16dc14 formatting.
2009-03-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpuimanager.c: formatting.


svn path=/trunk/; revision=28113
2009-03-05 21:51:56 +00:00
b907703040 Bug 568890 – don't rely on GtkAction implementation details
2009-01-24  Michael Natterer  <mitch@gimp.org>

	Bug 568890 – don't rely on GtkAction implementation details

	* app/widgets/gimpuimanager.c (gimp_ui_manager_menu_item_select):
	use gtk_widget_get_action() instead of g_object_get_data(),
	which relies on the name of the data key.


svn path=/trunk/; revision=27939
2009-01-24 17:50:31 +00:00
e9e48274c5 Bug 568617 – "Plase" misspelled
2009-01-21  Sven Neumann  <sven@gimp.org>

	Bug 568617 – "Plase" misspelled

	* app/widgets/gimpuimanager.c: fixed typo.


svn path=/trunk/; revision=27926
2009-01-21 21:52:15 +00:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
808ddd311b try the find_widget_under_pointer() hack only if the menu item's parent is
2008-08-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c (gimp_ui_manager_item_key_press):
	try the find_widget_under_pointer() hack only if the menu item's
	parent is really a GtkMenu (not a GtkMenuBar). Fixes crash spotted
	by rubikcube.


svn path=/trunk/; revision=26796
2008-08-27 19:36:41 +00:00
8ea6e59970 reindent prototypes.
2008-08-20  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c: reindent prototypes.

	Steal find_widget_under_pointer() from gtktooltip.c

	(gimp_ui_manager_item_key_press): use the function to invoke help
	for the widget under the pointer if there is no selected menu
	item. Makes F1 work on insensitive menu items.


svn path=/trunk/; revision=26684
2008-08-20 18:20:42 +00:00
f53ed53cdb app/widgets/gimpactionview.c app/widgets/gimpblobeditor.c
2008-06-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactionview.c
	* app/widgets/gimpblobeditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpcellrendererdashes.c
	* app/widgets/gimpcellrendererviewable.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcurveview.c
	* app/widgets/gimpdasheditor.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockseparator.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpfgbgview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphandlebar.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimphistogramview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimpmessagebox.c
	* app/widgets/gimppaletteview.c
	* app/widgets/gimpscalebutton.c
	* app/widgets/gimpsessioninfo-book.c
	* app/widgets/gimpsessioninfo-dock.c
	* app/widgets/gimpsettingseditor.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimpthumbbox.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimptoolview.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpviewrenderervectors.c
	* app/widgets/gimpwidgets-utils.c: use accessors instead of
	accessing members of GTK+ widgets directly.


svn path=/trunk/; revision=26008
2008-06-28 15:50:27 +00:00
f53e9a45db Latest GTK+ trunk deprecations showed some uglyness in gimp:
2008-06-20  Michael Natterer  <mitch@gimp.org>

	Latest GTK+ trunk deprecations showed some uglyness in gimp:

	* app/tools/gimpeditselectiontool.h: we were still using GTK_CHECK
	macros here, use proper G_TYPE type checking instead.

	* app/widgets/gimpuimanager.c
	* app/widgets/gimpdockable.c: s/GtkDestroyNotify/GDestroyNotify/.

	* plug-ins/help-browser/gimpthrobber.c: s/GtkType/GType/.

	* plug-ins/common/filter-pack.c
	* plug-ins/common/sample-colorize.c
	* plug-ins/imagemap/imap_main.c: s/GtkSignalFunc/GCallback/.


svn path=/trunk/; revision=25965
2008-06-20 11:08:42 +00:00
769c4f925a app/core/gimp-gui.[ch] app/widgets/gimphelp.[ch] app/gui/gui-vtable.c
2008-06-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-gui.[ch]
	* app/widgets/gimphelp.[ch]
	* app/gui/gui-vtable.c
	* app/gui/gui.c: added a GimpProgress parameter to gimp_help().

	* app/actions/help-commands.c
	* app/widgets/gimpuimanager.c
	* tools/pdbgen/pdb/help.pdb: changed accordingly.

	* app/pdb/help-cmds.c: regenerated.

svn path=/trunk/; revision=25908
2008-06-10 09:54:54 +00:00
cba937480e gracefully deal with a NULL return value from gtk_ui_manager_get_widget().
2008-01-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpuimanager.c (gimp_ui_manager_ui_popup):
	gracefully deal with a NULL return value from
	gtk_ui_manager_get_widget(). This happens when the XML menu
	definitions are not found.


svn path=/trunk/; revision=24594
2008-01-10 22:17:28 +00:00
af350d89e6 app/widgets/gimphelp.c app/widgets/gimpuimanager.c
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpview-popup.c
	* app/widgets/gtkwrapbox.c: use GSlice to allocate structs.

svn path=/trunk/; revision=22572
2007-05-22 15:14:41 +00:00
6e422b5211 Statusbar messages shouldn't depend on the emission of unrelated signals:
2007-03-31  Michael Natterer  <mitch@gimp.org>

	Statusbar messages shouldn't depend on the emission of unrelated
	signals:

	* app/widgets/gimpuimanager.c (gimp_ui_manager_connect_proxy):
	connect to the menu items' "select" and "deselect" signals here...

	(gimp_ui_manager_item_realize): ...instead of here.


svn path=/trunk/; revision=22206
2007-03-31 12:25:03 +00:00
50fabff948 added new function gimp_ui_manager_activate_action() as a shortcut for
2006-12-15  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added new function
	gimp_ui_manager_activate_action() as a shortcut for looking up the
	action and activating it.

	* app/actions/dialogs-actions.c
	* app/display/gimpdisplayshell-close.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: use the new function.

	* app/actions/file-commands.c
	* app/dialogs/file-save-dialog.c: minor code cleanup.
2006-12-15 12:03:47 +00:00
41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
1ed8dd4f53 app/actions/data-commands.c app/actions/documents-commands.c
2006-10-09  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/actions/documents-commands.c
	* app/actions/drawable-commands.c
	* app/actions/gradients-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-contexts.c
	* app/core/gimp-documents.c
	* app/core/gimp-edit.c
	* app/core/gimp-modules.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp-units.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.[ch]
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppdbprogress.c
	* app/core/gimpselection.c
	* app/dialogs/palette-import-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/session.c
	* app/gui/themes.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-file.c
	* app/plug-in/gimppluginmanager.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpvectorstreeview.c
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb: convert lots of g_message() to
	gimp_message(). Make sure we never pass unknown strings (like
	error->message) to printf-like functions directly; run them
	thorugh "%s" instead. Don't translate some messages which should
	never happen.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/palette_cmds.c: regenerated.
2006-10-09 18:49:15 +00:00
6feb7bb82c depend on glib >= 2.10.2, gtk+ >= 2.8.18 and pango >= 1.12.3. Define
2006-07-05  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on glib >= 2.10.2, gtk+ >= 2.8.18
	and pango >= 1.12.3. Define FOO_DISABLE_DEPRECATED also for
	glib 2.12, gtk+ 2.10 and pango 2.14

	* app/sanity.c
	* app/gui/gui.c: adjusted sanity checks accordingly.

	* app/dialogs/stroke-dialog.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpuimanager.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* plug-ins/helpbrowser/gimpthrobber.c: replace gtk_object_sink()
	by combinations of g_object_ref_sink() and g_object_unref().
2006-07-05 13:40:47 +00:00
6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
a8cf1cfa9d connect to the menu items' "select" and "deselect" signals instead of
2006-03-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c: connect to the menu items' "select"
	and "deselect" signals instead of "enter-notify-event" and
	"leave-notify-event", so tooltips work with keynav.
2006-03-10 10:05:38 +00:00
6a01bb2306 added "show-tooltip" and "hide-tooltip" signals. Connect to each menu
2006-03-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added "show-tooltip" and
	"hide-tooltip" signals. Connect to each menu item's
	enter-notify-event and leave-notify-event. On enter, emit
	show-tooltip, on leave emit hide-tooltip.

	* app/display/gimpdisplayshell.c: connect to the menubar ui
	manager's show-tooltip and hide-tooltip signals and show the tip
	in the display's status bar.
2006-03-09 15:26:33 +00:00
e1ceed5147 define GIMP_PARAM_STATIC_STRINGS which is G_PARAM_STATIC_NAME|NICK|BLURB.
2006-01-18  Michael Natterer  <mitch@gimp.org>

	* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
	which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
	GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
	GIMP_PARAM_STATIC_STRINGS.

	* app/*/*.c: use them for all object properties so their
	strings are not copied.
2006-01-18 20:29:40 +00:00
61df53ec54 port to G_DEFINE_TYPE() and friends. Some related cleanup.
2005-12-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-19 22:37:49 +00:00
39f4e7bdb3 applied patch from Robert Ögren that frees the event returned by
2005-08-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c (gimp_ui_manager_ui_popup): applied
	patch from Robert Ögren that frees the event returned by
	gtk_get_current_event(). Fixes bug #312017.
2005-08-06 14:37:53 +00:00
93eab43eef Use the canonical form for signal names.
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names.
2005-05-27 16:51:39 +00:00
5dd652faba improved reporting of errors while parsing the menu definitions.
2005-05-21  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpuimanager.c: improved reporting of errors
	while parsing the menu definitions.
2005-05-21 14:13:33 +00:00
fb03c60e15 allow to pass a NULL group_name and iterate all action groups to find the
2005-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c (gimp_ui_manager_find_action): allow
	to pass a NULL group_name and iterate all action groups to find
	the action in that case.

	* app/widgets/gimpcontrollereditor.c: show the action's stock icon
	in the "Action" column, using above function.
2005-05-11 21:15:16 +00:00
cb7f1dbe56 removed gimp_ui_manager_ui_get() and implement the new virtual functions
2005-02-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: removed gimp_ui_manager_ui_get()
	and implement the new virtual functions GtkUIManager::get_widget()
	and ::get_action() instead. Menu loading happens transparently now.

	* app/display/gimpdisplayshell.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: use
	gtk_ui_manager_get_widget() instead of the removed
	gimp_ui_manager_ui_get().
2005-02-08 20:55:00 +00:00
cf4a649f38 renamed gimp_ui_manager_get_action() to gimp_ui_manager_find_action().
2004-12-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: renamed
	gimp_ui_manager_get_action() to gimp_ui_manager_find_action().

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/display/gimpdisplayshell-close.c: changed accordingly.

	(this change is quite useless as it stands, but will help keeping
	the diff between 2.2 and 2.3 small as soon as we're branched).

	* app/widgets/gimpcolormapeditor.c
	(gimp_colormap_preview_button_press): invoke the "edit-color", not
	"new-color" action upon double click.

	(palette_editor_select_entry): update the ui manager after
	selecting the entry so the entry-specific actions become sensitive
	if there was no entry selected before.
2004-12-08 13:52:28 +00:00
d8337d6f24 improved error message about missing XML files.
2004-12-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c (gimp_ui_manager_ui_get): improved
	error message about missing XML files.
2004-12-01 13:27:03 +00:00
a27b0bff1c app/widgets/gimpuimanager.c (gimp_ui_manager_entry_load) only be verbose
2004-10-29  Sven Neumann  <sven@gimp.org>

        * app/widgets/gimpuimanager.c (gimp_ui_manager_entry_load)
        * app/widgets/gimpclipboard.c (gimp_clipboard_init): only be
        verbose on request.

        * app/plug-in/plug-in.c (plug_in_close): turned warnings into
        messages and respect gimp->be_verbose.
2004-10-29 21:54:32 +00:00
ea1dc9ab9f added utility function gimp_ui_manager_get_action() which takes
2004-10-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added utility function
	gimp_ui_manager_get_action() which takes "group_name" and
	"action_name".

	* app/display/gimpdisplayshell-close.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: use it.
2004-10-16 17:29:42 +00:00
357dc2d777 depend on GLib >= 2.4.5 and GTK+ >= 2.4.4.
2004-09-16  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on GLib >= 2.4.5 and GTK+ >= 2.4.4.

	* app/gui/gui.c: changed accordingly.

	* app/sanity.c: ditto. Added check for GLib and put each check
	into its own utility function. Enabled #if 0'ed check for
	FreeType >= 6.2.7.

	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpselectiondata.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpwidgets-utils.c: removed workarounds for library
	versions we refuse to start with.
2004-09-16 14:31:39 +00:00
94010e8316 app/config/gimpconfigwriter.c app/core/gimpstrokeoptions.c
2004-05-24  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfigwriter.c
	* app/core/gimpstrokeoptions.c
	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpcolorframe.h
	* app/widgets/gimpcolorpanel.h
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimptooldialog.h
	* app/widgets/gimpuimanager.c
	* app/widgets/widgets-types.h: fixed various small issues I
	stumbled across when updating the API reference for app/.
2004-05-24 14:51:15 +00:00
cf3533ba9c put the image popup menu into a dummy menubar to work around the silly
2004-05-17  Michael Natterer  <mitch@gimp.org>

	* menus/menus.xsl: put the image popup menu into a dummy menubar
	to work around the silly GtkUIManager restriction that popup menus
	can't have tearoff items.

	* app/menus/menus.c
	* app/menus/image-menu.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c: changed accordingly.

	* app/gui/gui.c (gui_restore_after_callback): connect to
	"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
	global image UI manager accordingly.

	* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
	"tearoff-menus" property because GtkUIManager can change this on
	the fly.

	* app/display/gimpdisplayshell.[ch]: added the menubar to the
	GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().

	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_show_menubar): use shell->menubar instead
	of asking the UI manager.

	* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
	to transparently load the XML files even if a sub-widget was
	requested. Reordered parameters of gimp_ui_manager_ui_popup().
	Lots of internal cleanups.

	* app/widgets/gimpdockable.c
	* app/widgets/gimptooloptionseditor.c: simplified accordingly.

	* app/widgets/gimpeditor.[ch]: added new function
	gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
	updates/shows the editor's menu.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().

	* app/widgets/gimptoolbox.c: moved all code from
	gimp_toolbox_new() to GObject::constructor().
2004-05-17 13:38:03 +00:00
2870718d45 re-added help for menu items. Still incomplete because there is no
2004-05-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.c: re-added help for menu items. Still
	incomplete because there is no fallback help ID yet when pressing
	F1 over a menu item which has a submenu. Added evil workaround and
	version check for signal brokenness of GtkUIManager in GTK+ 2.4.1.
2004-05-09 23:28:37 +00:00
7d7ef188fa added signal "update" which is G_SIGNAL_RUN_LAST, so handlers can hook in
2004-04-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added signal "update" which
	is G_SIGNAL_RUN_LAST, so handlers can hook in before and after
	the default implementation. Update the action groups
	in the default implementations.

	(gimp_ui_manager_ui_get): make sure we always return a widget
	by calling gtk_ui_manager_ensure_update().

	* app/widgets/gimpdockable.c (gimp_dockable_show_menu): make
	sure the dockable menu is loaded before trying to access its
	widgets/actions.

	Resurrected the dynamic tool options menus:

	* app/actions/tool-options-actions.c: dynamically destroy/create
	actions for the tool options' presets.

	* app/actions/tool-options-commands.[ch]: all callbacks are
	GimpEnumAction::selected() callbacks now.

	* app/gui/tool-options-menu.[ch]: connect and connect_after to
	GimpUIManager::update(). Remove the old preset menu items
	in the former callback, create the new ones in the latter.
	Removed the last item factory entries.

	* app/gui/menus.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.
2004-04-30 15:29:11 +00:00
0e1af3ee5a app/actions/Makefile.am app/actions/file-open-actions.[ch] actions for the
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/file-open-actions.[ch]
	* app/actions/file-save-actions.[ch]: actions for the <Load> and
	<Save> menus...

	* menus/Makefile.am
	* menus/file-open-menu.xml
	* menus/file-save-menu.xml: ...and the menus.

	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]: ported to UI Manager.

	* app/widgets/gimpfiledialog.[ch]: ditto.

	* app/actions/actions.c
	* app/gui/menus.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: changed accordingly.

	* app/widgets/gimpuimanager.c: removed debugging code which
	automatically loaded all registered menus. They are now loaded on
2004-04-29 17:47:53 +00:00
4654280114 Switch from GtkItemFactory to GtkUIManager. The migration is almost
2004-04-29  Michael Natterer  <mitch@gimp.org>

	Switch from GtkItemFactory to GtkUIManager. The migration is
	almost complete, still stuff missing/incomplete, definitely added
	a bunch of new bugs...

	* app/actions/*-commands.[ch]: converted all callback from
	GtkItemFactory callbacks to GtkAction callbacks.

	* app/actions/debug-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/help-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/qmask-actions.c
	* app/actions/tool-options-actions.c: various fixes.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: move everything from
	GtkItemFactory to GtkUIManager.

	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
	Needed because the action callbacks don't have a widget parameter
	and sometimes we need a parent window for showing dialogs.

	* app/gui/Makefile.am
	* app/gui/brushes-menu.[ch]
	* app/gui/buffers-menu.[ch]
	* app/gui/channels-menu.[ch]
	* app/gui/colormap-editor-menu.[ch]
	* app/gui/dialogs-menu.[ch]
	* app/gui/documents-menu.[ch]
	* app/gui/error-console-menu.[ch]
	* app/gui/fonts-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/images-menu.[ch]
	* app/gui/layers-menu.[ch]
	* app/gui/palette-editor-menu.[ch]
	* app/gui/palettes-menu.[ch]
	* app/gui/patterns-menu.[ch]
	* app/gui/qmask-menu.[ch]
	* app/gui/templates-menu.[ch]
	* app/gui/vectors-menu.[ch]: removed these files.

	* app/gui/gui.c: create a global UI manager for the image popup
	menu and the toolbox menubar.

	* app/gui/menus.[ch]: removed all GtkItemFactory code.

	* app/gui/image-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
	setup_funcs.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/tool-options-menu.c: don't use the macros from menus.h
	any more, they are gone.

	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
	menu entries.

	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
	gimp_ui_manager_update/g

	* app/widgets/gimpuimanager.[ch]: added API to get an action
	group by name.

	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
	entries being NULL.

	* app/widgets/gimpactiongroup.c: make sure booleans set using
	g_object_set() only have TRUE or FALSE values.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
	code and enable the #if 0'ed UI manager stuff.

	* menus/gradient-editor-menu.xml: fixed typos.

	* menus/image-menu.xml: duplicate everything so we have both
	an image menubar and an image popup menu. Badly cries for an
	XSL processor.

	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-29 12:52:29 +00:00
4e8105c12f Correctly translated & sorted plug-in actions & menu entries:
2004-04-27  Michael Natterer  <mitch@gimp.org>

	Correctly translated & sorted plug-in actions & menu entries:

	* app/widgets/gimpuimanager.[ch]: added a "gchar *name" property
	and a hash table which keeps all created UI managers (similar to
	GimpActionGroup's hash table). Added function
	gimp_ui_managers_from_name() which returns a list of all managers
	with the given name.

	* app/widgets/gimpmenufactory.c: register a name per UI manager
	and pass the name to gimp_ui_manager_new().

	* app/actions/plug-in-actions.c: added code which correctly
	translates the created plug-in actions and also creates translated
	menu actions for the plug-in's menu_path elements.

	* app/gui/plug-in-menus.[ch]: sort the plug-ins' menu entries
	using a GTree. For each entry, recursivlely create submenus
	from the dynamic menu actions created above before creating
	the plug-in's menu entry itself.

	* app/gui/image-menu.c (image_menu_setup2)
	* app/gui/toolbox-menu.c (toolbox_menu_setup2): call
	plug_in_menus_create2().

	* app/gui/gui-vtable.c (gui_menus_create_entry)
	(gui_menus_delete_entry): added some uglyness which maps old <Prefix>
	menu identifiers to new-style UI manager plus ui_path tuples and
	call plug_in_menus_add,remove_proc() accordingly.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: added name="Foo" attributes to all menus
	so plug-in entries find their place.
2004-04-27 12:28:27 +00:00