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-02-27 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpfiledialog.[ch]: new widget swallowing most
of file-dialog-utils.[ch]'s functionality.
* app/widgets/widgets-types.h: added "gpointer callback_data" to
GimpItemFactorySetupFunc so the setup_funcs can create items in
the same context as the item factory's default items.
* app/widgets/gimpmenufactory.c (gimp_menu_factory_menu_new):
pass "callback_data" to setup_func().
* app/gui/file-open-menu.[ch]
* app/gui/file-save-menu.[ch]: use the passed callback_data
when creating the menus and attach the file_proc to the
menu items using g_object_set_data().
* app/gui/file-commands.[ch]: merged separate file type callbacks
for open and save dialogs into one callback which simply
calls gimp_file_dialog_set_file_proc().
* app/gui/file-dialog-utils.[ch]: removed file_dialog_new()
and file_dialog_set_proc().
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]: use the new widget and removed
global variables except the dialog pointer itself.
* app/gui/image-menu.[ch]
* app/gui/tool-options-menu.[ch]
* app/gui/toolbox-menu.[ch]: changed accordingly.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/gui/tool-options-menu.[ch] (tool_options_menu_setup): new
function for stuff which needs to be done once, not on every
tool_options_menu_update(). Cleanup.
* app/gui/menus.c: register it as setup_func of <ToolOptions>.
* app/gui/tool-options-commands.c: removed the "Reset"
implementations and activate GimpToolOptionsEditor's buttons
accordingly.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_TOOL_OPTIONS_DELETE.
* app/widgets/gimptooloptionseditor.[ch]: moved "Reset"
implementations to this file. Added "Delete" button. Pop up the
"Save", "Restore" and "Delete" submenus of the <ToolOptions>
item_factory when the resp. buttons are clicked.
2003-09-29 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.[ch]: added a GimpContainer of tool
options presets.
* app/core/gimptooloptions.[ch] (gimp_tool_options_set_property):
silently accept setting the *same* tool_info again.
(gimp_tool_options_build_filename): is public now.
* app/tools/gimp-tools.c (gimp_tools_restore,save): load and save
the presets container.
* app/gui/tool-options-dialog.[ch]: removed.
* app/gui/tool-options-commands.[ch]
* app/gui/tool-options-menu.[ch]: new files implementing a menu
for the new GimpToolOptionsEditor widget. Has submenus for saving,
loading, and deleting tool options to/from the
tool_info->options_presets container.
* app/gui/Makefile.am
* app/gui/dialogs-constructors.c
* app/gui/menus.c: changed accordingly.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimptooloptionseditor.[ch]: the tool options dialog
as proper widget. The "Load" and "Save" buttons still do the same
stuff as before. Will make them use the new presets since making
them do something useful was the reason for this whole change.
* app/widgets/gimphelp-ids.h: added missing help IDs for the tool
options dialog.