Commit Graph

417 Commits

Author SHA1 Message Date
6423529b86 app/gui/Makefile.am new files implementing a clipboard for image data
2004-07-02  Sven Neumann  <sven@gimp.org>

	* app/gui/Makefile.am
	* app/gui/clipboard.[ch]: new files implementing a clipboard for
	image data based on GDK_SELECTION_CLIPBOARD (bug #133247).

	* app/actions/edit-actions.c
	* app/actions/edit-commands.c: use the new clipboard API.

	* app/gui/gui.c: initialize and shutdown the clipboard.

	* app/core/gimpbuffer.c: cosmetics.

	* app/actions/actions.c
	* app/menus/menus.c: added sanity checks to exit functions.

	* app/display/gimpdisplayshell-dnd.[ch]: let
	gimp_display_shell_drop_svg() take a guchar * buffer.

	* app/widgets/gimpselectiondata.c (gimp_selection_data_get_pixbuf):
	fixed the implementation.
2004-07-02 14:08:15 +00:00
8ab1ae98a3 app/actions/Makefile.am app/actions/context-actions.[ch] added new action
2004-06-15  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/context-actions.[ch]
	* app/actions/context-commands.[ch]: added new action group to
	modify all GimpContext properties. So far there are actions to
	cycle through the lists of brushes, patterns etc., to change the
	opacity, to swap and default colors and to edit generated brushes.

	* app/actions/actions.c: register the new "context" action group.

	* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: removed "tools-default-colors"
	and "tools-swap-colors" actions and callbacks because they are
	in the "context" action group now.

	* app/menus/menus.c: add the "context" group to the <Image> and
	<Dock> UI managers.

	* menus/image-menu.xml.in: changed accordingly. Added a temporary
	"Context" menu to test and debug the new actions.
2004-06-15 15:42:50 +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
efcade0afa added file-menu.[ch] and file-dialog-menu.[ch]
2004-05-13  Michael Natterer  <mitch@gimp.org>

	* app/menus/Makefile.am: added file-menu.[ch] and
	file-dialog-menu.[ch]

	* app/menus/menus.[ch]: removed menus_open_recent_add()...

	* app/menus/file-menu.[ch]: ...and added it here as file_menu_setup().

	* app/menus/image-menu.c
	* app/menus/toolbox-menu.c: changed accordingly.

	* app/menus/file-dialog-menu.[ch]: added factored out code from the
	file-open and file-save menus as file_dialog_menu_setup().

	* app/menus/file-open-menu.c
	* app/menus/file-save-menu.c: call file_dialog_menu_setup().
2004-05-13 11:17:29 +00:00
2632cd8f64 app/actions/documents-actions.c app/actions/documents-commands.c
2004-05-12  Michael Natterer  <mitch@gimp.org>

	* app/actions/documents-actions.c
	* app/actions/documents-commands.c
	* app/actions/edit-actions.c
	* app/actions/edit-commands.[ch]
	* app/actions/layers-actions.c
	* app/actions/layers-commands.c
	* app/actions/select-actions.c
	* app/actions/select-commands.[ch]
	* app/actions/vectors-actions.c
	* app/actions/vectors-commands.[ch]: added tooltips for actions
	which are now used for dialog buttons, added callback
	implementations which formerly lived in various widgets, moved
	some actions around and did some general cleanups.

	* menus/image-menu.xml.in: s/edit-stroke/select-stroke/

	* menus/Makefile.am
	* menus/selection-editor-menu.xml: new popup menu.

	* app/menus/menus.c: register <SelectionEditor> and <UndoEditor>
	UI managers.

	* app/widgets/gimpeditor.[ch]: added construct properties
	"menu-factory", "menu-identifier", "ui-path" and "popup-data".
	Implement GObject::constructor() and create the UI manager
	if all needed properties were set. Enables creating action
	buttons at widget construction time because they need a
	UI manager.

	(gimp_editor_add_action_button): changed to take a va_list of
	"extended" actions which are invoked if the resp. button emits
	"extended_clicked". Store the actions and their modifier masks in
	a list attached to the button.

	* app/widgets/gimpcontainerview.c
	(gimp_container_view_item_selected): if the view has container
	*and* context, simply change the context and return.

	(gimp_container_view_context_changed): don't emit "select_item"
	manually but simply call gimp_container_view_select_item().

	(gimp_container_view_viewable_dropped): use
	gimp_container_view_item_selected() instead of changing the
	context directly.

	* app/widgets/gimpcontainereditor.c
	(gimp_container_editor_select_item): update the UI manager.

	* app/widgets/gimpdockable.c: don't try to fiddle with the
	dialog's menu if it doesn't have a ui_path (happens if the UI
	manager is just a collection of actions for the dialog buttons and
	has no menu registered).

	* app/widgets/gimpimageeditor.c: connect to the image's "flush"
	signal and update the UI manager in the callback.

	* app/widgets/gimpitemtreeview.c: use GimpEditor's construct
	properties to create the UI manager so GimpItemTreeView subclasses
	can have action buttons. Update the UI manager in
	gimp_item_tree_view_select_item().

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptoolview.c: changed calls to
	gimp_editor_add_action_button() accordingly and removed some
	unneeded select_item() implementations.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpvectorstreeview.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpselectioneditor.[ch]
	* app/widgets/gimpundoeditor.[ch]: use action buttons and removed
	lots of callbacks which went to the resp. action callbacks.

	* app/widgets/widgets-types.h: removed some now unneeded function
	prototypes.

	* app/gui/dialogs-constructors.c: changed (simplified) many dialog
	constructors accordingly.
2004-05-12 18:36:33 +00:00
da0de0873f Started making the toolbox configurable. Addresses bug #105764. Not
2004-05-10  Michael Natterer  <mitch@gimp.org>

	Started making the toolbox configurable.
	Addresses bug #105764. Not finished yet.

	* app/core/gimptoolinfo.[ch]: renamed "in_toolbox" to "visible"
	and made it a GObject property.

	* app/tools/gimp-tools.[ch]: added new function
	gimp_tools_get_default_order() which returns a GList of tool
	identifiers.

	* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: added actions & callbacks for
	toggling the "visible" boolean and for resetting all tools.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptoolview.[ch]: new widget which allows to
	toggle a tool's visibility and to reorder the tools.

	* app/widgets/gimptoolbox.[ch]: removed member "GtkWidget *trash"
	and pack all tool buttons into the same wrap box. Connect to
	"reoder" of the tool container and to "notify::visible" of all
	tool infos and update the toolbox accordingly.

	* app/gui/dialogs-constructors.c: create a GimpToolView for the
	tools list/grid.

	* app/menus/menus.c: register a <Tools> menu for the dialog above.

	* menus/Makefile.am
	* menus/tools-menu.xml: added the menu.
2004-05-10 00:41:57 +00:00
7b943b64b0 Enabled multiple menu entries per plug-in procedure:
2004-05-06  Michael Natterer  <mitch@gimp.org>

	Enabled multiple menu entries per plug-in procedure:

	* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
	"GList *menu_paths".

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/menus/menus.c
	* app/widgets/gimpfiledialog.c
	* app/xcf/xcf.c: changed accordingly.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c: create an action for the first
	element of proc_def->menu_paths.

	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.[ch]: create proxy widgets for each
	element of proc_def->menu_paths.

	* tools/pdbgen/pdb/plug_in.pdb: added new function
	gimp_plugin_menu_add() which can be called during query() and adds
	a menu path to a procedure registered by the calling plugin.

	* app/pdb/internal_procs.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimpplugin_pdb.[ch]: regenerated.

	* menus/image-menu.xml.in
	* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
	logical groups (like Image/Resize, Image/Scale, Image/Crop
	etc.). Added empty placeholder File/Send for stuff like print and
	mail. Added an "Acquire" menu under <Image>/File

	* plug-ins/common/mail.c
	* plug-ins/print/print.c
	* plug-ins/common/winprint.c: register under File/Send.

	* plug-ins/common/screenshot.c
	* plug-ins/winsnap/winsnap.c: also register under
	<Image>/File/Acquire.

	* plug-ins/common/autocrop.c
	* plug-ins/common/ccanalyze.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/threshold_alpha.c
	* plug-ins/common/zealouscrop.c: register additional menu entries
	under placeholders in the "Image" and "Layer" menus. This is not
	meant to be final but just a hint to keep in mind when
	reorganizing the plug-in menus.
2004-05-06 13:51:56 +00:00
5ef73e8748 no need for including gimp-intl.h.
2004-05-06  Sven Neumann  <sven@gimp.org>

	* app/menus/menus.c: no need for including gimp-intl.h.
2004-05-06 10:54:44 +00:00
d3439fc3af configure.in app/Makefile.am app/menus/.cvsignore app/menus/Makefile.am
2004-05-06  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am
	* app/menus/.cvsignore
	* app/menus/Makefile.am
	* app/menus/menus-types.h
	* app/menus/menus.[ch]
	* app/menus/file-open-menu.[ch]
	* app/menus/file-save-menu.[ch]
	* app/menus/image-menu.[ch]
	* app/menus/plug-in-menus.[ch]
	* app/menus/tool-options-menu.[ch]
	* app/menus/toolbox-menu.[ch]: moved all menus files to their
	own directory.

	* app/gui/Makefile.am
	* app/gui/menus.[ch]
	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]
	* app/gui/image-menu.[ch]
	* app/gui/plug-in-menus.[ch]
	* app/gui/tool-options-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed them here.

	* app/actions/debug-commands.c
	* app/actions/file-commands.c
	* app/gui/brush-select.c
	* app/gui/dialogs.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c: changed #includes accordingly.
2004-05-06 07:41:53 +00:00
96ba0235ed app/actions/file-actions.c remove "file-close" action and callback...
2004-05-05  Michael Natterer  <mitch@gimp.org>

	* app/actions/file-actions.c
	* app/actions/file-commands.[ch]: remove "file-close" action and
	callback...

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: ...and added it here as
	"view-close" because that's what it does.

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c: s/QMask/QuickMask/g

	* app/gui/menus.c: add the "channels" action group to the <Image>
	and <Dock> UI managers, renamed UI manager <Dialogs> to
	<Dockable>.

	* app/widgets/gimpdockbook.c: s/<Dialogs>/<Dockable>/.

	* menus/image-menu.xml.in: s/file-close/view-close/, added
	separators at the end of most menus, moved the bottom group of the
	"View" menu after the zoom group.
2004-05-05 11:40:20 +00:00
d8962eca96 register a <Dock> UI manager which has all action groups <Image> has
2004-05-04  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c: register a <Dock> UI manager which has all
	action groups <Image> has except "view".

	* app/widgets/gimpimagedock.[ch]: re-enabled the global shortcuts,
	using UI manager instead of item factory. Unfortunately actions
	without proxy widgets can't be activated so this change is pretty
	useless. Oh well, will find a hack to work around this later...
2004-05-04 21:16:40 +00:00
9377b26ebc added help IDs to all actions representing the toplevel popups and menus
2004-05-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/*-actions.c: added help IDs to all actions
	representing the toplevel popups and menus (as fallbacks for the
	still-to-be-written help system intrgration of GimpUIManager).

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
	call to gtk_ui_manager_ensure_update() because that's done by
	gimp_ui_manager_ui_get() now.

	* app/widgets/gimpmenufactory.[ch]: removed API to register and
	create item factories.

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

	* app/gui/dialogs.c
	* app/actions/plug-in-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpitemtreeview.c: removed leftover item factory
	cruft.

	* app/widgets/widgets-types.h: removed item factory typedefs...

	* app/widgets/gimpitemfactory.h: ...and added them here.

	* app/widgets/gimpactiongroup.[ch]: added new function
	gimp_action_group_add_plug_in_actions().

	* app/actions/plug-in-actions.c: use it here instead of adding
	the actions manually.

	* app/widgets/gimptoolbox.c: ported the code which dynamically
	updates the tool button tooltips on accelerator changes to
	GtkAction. Disabled the whole stuff because GTK+ lacks
	gtk_action_get_accel_closure().
2004-05-02 08:56:07 +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
a5130581db removed "translation-domain" property and simply use gettext(). Plug-In
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: removed "translation-domain"
	property and simply use gettext(). Plug-In domains are handled
	by plug-in-actions.c

	The following change finally starts breaking the old menu system
	while the new one is not fully in place yet. Have fun:

	* menus/image-menu.xml: added several <placeholder>s for plug-ins
	to register their menu entries in the middle of already existing
	menus.

	* app/gui/menus.c
	* plug-ins/common/mail.c
	* plug-ins/print/print.c
	* plug-ins/script-fu/scripts/copy-visible.scm: use the new
	placeholders to register menu entries.
2004-04-27 12:51:08 +00:00
11309f8e5e call actions_init() (gui_exit_after_callback): call actions_exit().
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/gui.c (gui_restore_callback): call actions_init()
	(gui_exit_after_callback): call actions_exit().

	* app/gui/menus.c (menus_init)
	(menu_exit): don't call them here.
2004-04-27 10:23:35 +00:00
bb0f359ac4 added GimpUIManagerSetupFunc typedef.
2004-04-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: added GimpUIManagerSetupFunc typedef.

	* app/widgets/gimpuimanager.[ch]: added the setup_func to the
	GimpUIManagerUIEntry struct and to gimp_ui_manager_ui_register().
	Call the setup_func after creating the UI. Replaced the term
	"identifier" by "ui_path".

	* app/widgets/gimpmenufactory.c: ditto.

	* app/gui/menus.c (menus_init): register the new setup_funcs below.

	* app/gui/menus.[ch] (menus_open_recent_add)
	* app/gui/image-menu.[ch] (image_menu_setup2)
	* app/gui/toolbox-menu.[ch] (toolbox_menu_setup2): new setup_funcs
	which add the "Open Recent" menu items.

	* app/actions/file-actions.c: removed "file-open-recent-empty"
	action because it's not needed.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: removed "file-open-recent-empty" menu
	items and added <placeholder>s for the "Open Recent" menu items.
2004-04-26 15:51:21 +00:00
1f7a5870cc fixed some typos in the UI Manager registration code.
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c (menus_init): fixed some typos in the UI Manager
	registration code.
2004-04-22 16:18:40 +00:00
0b8c4b3ec9 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
	API to update all action groups and knows which UIs it can create
	from which XML files.

	* app/widgets/gimpmenufactory.[ch]: register the XML file
	basenames along with path of their toplevel menus. Create
	GimpUIManagers instead of GtkUIManagers and register the
	XML files and menu paths with them.

	* app/gui/menus.c: register all XML files and their toplevel
	menu paths.

	* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
	creating the GtkItemFactory. Added "const gchar *ui_identifier"
	parameter to gimp_editor_create_menu().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
	parameters to all constructors.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: pass UI identifiers to the changed
	functions above.

	* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
	the menubar (menubar creating code still commented out).

	* app/display/gimpdisplay.c
	* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 16:33:17 +00:00
62dcfaecbf app/actions/qmask-actions.c prepared qmask_actions_update() and the qmask
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c: prepared qmask_actions_update()
	and the qmask callbacks to be merged into the image ui manager.

	* app/actions/dialogs-actions.c
	* app/actions/edit-actions.c
	* app/actions/file-actions.c
	* app/actions/image-actions.c
	* app/actions/layers-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/tools-actions.c
	* app/actions/view-actions.c: fixed lots of typos and buglets
	spotted in my first test run.

	* app/gui/menus.c: register the needed action groups with the
	<Image> menu.

	* app/tools/gimp-tools.c
	* app/tools/gimpdodgeburntool.[ch]
	* app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g.

	* app/widgets/gimpactionfactory.c
	* app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g,
	updated copyright header.

	* menus/image-menu.xml: fixed typos and added the "Filters"
	submenus.
2004-04-21 10:55:45 +00:00
27a2c8c0e6 More unused action stuff:
2004-04-21  Michael Natterer  <mitch@gimp.org>

	More unused action stuff:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactionfactory.[ch]: added a simple factory which
	produces GimpActionGroups.

	* app/widgets/gimpactiongroup.[ch]: added an "update_func" member
	to the GimpActionGroup struct. Added it as parameter to
	gimp_action_group_new(). Added function gimp_action_group_update().

	* app/widgets/gimpmenufactory.[ch]: added an "action_factory"
	member and constructor parameter. Added code to create
	GtkUIManagers from registered action group identifiers.

	* app/actions/Makefile.am
	* app/actions/actions.[ch]: new files: create a
	"global_action_factory" and register all action groups with it.

	* app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/

	* app/actions/plug-in-actions.[ch]: added API to add/remove
	plug-in procedure actions dynamically (unfinished).

	* app/gui/menus.c (menus_init): call actions_init().
	(menus_exit): call actions_exit().
2004-04-20 23:04:50 +00:00
661f6ddeb8 removed...
2004-04-20  Michael Natterer  <mitch@gimp.org>

	* app/gui/*-commands.[ch]: removed...

	* app/actions/*-commands.[ch]: ...and added here.

	* app/gui/Makefile.am
	* app/gui/*-menu.c
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/actions/Makefile.am
	* app/actions/*-actions.c: changed accordingly.

	* app/actions/plug-in-actions.[ch]
	* app/actions/tools-actions.[ch]: new files.

	* app/Makefile.am: had to add more -u evilness because gui/
	and actions/ have cyclic dependencies.

	* menus/image-menu.xml: added some more items.
2004-04-20 13:25:55 +00:00
cf13615514 app/gui/file-open-menu.c app/gui/file-save-menu.c app/gui/image-menu.c
2004-01-20  Michael Natterer  <mitch@gimp.org>

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/image-menu.c
	* app/gui/menus.c
	* app/gui/plug-in-menus.c: when dynamically creating menu entries,
	pass static_entry == FALSE to gimp_item_factory_create_item() so a
	*copy* of the the help_id is attached to the menu item.
	Fixes help for plug-in menu entries.
2004-01-20 02:37:28 +00:00
ddbc090847 fixed typo (bug #131670).
2004-01-16  Sven Neumann  <sven@gimp.org>

	* app/gui/menus.c (menus_init): fixed typo (bug #131670).
2004-01-16 11:40:10 +00:00
c947f0b297 remember the "create_tearoff" passed to gimp_item_factory_new() in the
2003-11-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemfactory.[ch]: remember the "create_tearoff"
	passed to gimp_item_factory_new() in the GimpItemFactory struct
	and removed "create_tearoff" from the create_item functions
	(it makes no sense to pass this per create_item).

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/image-menu.c
	* app/gui/menus.c
	* app/gui/plug-in-menus.c
	* app/gui/tool-options-menu.c: changed accordingly.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): create
	the menu bar without tearoff entries. It is very confusing to have
	both the popup menu (which is global and works on the active
	display) and the menu bar submenus (which are specific to this
	display) be torn off at the same time.
2003-11-08 18:07:33 +00:00
3b6318bff1 Only add FOO_DISABLE_DEPRECATED flags with GTK+ 2.2.x. Add
2003-11-01  Manish Singh  <yosh@gimp.org>

        * configure.in: Only add FOO_DISABLE_DEPRECATED flags with GTK+ 2.2.x.
        Add -DGDK_MULTIHEAD_SAFE.

        * app/config/test-config.c: use guints for strlen()

        * app/gui/gui.c
        * app/gui/info-window.c
        * app/gui/menus.c
        * app/widgets/gimpcontainerview.c
        * app/widgets/gimpcursor.c
        * app/widgets/gimpdevices.c
        * app/widgets/gimpdevicestatus.c
        * app/widgets/gimpimagedock.c
        * app/widgets/gimpitemfactory.c
        * app/widgets/gimpnavigationpreview.c
        * app/widgets/gimptoolbox.c
        * app/widgets/gimptooloptionseditor.c
        * app/widgets/gimpwidgets-utils.c
        * libgimp/gimpbrushmenu.c
        * libgimp/gimppatternmenu.c
        * libgimp/gimpui.c
        * plug-ins/FractalExplorer/Dialogs.c
        * plug-ins/FractalExplorer/FractalExplorer.c
        * plug-ins/common/screenshot.c
        * plug-ins/gimpressionist/gimpressionist.c: more GDK_MULTIHEAD_SAFE
        fixes.

        * plug-ins/common/wmf.c: #undef GDK_MULTIHEAD_SAFE.. this plug-in
        is going away anyway.

        * app/widgets/gimpcursor.h: add #warning about needing a proper
        multihead safe API.

        * app/gui/vectors-commands.c: s/clipoard/clipboard/
2003-11-01 20:06:01 +00:00
78b6153301 added gimp_container_freeze() / _thaw() around font list reloading.
2003-10-18  Michael Natterer  <mitch@gimp.org>

	* app/text/gimp-fonts.c (gimp_fonts_load): added
	gimp_container_freeze() / _thaw() around font list reloading.

	* app/tools/gimp-tools.c (gimp_tools_init): added missing
	gimp_container_freeze().

	* app/widgets/gimpcontainerview.c: connect to the container's
	"freeze" and "thaw" signals and empty / refill the view
	accordingly. Ignore "add", "remove" and "reorder" signals while
	the container is frozen. Fixes font list sorting after refresh and
	speeds up refreshing of fonts, brushes, patterns etc.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfontview.[ch]: new widget for the font list/grid.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_FONT_REFRESH.

	* app/gui/dialogs-constructors.c: changed accordingly.

	* app/gui/Makefile.am
	* app/gui/fonts-commands.[ch]
	* app/gui/fonts-menu.[ch]: new files: a menu for the font view.

	* app/gui/menus.c (menus_init): register the new <Fonts> menu.

	* app/gui/preferences-dialog.c (prefs_dialog_new): removed the
	fonts refreshing hack from the "Environment" page.
2003-10-18 16:23:15 +00:00
dedbe33b8d new function for stuff which needs to be done once, not on every
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 22:23:44 +00:00
d1ba870458 added a GimpContainer of tool options presets.
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.
2003-09-29 20:26:09 +00:00
c5fd48f2fb added a "menu_title" which is registered with each menu.
2003-09-23  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpmenufactory.[ch]: added a "menu_title" which is
	registered with each menu.

	* app/widgets/gimpitemfactory.[ch]: added the title to the
	constructor and to the GimpItemFactory struct.

	* app/gui/menus.c: register titles with all menus.

	* app/widgets/gimpdockable.[ch]: show the tab menu, not the
	contained dialog's menu when clicking on the menu button.
	Embed the dialog's menu as submenu. Use the item_factory's
	title and the dockable's stock_id for the submenu entry.

	* app/widgets/gimpeditor.c: removed GtkWidget:popup_menu()
	implementation since that's done by GimpDockable now.

	* app/widgets/gimpdockbook.c: set the new menu item invisible
	when showing the menu as tab menu.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_DOCK_TAB_DETACH
	and renamed _TAB_REMOVE to _TAB_CLOSE.

	* app/gui/dialogs-menu.c: added the new menu entry for showing the
	dialog's sub-menu. Added a "Detach" menu item, renamed "Remove" to
	"Close". Accept both a GimpDockbook and a GimpDockable pointer as
	"data" in dialogs_menu_update().

	* app/gui/dialogs-commands.[ch]: changed accordingly. Never use
	gtk_item_factory_popup_data_from_widget() but always the "data"
	passed to the callbacks. Take care to not set the already active
	preview_size, tab_style and list/grid type in the resp. callbacks
	to avoid being called from dialogs_menu_update().

	* app/gui/dialogs-constructors.c: removed separate
	set_context_funcs and get_menu_funcs for GimpContainerView and
	GimpContainerEditor widgets and simply use
	gimp_container_view_get_by_dockable() to find the right widget.
2003-09-23 16:17:25 +00:00
f55261c2c1 add a shortcut of Ctrl-0 for the 10th entry.
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/gui/menus.c (menus_last_opened_add): add a shortcut of
	Ctrl-0 for the 10th entry.

	* app/config/gimpguiconfig.c: increased the default
	last-opened-size from 4 to 10; increased the max-new-image-size
	from 32M to 64M.
2003-09-23 14:05:03 +00:00
c9ef4b23f7 removed gimprc checks; let the functions always do what they are supposed
2003-09-22  Sven Neumann  <sven@gimp.org>

	* app/gui/menus.c (menus_restore) (menus_save): removed gimprc
	checks; let the functions always do what they are supposed to do.

	* app/gui/gui.c: check gimprc settings here and decide what to
	restore on startup and save on exit. Fixes bug #122930.
2003-09-22 15:31:54 +00:00
da27248654 removed redundant "Gimp" parameter, cleanup.
2003-09-09  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c (menus_last_opened_add): removed redundant
	"Gimp" parameter, cleanup.

	* app/gui/image-menu.c (image_menu_setup)
	* app/gui/toolbox-menu.c (toolbox_menu_setup): changed accordingly.
2003-09-09 21:32:00 +00:00
829449a86e app/widgets/gimpitemfactory.[ch] added a help_id to GimpItemFactory. It's
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpmenufactory.[ch]: added a help_id to
	GimpItemFactory.  It's basically the code I removed some days ago,
	but this time it's used as default help_id for the factory (e.g.
	if F1 is pressed over a separator), and not to construct html
	links.

	* app/widgets/gimphelp-ids.h: added some missing help IDs.

	* app/gui/menus.c: register a help IDs with each item factory.

	* app/display/gimpdisplayshell.c
	* app/gui/dialogs-menu.c: some more forgotten help IDs.
2003-08-25 17:57:21 +00:00
ba70ce9a10 changed GimpHelpFunc typedef: - renamed "const gchar *help_data" to "const
2003-08-23  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpwidgetstypes.h: changed GimpHelpFunc typedef:
	- renamed "const gchar *help_data" to "const gchar *help_id".
	- added "gpointer help_data".

	* libgimpwidgets/gimphelpui.[ch]: added "gpointer help_data" to
	gimp_help_connect(). Removed all fiddling with html links and
	treat all help IDs as opaque identifiers.

	* app/core/gimptoolinfo.[ch]: changed "help_data" member to
	"help_id".

	* app/widgets/gimpitemfactory.[ch]: removed the "help_path"
	parameter from gimp_item_factory_new() since we don't fiddle with
	html file paths any more. Simplifies menu item help a lot.
	Renamed "help_data" member of struct GimpItemFactoryEntry to
	"help_id".

	* app/gui/plug-in-menus.c: changed accordingly. 3rd party
	plug-ins' menu item help IDs are now encoded as
	"help_path:help_id".

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c: when constructing the <Load> and
	<Save> menus, take the resp. procedures' locale_domain and
	help_path into account. Fixes translation of 3rd party menu items.
	Also do the right thing for load/save procs which are implemented
	as temporary procedures (they are impossible to implement
	currently but it's nice to do the right thing anyway...).

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_MAIN identifier.

	* libgimpwidgets/gimpdialog.[ch]
	* libgimpwidgets/gimpwidgets.[ch]
	* libgimp/gimpui.c
	* app/display/gimpdisplayshell.c
	* app/gui/gui.c
	* app/gui/about-dialog.c
	* app/gui/color-notebook.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/gradients-commands.c
	* app/gui/help-commands.c
	* app/gui/image-menu.c
	* app/gui/menus.c
	* app/gui/preferences-dialog.c
	* app/gui/tips-dialog.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimphelp.[ch]
	* app/widgets/gimpmenufactory.[ch]
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* plug-ins/common/CEL.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/gee.c
	* plug-ins/common/gee_zoom.c
	* plug-ins/common/gqbist.c
	* plug-ins/common/spheredesigner.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/imagemap/imap_main.c: changed accordingly. Removed
	trailing whitespace all over the place.
2003-08-23 19:35:05 +00:00
fc20b3ac55 app/display/gimpdisplayshell.c app/gui/brush-select.c
2003-08-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c
	* app/gui/brush-select.c
	* app/gui/channels-menu.c
	* app/gui/convert-dialog.c
	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/image-menu.c
	* app/gui/layers-menu.c
	* app/gui/menus.c
	* app/gui/palette-import-dialog.c
	* app/gui/palette-select.c
	* app/gui/palettes-commands.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/qmask-menu.c
	* app/gui/templates-commands.c
	* app/gui/toolbox-menu.c
	* app/gui/vectors-menu.c
	* app/tools/[all tools].c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimphelp-ids.h: added, fixed and updated lots of
	help IDs. Still unfinished.
2003-08-22 01:42:57 +00:00
5e950b5501 Cleaned up and improved the message system:
2003-06-13  Michael Natterer  <mitch@gimp.org>

	Cleaned up and improved the message system:

	* app/core/gimp.[ch]: added "const gchar *domain" to
	GimpMessageFunc (a NULL domain means the message is from the GIMP
	core, everything else is a plug-in).

	* app/errors.c: pass "domain == NULL" to gimp_message().

	* tools/pdbgen/pdb/message.pdb: derive the message domain from the
	current plug-in's menu_path (evil hack but works reasonably well).

	* app/pdb/message_cmds.c: regenerated.

	* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
	header showing the message domain and changed the dialog layout to
	follow the HIG more closely.

	* app/gui/error-console-dialog.[ch]: removed.

	* app/widgets/gimperrorconsole.[ch]
	* app/gui/error-console-commands.[ch]
	* app/gui/error-console-menu.[ch]: new files containing a
	re-implementation of the error console dialog.

	* app/gui/Makefile.am
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: changed accordingly.

	* app/display/gimpprogress.c: added more spacing and removed the
	separator (more HIG compliant).

	* plug-ins/[most plug-ins].c: Changed lots of messages and
	progress strings:

	- Removed plug-in names from messages since that's automatically
	  covered by "domain" now.
	- Put all filenames in ''.
	- Changed "Loading" to "Opening".
	- Added "..." to all progress messages.
	- Cleaned up all file open/save error messages to look the
	  same and include g_strerror(errno).
	- Removed special casing for progress bars and *always* show them,
	  not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
	  all plug-ins to do this correctly but need to hack the core to
	  sort out unwanted progress bars).

	Unrelated:

	- Cleaned up indentation, spacing, #includes, coding style and
	  other stuff while I was at all these files.
2003-06-13 14:37:00 +00:00
487f71ba05 Removed the old paths and the remaining legacy stuff it needed. Fixes bug
2003-05-21  Michael Natterer  <mitch@gimp.org>

	Removed the old paths and the remaining legacy stuff it needed.
	Fixes bug #104471.

	* Makefile.am
	* configure.in
	* pixmaps/*: removed the pixmaps/ directory.

	* app/ops_buttons.[ch]
	* app/path.[ch]
	* app/pathP.h
	* app/path_transform.h
	* app/gui/paths-dialog.[ch]
	* app/tools/gimpbezierselecttool.[ch]: removed these files.

	* app/Makefile.am
	* app/gui/Makefile.am
	* app/tools/Makefile.am: changed accordingly.

	* app/core/core-types.h: removed the Path* types.

	* app/core/gimpimage.[ch]
	* app/core/gimpimage-duplicate.c: removed gimage->paths.

	* app/gui/about-dialog.c: inline wilber2_xpm for now.

	* app/gui/dialogs-constructors.c
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c
	* app/gui/menus.c: removed the old paths dialog.

	* app/gui/gui.c: removed gui_rotate_the_shield_harmonics() hack
	which was broken anyway.

	* app/tools/gimptransformtool.c: #if 0 path_transform preview stuff.

	* app/tools/gimpiscissorstool.c: removed useless include.

	* app/tools/tools.c: removed the bezier select tool.

	* app/vectors/gimpvectors.c (gimp_vectors_real_stroke_add): use
	g_list_append(), not g_list_prepend() so some ugly side conditions
	of legacy path loading are honored.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: load and save only GimpVectors.
2003-05-21 17:38:14 +00:00
5797c03295 app/config/gimpguiconfig.[ch] added "gboolean save_accels" and "gboolean
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h: added "gboolean save_accels" and
	"gboolean restore_accels".

	* app/gui/menus.[ch]: added menus_restore(), menus_save() and
	menus_clear().

	* app/gui/session.[ch]: added session_clear().

	* app/gui/gui.c: call menus_restore() and menus_save().

	* app/gui/preferences-dialog.c: brought the full core config
	options overkill to the GUI. Needs to be simplified. Cleaned
	up the "Interface" page a bit.
2003-04-08 10:02:42 +00:00
9827ceac0e added gimp_list_uniquefy_name() utility function.
2003-04-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplist.[ch]: added gimp_list_uniquefy_name() utility
	function.

	* app/core/gimpdatalist.c
	* app/core/gimpitem.c: use it here instead of duplicating almost
	the same code.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptemplateview.[ch]: new widget for editing the
	template list.

	* app/gui/dialogs-constructors.c: use it.

	* app/gui/Makefile.am
	* app/gui/templates-commands.[ch]
	* app/gui/templates-menu.[ch]: new files implementing the context
	menu for the template list.

	* app/gui/menus.c: register the new menu with the menu factory.

	* app/gui/file-commands.c (file_new_template_callback): uniquefy
	the new template's name.

	* app/gui/documents-commands.c: fixed typo.
2003-04-06 11:21:56 +00:00
0d61c2889c use "", not NULL for "no accelerator", since NULL will show the
2003-04-04  Michael Natterer  <mitch@gimp.org>

	* app/gui/documents-menu.c: use "", not NULL for "no accelerator",
	since NULL will show the stock_item's accelerator.

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: added a "Document History..." menu item
	at the bottom of the "Open Recent" submenus.

	* app/gui/menus.c (menus_last_opened_add): reorder the dynamically
	created entries to the top of the menu. Cleanup.
2003-04-04 10:11:38 +00:00
bab3855604 turns out we can override the XSetting.. do so.
2003-04-01  Manish Singh  <yosh@gimp.org>

        * app/gui/menus.c: turns out we can override the XSetting.. do so.

        * app/gui/preferences_dialog.c: Remove GNOME2 warning, it should work
        fine now.
2003-04-02 00:08:38 +00:00
35c1e88f43 added gboolean can_change_accels
2003-04-01  Manish Singh  <yosh@gimp.org>

        * config/gimpguiconfig.[ch]: added gboolean can_change_accels

        * config/gimprc-blurbs.h: blurb for the above

        * gui/preferences-dialog.c: UI for the above. Has warning about
        not working in GNOME2 yet (pending resolution of Bug #109653)

        * gui/menus.c: use can_change_accels. It simply parses the rc
        string gtk-can-change-accels = [0|1] depending on the state
        of can_change_accels in the gui config.

        * etc/gimprc
        * docs/gimprc-1.3.5.in: regenerated
2003-04-01 07:47:04 +00:00
c2a22d5d52 added gimp_font_list_restore() which loads the fonts (not yet).
2003-03-25  Michael Natterer  <mitch@gimp.org>

	* app/text/gimpfontlist.[ch]: added gimp_font_list_restore()
	which loads the fonts (not yet).

	* app/core/gimp.c: call it.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: added font list and grid views.

	* app/gui/menus.c: cosmetic.
2003-03-25 22:53:10 +00:00
28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
5f57c07fa5 removed.
2003-01-31  Michael Natterer  <mitch@gimp.org>

	* app/gui/file-dialog-utils.[ch] (file_dialog_update_menus): removed.

	* app/gui/file-save-menu.[ch] (file_save_menu_update): added here.

	* app/gui/menus.c: register it as non-automatic update_func.

	* app/gui/file-save-dialog.c: changed accordingly.
2003-01-31 11:54:16 +00:00
6f29b766e8 app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch]
2003-01-13  Michael Natterer  <mitch@gimp.org>

	* 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/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/image-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/toolbox-menu.[ch]
	* app/gui/vectors-menu.[ch]: new files, one per GimpItemFactory,
	containing the menu entries and their setup and update funcs.

	* app/gui/brushes-commands.[ch]
	* app/gui/patterns-commands.[ch]: removed because they contained
	only update funcs.

	* app/gui/Makefile.am: changed accordingly. Split the huge
	SOURCES list in smaller ones for menus and dialogs.

	* app/gui/menus.[ch]: removed the menu entries and setup funcs.
	Added MENU_SEPARATOR() and MENU_BRANCH() macros to the header.
	Made some utility functions public.

	* app/display/gimpdisplayshell.[ch]
	* app/gui/buffers-commands.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/colormap-editor-commands.[ch]
	* app/gui/dialogs-commands.[ch]
	* app/gui/documents-commands.[ch]
	* app/gui/gradient-editor-commands.[ch]
	* app/gui/gradients-commands.[ch]
	* app/gui/images-commands.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/palette-editor-commands.[ch]
	* app/gui/palettes-commands.[ch]
	* app/gui/qmask-commands.[ch]
	* app/gui/vectors-commands.[ch]: removed the update funcs.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_set_menu_sensitivity()
	to plug_in_menus_update(). Cleanup.

	* app/gui/paths-dialog.[ch]: added the <Paths> entries here
	so they will go away together with these files.

	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c: removed useless #includes.
2003-01-13 14:08:10 +00:00
8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
2003-01-10  Michael Natterer  <mitch@gimp.org>

	Move away from creating all item_factories statically in
	menus_init() but create a new one for each place where one is
	needed:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
	configures the GimpItemFactories it knows about on-the-fly.

	* app/widgets/gimpitemfactory.[ch]: added
	gimp_item_factory_update() which calls the "update_func". Added
	"gboolean update_on_popup" so item_factories can be configured to
	require manual updates (used for the <Image> factory).

	* app/gui/menus.[ch]: create a "global_menu_factory" and register
	all menus we have with it. Added various setup functions which
	do stuff like adding the "Open Recent" menu or reorder plug-in
	menu entries. Removed the debugging stuff...

	* app/gui/Makefile.am
	* app/gui/debug-commands.[ch]: ...and added it here.

	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
	<Paths> factories here because they are still global.

	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
	parameters to "item_factory" and create/update the entries for the
	passed item_factory only. Makes the whole stuff much more
	straightforward.

	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
	"popup_factory" parameters to gimp_display_new() and
	gimp_display_shell_new(). Create the menubar_factory and the
	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
	gimp_display_shell_menu_update() and don't call it directly (it's
	a GimpItemFactory update_func now). Call gimp_item_factory_update()
	on the resp. factories instead.

	* app/gui/qmask-commands.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpimagemaptool.c: changed accordingly.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemlistview.[ch]
	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
	GimpMenuFactory pointers and menu_identifiers so all views can
	create their item_factories themselves. Unref the factories when
	they are no longer needed because they belong to the views now.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
	menu_factory and menu_identifier parameters.

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
	and moved the <Load> and <Save> factory callbacks to file-commands.c

	* app/gui/file-commands.[ch]: changed accordingly.

	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
	and guides callbacks to do their job only if the setting has
	actually changed. Don't update whole item factories afterwards.
	Instead, just change the state of the items that actually need
	update.

	Unrelated:

	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
	and friends to FALSE since we don't know that the new channel will
	be empty (fixes QMask and probably other stuff).

	* app/gui/image-commands.c
	* app/gui/vectors-commands.c: cleanup.
2003-01-10 17:55:53 +00:00
a46305046a prefixed ALL, NONE, GROW and SHRINK with SELECTION_ since they should only
2003-01-10  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpstock.[ch]: prefixed ALL, NONE, GROW and
	SHRINK with SELECTION_ since they should only be used for in a
	selection context. Register a few icons in dialog size as well.

	* app/gui/menus.c
	* app/widgets/gimpselectioneditor.c: changed accordingly.

	* themes/Default/images: renamed icons accordingly.

	* plug-ins/common/uniteditor.c: use stock items.
2003-01-10 13:01:41 +00:00