Commit graph

2157 commits

Author SHA1 Message Date
Sven Neumann
e29c3cd230 quick fix for large previews 2004-09-27 19:51:28 +00:00
Sven Neumann
0527d02329 themes/Default/images/Makefile.am added a stock icon that shows a simple
2004-09-27  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-frame-64.png: added a stock icon
	that shows a simple drop shadow but could be exchanged for other
	image decorations.

	* libgimpwidgets/gimpstock.[ch]: register the new icon.

	* app/widgets/Makefile.am
	* app/widgets/gimpviewrenderer-frame.[ch]: new file that holds some
	ugly code to draw a frame around a preview pixbuf.

	* app/widgets/gimpviewrenderer.[ch]: the frame pixbuf is attached
	to the GimpViewRenderer class so it can be shared by all renderers.

	* app/widgets/gimpviewrendererimagefile.c: use the new functionality
	to draw a nice frame around imagefile previews.

	* app/widgets/gimpcontainerbox.c: draw imagefile preview w/o a border.
2004-09-27 19:40:12 +00:00
Michael Natterer
24f8d7e7c2 cleanup.
2004-09-27  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c: cleanup.

	* app/actions/vectors-commands.c
	* app/display/gimpdisplayshell.c
	* tools/pdbgen/pdb/paint_tools.pdb: removed unused #includes.

	* app/text/gimptext-bitmap.c
	* app/text/gimptext-parasite.c
	* app/text/gimptext-vectors.c
	* app/text/gimptext-xlfd.c
	* app/text/gimptext.c
	* app/text/gimptextlayer-xcf.c: include "text-types.h" instead
	of "text/text-types.h".

	* app/widgets/gimppatternselect.c: create a GimpPatternFactoryView
	instead of GimpDataFactoryView.

	* app/pdb/paint_tools_cmds.c: regenerated.
2004-09-27 12:30:04 +00:00
Michael Natterer
96a27b59cf app/actions/brushes-actions.c app/actions/gradients-actions.c
2004-09-27  Michael Natterer  <mitch@gimp.org>

	* app/actions/brushes-actions.c
	* app/actions/gradients-actions.c
	* app/actions/palettes-actions.c
	* app/actions/patterns-actions.c: made the "foo-edit" actions
	GimpStringActions and pass the identifier of the editor dialog
	to the callback.

	* app/actions/data-commands.[ch] (data_edit_data_cmd_callback):
	show the editor dialog here instead of calling view->edit_func().

	* app/dialogs/dialogs-constructors.[ch]: removed the brush,
	gradient and palette edit_funcs.

	* app/widgets/widgets-types.h: removed typedef GimpDataEditFunc.

	* app/widgets/gimpdatafactoryview.[ch]: removed the edit_func
	member and parameters and create the edit button unconditionally.

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimppatternfactoryview.[ch]: changed accordingly.

	* app/widgets/Makefile.am
	* app/widgets/gimpdataselect.[ch]: removed this class, it's not
	needed any longer.

	* app/widgets/gimpbrushselect.[ch]
	* app/widgets/gimpgradientselect.[ch]
	* app/widgets/gimppaletteselect.[ch]
	* app/widgets/gimppatternselect.[ch]: derive them from GimpPdbDialog
	and follow the edit_func removal.

	* app/gui/gui-vtable.c (gui_pdb_dialog_new): removed edit_func
	stuff.

	* app/widgets/gimpcontainereditor.c: minor unrelated cleanup.
2004-09-27 10:45:49 +00:00
Sven Neumann
ab269fc645 removed conversion to TempBuf. Instead implement
2004-09-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c: removed conversion to TempBuf.
	Instead implement GimpViewable::get_new_pixbuf by compositing the
	thumbnail on a checkerboard.

	* app/widgets/gimpviewrenderer.[ch]: renamed the no_view_pixbuf
	struct member to pixbuf.
	(gimp_view_renderer_real_render): try gimp_viewable_get_pixbuf()
	and render the pixbuf before falling back to the TempBuf preview.
	(gimp_view_renderer_render_pixbuf): new function that sets a
	pixbuf for the renderer and flushes the render_buffer.

	* app/widgets/gimpviewrendererimagefile.c
	(gimp_view_renderer_imagefile_render): render the pixbuf.

	* app/dialogs/dialogs-constructors.c: create the document history
	dockable with a zero borderwidth.
2004-09-26 23:44:24 +00:00
Sven Neumann
75a59c682d use the GIMP_CHECK_SIZE_SM define, not the enum value
2004-09-27  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
	the GIMP_CHECK_SIZE_SM define, not the enum value
	GIMP_CHECK_SIZE_SMALL_CHECKS which is 0 (eeek!).

	* app/pdb/fileops_cmds.c: regenerated.

	* app/widgets/gimphelp.c (gimp_help_get_locales): minor cleanup.
2004-09-26 23:26:25 +00:00
Michael Natterer
692863b31c added "data" property.
2004-09-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdataeditor.[ch]: added "data" property.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppaletteeditor.c: pass the current data to
	g_object_new() so we never end up with initially empty editors.
2004-09-26 19:41:56 +00:00
Michael Natterer
db85b16927 added CONSTRUCT_ONLY "data-factory" property. Removed
2004-09-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdataeditor.[ch]: added CONSTRUCT_ONLY
	"data-factory" property. Removed gimp_data_editor_construct().

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppaletteeditor.c: pass the construct parameters
	to g_object_new().
2004-09-26 19:26:37 +00:00
Sven Neumann
07e65b01cd changed label alignment to be more HIG conformant and consistent with the
2004-09-26  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolorframe.c: changed label alignment to be more
	HIG conformant and consistent with the rest of the user interface.
2004-09-26 19:15:51 +00:00
Michael Natterer
6a50c27047 added "name", "blurb", "stock_id" and "help_id" to struct
2004-09-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added "name", "blurb",
	"stock_id" and "help_id" to struct GimpDialogFactoryEntry and to
	gimp_dialog_factory_dialog_register(). Added typedef
	GimpDialogConstructor which takes a GimpDialogFactoryEntry in
	addition to the parameters GimpDialogNewFunc takes. Added a
	constructor function pointer to GimpDialogFactory which defaults
	to a function that just returns entry->new_func(). Use that
	constructor instead of entry->new_func() for creating
	dialogs. Added public API gimp_dialog_factory_set_constructor().

	* app/dialogs/dialogs.c: register name, blurb, stock_id and
	help_id for all dockables so all the dialog info lives in one huge
	ugly table now. For the global_toolbox_factory and the
	global_dock_factory, set a constructor which creates a dockable
	around the widget returned by entry->new_func().

	* app/dialogs/dialogs-constructors.[ch]: don't create the dockable
	in each dialog constructor. Removes tons of code and reduces most
	constructors to a "return gimp_foo_new(...)" one-liner. Got rid of
	all static variables, they were from a time when GimpDialogFactory
	was unable to manage singletons.

	* app/widgets/gimpbrusheditor.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]: return GtkWidget, not
	GimpDataEditor from gimp_foo_editor_new().

	* app/widgets/gimpdataeditor.c: minor cleanups.
2004-09-26 18:41:29 +00:00
Michael Natterer
f6a205f83f moved stuff from new() to init().
2004-09-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolordialog.c: moved stuff from new() to init().
2004-09-26 18:22:29 +00:00
Michael Natterer
b4ea222c23 Ported GimpNavigationView to use actions for its buttons:
2004-09-26  Michael Natterer  <mitch@gimp.org>

	Ported GimpNavigationView to use actions for its buttons:

	* app/menus/menus.c (menus_init): register a <GimpNaviagaionEditor>
	UI manager containing the "view" action group.

	* app/actions/actions.c (action_data_get_foo): handle "data" being
	a GimpNavigationEditor.

	* app/actions/view-actions.c (view_actions): added tooltips for
	the actions used in the editor.

	(view_actions_update): use action_data_get_display() instead of
	checking the type of "data" manually.

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button): use
	a GtkToggleButton instead of GimpButton for GtkToggleActions.

	* app/display/gimpnavigationeditor.[ch]: added a GimpMenuFactory
	parameter to the public constructor and removed all other
	parameters. Simplified gimp_navigation_editor_new_private() and
	use gimp_editor_add_action_button() instead of just add_button()
	for creating the buttons. Made gimp_navigation_view_set_shell()
	private. Update the UI manager when the shell zooms or scrolls.

	* app/dialogs/dialogs-constructors.c (dialogs_navigation_view_new):
	pass the menu_factory to gimp_navigation_editor_new().

	Removed #includes which are not needed any more.
2004-09-26 15:21:44 +00:00
Sven Neumann
1b58ab567a removed trailing whitespace.
2004-09-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpviewrenderer.h: removed trailing whitespace.
2004-09-25 20:59:36 +00:00
Michael Natterer
28f7c94dbf app/widgets/gimpcolormapeditor.[ch] app/widgets/gimphistogrameditor.[ch]
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimphistogrameditor.[ch]
	* app/widgets/gimpselectioneditor.[ch]: removed redundant "gimage"
	parameters from public constructors. They are all GimpImageEditor
	widgets which get their image via gimp_docked_set_context() and
	gimp_image_editor_set_image() later anyway. Fixes uglyness as well
	as problems where the editors had an image but no context, causing
	strange behavior in their foo_actions_update() functions.

	* app/dialogs/dialogs-constructors.c: changed accordingly. Removed
	redundant calls to gimp_dockable_set_context() on newly created
	dockables because they will get a context when added to their
	containers.
2004-09-25 12:48:41 +00:00
Michael Natterer
ed35eedb9f moved stuff from gimp_colormap_editor_new() to
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c: moved stuff from
	gimp_colormap_editor_new() to
	gimp_colormap_editor_init(). Untabified.
2004-09-25 11:25:49 +00:00
Sven Neumann
c58b176784 added resolution and image type information which is usually hidden in the
2004-09-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptemplateeditor.[ch]: added resolution and image
	type information which is usually hidden in the Advanced Options.
2004-09-25 01:47:01 +00:00
Sven Neumann
f4b3d0918e added a label that shows the pixel size (as in the initial mockup done by
2004-09-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptemplateeditor.[ch]: added a label that shows
	the pixel size (as in the initial mockup done by Jimmac).
2004-09-24 14:43:32 +00:00
Michael Natterer
ee5354e4b7 app/dialogs/Makefile.am removed...
2004-09-23  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/Makefile.am
	* app/dialogs/color-dialog.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolordialog.[ch]: ...and added as widget.

	* app/core/gimpmarshal.list: new marshaller VOID__BOXED_ENUM.

	* app/widgets/widgets-enums.[ch]: new enum GimpColorDialogState.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* app/actions/gradient-editor-commands.c
	* app/actions/view-commands.c: ported to GimpColorDialog. Removes
	a whole bunch of ugly widgets/ -> dialogs/ dependencies.
2004-09-23 20:41:40 +00:00
Michael Natterer
9ffc00be80 app/plug-in/Makefile.am removed... ...and added with a new name.
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-proc.[ch]: removed...
	* app/plug-in/plug-in-proc-def.[ch]: ...and added with a new name.

	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-message.[ch]
	* app/plug-in/plug-in-progress.[ch]
	* app/plug-in/plug-in-rc.[ch]
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.[ch]
	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/file/file-utils.[ch]
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimppluginaction.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly plus some
	minor cosmetic cleanups.

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2004-09-22 15:12:24 +00:00
Michael Natterer
10d80dac75 removed the hack that was displaying "Floating Selection" instead of the
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): removed the
	hack that was displaying "Floating Selection" instead of the
	floating layer's real name.

	* app/core/gimplayer.c: implement GimpViewable::get_description()
	instead and special case floating selections with a two-line
	text that contains "Floating Selection".

	* app/core/gimplayer-floating-sel.c
	* app/core/gimpimage-undo-push.c: emit "name_changed" on the layer
	when it changes its state from floating to normal or vice versa
	so the views can update accordingly.

	* app/core/gimpselection.c: s/"Selection"/"Floated Layer"/.

	* app/tools/gimpeditselectiontool.c:
	s/"Floating Layer"/"Floating Selection"/.
2004-09-22 12:46:35 +00:00
Sven Neumann
e0d0d7cff1 removed the prelit event box from the header frame, use a smaller font for
2004-09-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpviewabledialog.c: removed the prelit event box
	from the header frame, use a smaller font for the subtitle,
	removed the separator.

	* app/dialogs/preferences-dialog.c: removed the prelit event box
	from the header frame. Perhaps we should have subtitles here with
	a more verbose description of the settings page?
2004-09-21 22:31:20 +00:00
Michael Natterer
37912655f2 For the sake of completeness, added a GUI for the hidden "Open as Layer"
2004-09-21  Michael Natterer  <mitch@gimp.org>

	For the sake of completeness, added a GUI for the hidden
	"Open as Layer" feature:

	* app/actions/file-actions.c
	* app/actions/file-commands.[ch]: added "file-open-as-layer"
	action and callback. Abuse the "gimage" field of GimpFileDialog to
	indicate layer opening (it's otherwise unused for file-open).

	* app/dialogs/file-open-dialog.c: if dialog->gimage is non-NULL,
	open the selected files as layers for that image.

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

	* menus/image-menu.xml.in: added it to the menu.
2004-09-21 12:08:30 +00:00
Sven Neumann
69c5ce557d fixed handling of too many error messages.
2004-09-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimperrordialog.c (gimp_error_dialog_add): fixed
	handling of too many error messages.
2004-09-19 17:10:53 +00:00
Sven Neumann
c3ef897b10 Try to make floating selections more obvious:
2004-09-19  Sven Neumann  <sven@gimp.org>

	Try to make floating selections more obvious:

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): always display
	"Floating Selection" as the name for a floating selection.

	* app/core/gimpselection.c (gimp_selection_float): call the new
	layer "Selection" instead of "Floating Selection". This is what
	will be displayed if the FS is turned into a layer.

	* app/actions/layers-commands.c (layers_edit_layer_query): don't
	special case floating selections here.

	* app/core/gimplayer-floating-sel.c: cosmetics.
2004-09-19 16:56:03 +00:00
Michael Natterer
c9cac47fbe use gimp_component_editor_get_iter() instead of duplicating its code.
2004-09-17  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcomponenteditor.c
	(gimp_component_editor_renderer_update): use
	gimp_component_editor_get_iter() instead of duplicating its code.
2004-09-17 11:20:30 +00:00
Simon Budig
430c5f8170 Added a slider for the brush spacing to the brush editor. Should make it
2004-09-17  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpbrusheditor.[ch]: Added a slider for the
	brush spacing to the brush editor. Should make it more obvious
	how to change it.
2004-09-17 10:31:34 +00:00
Michael Natterer
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
Michael Natterer
f338d93835 reverse order of DND dests so "text/uri-list" is preferred again after my
2004-09-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_uri_list_dest_add): reverse
	order of DND dests so "text/uri-list" is preferred again after my
	DND change of 2004-06-29. Fixes dropping of multiple files.
2004-09-16 14:28:10 +00:00
Michael Natterer
0514ee4ba2 set the viewable renderer's "renderer" property to NULL when clearing the
2004-09-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcomponenteditor.[ch]: set the viewable
	renderer's "renderer" property to NULL when clearing the
	view to work around bug #149906.
2004-09-16 14:00:02 +00:00
Michael Natterer
186b590844 added help IDs for the drawable- and vectors-visible and -liked actions as
2004-09-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphelp-ids.h: added help IDs for the drawable- and
	vectors-visible and -liked actions as well as for the layer mask
	property action.

	* app/actions/drawable-actions.c
	* app/actions/vectors-actions.c: use them.

	* app/actions/layers-actions.c
	* app/actions/layers-commands.[ch]: ditto. Use
	GIMP_STOCK_TRANSPARENCY for all layer opacity actions. Replaced
	"paint_mode" by "mode" in all action and function/variable names
	because this is the layer mode, not a paint mode.

	* app/actions/channels-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c: set the "activates-default"
	property on the name entry in all "New Foo" and "Edit Foo
	Attributes" dialogs except in the "New Layer" dialog.
	Addresses bug #148026.

	* menus/image-menu.xml.in: added a (commented out) layer
	properties menu containing all the new actions.
2004-09-15 15:06:08 +00:00
Michael Natterer
6a723efc4b app/actions/layers-actions.c added actions and callbacks
2004-09-15  Michael Natterer  <mitch@gimp.org>

	* app/actions/layers-actions.c
	* app/actions/layers-commands.[ch]: added actions and callbacks
	"layers-preserve-transparency" and
	"layers-paint-mode-first,last,previous,next". Update the "active"
	state of the recently added layer mask property actions in
	layers_actions_update().

	* app/actions/drawable-actions.c
	* app/actions/drawable-commands.[ch]: added actions and callbacks
	for "drawable-visible" and "drawable-linked". Fixes bug #152597.

	* app/actions/vectors-actions.c
	* app/actions/vectors-commands.[ch]: same here ("vectors-visible"
	and "vectors-linked").

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_preserve_button_toggled): flush the image
	so the new actions are updated. Compress preserve_trans undos.

	* menus/image-menu.xml.in: added the layer mask property actions
	to the Layers/Mask submenu.

	* menus/layers-menu.xml: reordered the mask property actions
	to have the same order as in the image menu.
2004-09-15 13:24:45 +00:00
Sven Neumann
b5f8fa24d8 improved the fix for bug #152662 and removed trailing whitespace.
2004-09-15  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontainertreeview.c
	(gimp_container_tree_view_menu_position): improved the fix for bug
	#152662 and removed trailing whitespace.
2004-09-15 09:34:02 +00:00
Nathan Summers
8c4062f2b2 clamp the popup menu's Y position to the visible area of the GtkTreeView.
2004-09-15  Nathan Summers  <rock@gimp.org>

        * app/widgets/gimpcontainertreeview.c
        (gimp_container_tree_view_menu_position): clamp the popup menu's Y
        position to the visible area of the GtkTreeView.  Fixes #152662.
2004-09-15 05:55:56 +00:00
Michael Natterer
d62a3f0487 simplified the code which deals with the global_buffer's preview. The new
2004-09-14  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpbufferview.c: simplified the code which deals
	with the global_buffer's preview. The new buffer view renderer
	does the aspect ratio magic all by itself now.

	* app/actions/image-commands.h: removed trailing whitespace.
2004-09-14 12:19:16 +00:00
Michael Natterer
c450ca1858 app/widgets/Makefile.am app/widgets/widgets-types.h added a view renderer
2004-09-14  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpviewrendererbuffer.[ch]: added a view renderer
	which knows how to preserve a GimpBuffer's aspect ratio if the
	view's aspect ratio is different.

	* app/widgets/gimpviewrenderer-utils.c
	(gimp_view_renderer_type_from_viewable_type): use it for viewables
	of type GimpBuffer. Fixes bug #152531
2004-09-14 12:06:28 +00:00
Michael Natterer
7d065360c7 configure.in added new directory app/dialogs and link libappdialogs.c into
2004-09-13  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/dialogs and link
	libappdialogs.c into the gimp binary.

	* app/gui/Makefile.am
	* app/gui/gui-types.h
	* app/gui/gui-vtable.c
	* app/gui/gui.c

	* app/gui/about-dialog.[ch]
	* app/gui/authors.h
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.[ch]
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.[ch]
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-open-location-dialog.[ch]
	* app/gui/file-save-dialog.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.[ch]
	* app/gui/module-browser.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/palette-import-dialog.[ch]
	* app/gui/preferences-dialog.[ch]
	* app/gui/quit-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/resolution-calibrate-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/tips-dialog.[ch]
	* app/gui/tips-parser.[ch]
	* app/gui/user-install-dialog.[ch]: removed these files...

	* app/dialogs/Makefile.am
	* app/dialogs/dialogs-types.h

	* app/dialogs/*.[ch]: ...and added them here. Changed some
	filenames like module-browser -> module-dialog.

	* app/app_procs.c
	* app/actions/actions-types.h
	* app/actions/actions.c
	* app/actions/dialogs-actions.c
	* app/actions/dialogs-commands.c
	* app/actions/dockable-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/file-commands.c
	* app/actions/gradient-editor-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/templates-commands.c
	* app/actions/templates-commands.h
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.[ch]
	* app/tools/gimpcroptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.[ch]
	* app/tools/gimpvectortool.c
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* menus/toolbox-menu.xml.in
	* tools/authorsgen/authorsgen.pl: changed accordingly.
2004-09-13 15:15:23 +00:00
Sven Neumann
952cd37e00 simulate the behaviour of GNU gettext and look at the LANGUAGE environment
2004-09-13  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp.c: simulate the behaviour of GNU gettext and
	look at the LANGUAGE environment variable if the locale is not "C".
2004-09-13 12:19:34 +00:00
Simon Budig
4a75d7271e Added boolean parameter to gimp_dialog_factories_toggle to make it
2004-09-11  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: Added boolean parameter to
	gimp_dialog_factories_toggle to make it possible to ensure a visible
	toolbox.

	* app/actions/dialogs-commands.c: Use the new parameter to ensure
	toolbox visibility after the last image window closes.

	* app/display/gimpdisplayshell-callbacks.c: Changed accordingly.

	Fixes bug #137057 (the discussion is in bug #152285)
2004-09-11 19:19:26 +00:00
William Skaggs
fe876df0ed Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimperrorconsole.c: fix typo
2004-09-10 15:38:17 +00:00
Michael Natterer
4b553f186c always call gdk_drag_status() before returning FALSE.
2004-09-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview-dnd.c
	(gimp_container_tree_view_drop_status): always call
	gdk_drag_status() before returning FALSE.

	(gimp_container_tree_view_drag_motion): never return FALSE, an
	impossible drop location is now reported by calling
	gdk_drag_status() above. Always returning TRUE makes sure
	gimp_container_tree_view_drag_leave() is called unconditionally
	and can remove the scroll_timeout set in drag_motion().

	Fixes bug #152193 and many other obscure DND crashes caused by the
	scroll_timeout being invoked after the widget is destroyed.
2004-09-10 12:20:16 +00:00
Michael Natterer
fa3f37e96e app/widgets/gimpviewrendererbrush.c app/widgets/gimpviewrendererdrawable.c
2004-09-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpviewrendererbrush.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrenderergradient.c
	* app/widgets/gimpviewrendererimage.c
	* app/widgets/gimpviewrendererimagefile.c
	* app/widgets/gimpviewrendererlayer.c
	* app/widgets/gimpviewrenderervectors.c: purely cosmetic cleanup.
2004-09-09 11:58:49 +00:00
Michael Natterer
d7fc14fbc8 use g_type_name(dialog_type) instead of just "pdb dialog" as name for the
2004-09-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppdbdialog.c (gimp_pdb_dialog_constructor): use
	g_type_name(dialog_type) instead of just "pdb dialog" as name for
	the dialog's private context.
2004-09-09 11:48:45 +00:00
Michael Natterer
abf395c0cd renamed parameter "gboolean raise_if_found" to "return_existing" and added
2004-09-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factory_dialog_new_internal): renamed parameter
	"gboolean raise_if_found" to "return_existing" and added
	additional parameter "gboolean present".

	(gimp_dialog_factory_dialog_new)
	(gimp_dialog_factory_dialog_raise)
	(gimp_dialog_factory_dockable_new): pass both parameters (passing
	"present" as "raise_if_found" was not quite correct).
2004-09-09 09:02:26 +00:00
Michael Natterer
d8a3c0c08c simplified the code that selects an image file by its URI.
2004-09-07  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_uri):
	simplified the code that selects an image file by its URI.
2004-09-07 10:45:36 +00:00
Simon Budig
20504d16a9 Added an indicator for generated brushes. Pretty straightforward,
2004-09-07  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpviewrendererbrush.c: Added an indicator for
	generated brushes. Pretty straightforward, suggestions for
	improvements are welcome.
2004-09-06 23:55:24 +00:00
Sven Neumann
4bfbd2c5c3 bumped version number to 2.1.5.
2004-09-05  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 2.1.5.

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_uri): select
	the image file, not only the folder it lives in. Fixes bug #151638.
2004-09-05 20:17:53 +00:00
Simon Budig
fe7eb34e6e Implement function to resize the image to contain all layers completely.
2004-09-05  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-resize.[ch]: Implement function to resize
	the image to contain all layers completely. Untabified.

	* app/actions/image-actions.c
	* app/actions/image-commands.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: Make it available in the GUI.

	* tools/pdbgen/pdb/image.pdb: Make it available in the PDB.

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpimage_pdb.[ch]: regenerated.
2004-09-04 22:08:43 +00:00
Michael Natterer
1c045ca77e removed "Configure input devices" button. Fixes bug #150177.
2004-09-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdevicestatus.c: removed "Configure input
	devices" button. Fixes bug #150177.
2004-09-03 14:26:50 +00:00
Michael Natterer
2a67415c51 app/display/gimpdisplay.c gracefully handle progress calls after the
2004-09-01  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.c
	* app/widgets/gimpprogressdialog.c: gracefully handle progress
	calls after the widget is destroyed. Re-fixes bug #150194.
2004-09-01 15:26:48 +00:00
Sven Neumann
ce1370bb2e added a boolean parameter to gimp_dialog_factory_dialog_new() to let the
2004-09-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added a boolean parameter to
	gimp_dialog_factory_dialog_new() to let the caller decide whether
	the window should be presented or not.

	* app/actions/dialogs-commands.c
	* app/actions/image-commands.c
	* app/actions/templates-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/widgets/gimpsessioninfo.c: changed accordingly. Do not let
	gimp_dialog_factory_dialog_new() present the dialog if we need to
	change it after creation. This avoids annoying resizes, noticeable
	especially with the error dialog.
2004-08-31 22:41:15 +00:00
Sven Neumann
cd4154e142 app/widgets/gimpdockable.c converted tabs to spaces.
2004-08-31  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c
	* libgimp/gimpdrawablepreview.c: converted tabs to spaces.
2004-08-31 21:29:30 +00:00
Michael Natterer
a3bb332214 emit "clicked" on the edit_button only if it exists and is sensitive.
2004-08-31  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdatafactoryview.c
	(gimp_data_factory_view_activate_item): emit "clicked" on the
	edit_button only if it exists and is sensitive. Fixes bug #151343.
2004-08-31 21:07:35 +00:00
David Odin
b7f58e163e Renamed GimpPreviewSize to GimpViewSize.
* app/core/core-enums.h: Renamed GimpPreviewSize to GimpViewSize.

* app/core/core-enums.c: Regenerated.

* app/actions/dockable-actions.c

* app/config/gimpcoreconfig.c
* app/config/gimpcoreconfig.h
* app/config/gimpdisplayconfig.c
* app/config/gimpdisplayconfig.h

* app/core/gimpundo.c

* app/display/gimpnavigationeditor.c

* app/gui/dialogs.c
* app/gui/file-open-location-dialog.c

* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c

* app/widgets/gimpbrushselect.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpundoeditor.h
* app/widgets/gimpviewablebutton.c: Changed accordingly.
2004-08-29 11:58:05 +00:00
Sven Neumann
7e9f0d4a71 applied a patch from Joao S. O. Bueno which adds an API that allows to
2004-08-28  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.[ch]: applied a patch from Joao
	S. O. Bueno which adds an API that allows to make the scale widget
	of a GimpScaleEntry behave logarithmic. Fixes bug #149420.

	* app/widgets/gimpbrusheditor.c: use the new functionality for the
	radius control.
2004-08-28 16:57:37 +00:00
Sven Neumann
52bf83ee69 app/widgets/gimphelp-ids.h added a help-id for the image area.
2004-08-28  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp-ids.h
	* app/widgets/gimptoolbox.c (toolbox_create_image_area): added a
	help-id for the image area.
2004-08-28 10:57:24 +00:00
Michael Natterer
28e1f2a9da call gimp_container_editor_select_item() manually at construction time so
2004-08-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainereditor.c
	(gimp_container_editor_construct): call
	gimp_container_editor_select_item() manually at construction time
	so views show the initially selected object's state correctly
	(e.g. the brush spacing). Fixes bug #151227.
2004-08-27 17:38:57 +00:00
David Odin
ec4cc4f897 app/widgets/gimpnavigationpreview.c renamed these files to ...
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimpnavigationpreview.h: renamed these files to ...

* app/widgets/gimpnavigationview.c
* app/widgets/gimpnavigationview.h: to these.
  And renamed the GimpNavigationPreview type to GimpNavigationView.

Hopefully, this is the last change in file names for the Preview->View
renaming process.

* app/display/gimpnavigationeditor.c

* app/widgets/Makefile.am
* app/widgets/widgets-types.h: Changed accordingly.
2004-08-27 00:42:46 +00:00
David Odin
5af63086ba GimpViewRendererVector is really derived from GimpViewRenderer and not
* app/widgets/gimpviewrenderervectors.h: GimpViewRendererVector is
  really derived from GimpViewRenderer and not from GimpViewRendererDrawable.
2004-08-26 14:59:31 +00:00
David Odin
1622243213 app/widgets/gimppreviewrenderer-utils.c
* app/widgets/gimppreviewrenderer-utils.c
* app/widgets/gimppreviewrenderer-utils.h
* app/widgets/gimppreviewrendererbrush.c
* app/widgets/gimppreviewrendererbrush.h
* app/widgets/gimppreviewrendererdrawable.c
* app/widgets/gimppreviewrendererdrawable.h
* app/widgets/gimppreviewrenderergradient.c
* app/widgets/gimppreviewrenderergradient.h
* app/widgets/gimppreviewrendererimage.c
* app/widgets/gimppreviewrendererimage.h
* app/widgets/gimppreviewrendererimagefile.c
* app/widgets/gimppreviewrendererimagefile.h
* app/widgets/gimppreviewrendererlayer.c
* app/widgets/gimppreviewrendererlayer.h
* app/widgets/gimppreviewrenderervectors.c
* app/widgets/gimppreviewrenderervectors.h: Renamed all these files...

* app/widgets/gimpviewrenderer-utils.c
* app/widgets/gimpviewrenderer-utils.h
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbrush.h
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrendererdrawable.h
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrenderergradient.h
* app/widgets/gimpviewrendererimage.c
* app/widgets/gimpviewrendererimage.h
* app/widgets/gimpviewrendererimagefile.c
* app/widgets/gimpviewrendererimagefile.h
* app/widgets/gimpviewrendererlayer.c
* app/widgets/gimpviewrendererlayer.h
* app/widgets/gimpviewrenderervectors.c
* app/widgets/gimpviewrenderervectors.h: ... to these names. And also
  changed all the GimpPreviewRenderer* types to GimpViewRenderer* ones.

* app/tools/gimppaintoptions-gui.c

* app/widgets/Makefile.am
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpview.c
* app/widgets/widgets-types.h
* app/widgets/gimpviewrenderer.c
* app/widgets/gimpviewrenderer.h: modified accordingly.
2004-08-26 14:20:30 +00:00
David Odin
d93b26e7fa app/widgets/gimppreview-popup.c app/widgets/gimppreview-popup.h
* app/widgets/gimppreview-popup.c
* app/widgets/gimppreview-popup.h
* app/widgets/gimppreviewrenderer.c
* app/widgets/gimppreviewrenderer.h: really removed these files from cvs.
2004-08-26 00:50:45 +00:00
David Odin
e91187ae86 app/widgets/gimppreview-popup.c renamed these files...
* app/widgets/gimppreview-popup.c
* app/widgets/gimppreview-popup.h: renamed these files...

* app/widgets/gimpview-popup.c
* app/widgets/gimpview-popup.h: .. to these files, and changed the
  GimpPreviewPopup type to GimpViewPopup.

* app/widgets/gimppreviewrenderer.c
* app/widgets/gimppreviewrenderer.h: renamed these files...

* app/widgets/gimpviewrenderer.c
* app/widgets/gimpviewrenderer.h: .. to these files, and changed
  GimpPreviewRenderer to GimpViewRenderer.

This is the second step of the great Preview->View renaming process.

* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpnavigationeditor.c

* app/widgets/Makefile.am
* app/widgets/gimpbrushfactoryview.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpcellrendererviewable.h
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainertreeview-dnd.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimppatternfactoryview.c
* app/widgets/gimppreviewrenderer-utils.c
* app/widgets/gimppreviewrendererbrush.c
* app/widgets/gimppreviewrendererbrush.h
* app/widgets/gimppreviewrendererdrawable.c
* app/widgets/gimppreviewrendererdrawable.h
* app/widgets/gimppreviewrenderergradient.c
* app/widgets/gimppreviewrenderergradient.h
* app/widgets/gimppreviewrendererimage.c
* app/widgets/gimppreviewrendererimage.h
* app/widgets/gimppreviewrendererimagefile.c
* app/widgets/gimppreviewrendererimagefile.h
* app/widgets/gimppreviewrendererlayer.c
* app/widgets/gimppreviewrenderervectors.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimptoolview.c
* app/widgets/gimpview.c
* app/widgets/gimpview.h
* app/widgets/gimpviewablebutton.c
* app/widgets/widgets-enums.h
* app/widgets/widgets-types.h: Modified accordingly.
2004-08-25 22:31:44 +00:00
Sven Neumann
8b6970ec28 stop adding message boxes and redirect messages to stderr if there are too
2004-08-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimperrordialog.[ch] (gimp_error_dialog_add): stop
	adding message boxes and redirect messages to stderr if there are
	too many messages.
2004-08-25 19:49:50 +00:00
Sven Neumann
80531ec936 added gimp_message_box_repeat().
2004-08-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpmessagebox.[ch]: added gimp_message_box_repeat().

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimperrordialog.[ch]: added new dialog that adds a new
	GimpMessageBox for each message added. Fixes bug #92604.

	* app/widgets/gimpwidgets-utils.[ch]: removed old gimp_message_box()
	functionality.

	* app/gui/gui.c (gui_abort): use a GimpMessageBox in a GimpDialog.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: manage GimpErrorDialog as singleton.

	* app/gui/gui-vtable.c (gui_message): use the new error dialog.

	* app/core/gimp-gui.c (gimp_message): substitue "GIMP" for a NULL
	domain.

	* app/widgets/gimperrorconsole.c (gimp_error_console_add): fail
	when being called with a NULL domain.
2004-08-25 17:58:52 +00:00
Sven Neumann
d52d54fe9d put the icon to the right for RTL layouts.
2004-08-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpmessagebox.c: put the icon to the right for RTL
	layouts.

	* app/display/gimpdisplayshell-close.c
	* app/gui/quit-dialog.c: use a GimpMessageBox.
2004-08-24 21:42:29 +00:00
Sven Neumann
6939d7ab90 added API to change the labels. Modeled after the proposed new API for
2004-08-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpmessagebox.[ch]: added API to change the labels.
	Modeled after the proposed new API for GtkMessageDialog.

	* app/widgets/gimpwidgets-utils.c: changed accordingly.
2004-08-24 20:08:33 +00:00
David Odin
cddf61a3e6 app/widgets/gimppreview.c renamed these two files to...
* app/widgets/gimppreview.c
* app/widgets/gimppreview.h: renamed these two files to...

* app/widgets/gimpview.c
* app/widgets/gimpview.h: ... these files.

Also renamed GimpPreview to GimpView.
This is the first step of the great Preview->View renaming process.

* app/actions/palettes-commands.c

* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpnavigationview.c

* app/gui/palette-import-dialog.c

* app/tools/gimppaintoptions-gui.c

* app/widgets/Makefile.am
* app/widgets/gimpaction.c
* app/widgets/gimpactiongroup.c
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainergridview.h
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.c
* app/widgets/gimpdockbook.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimpnavigationpreview.h
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.c
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpviewabledialog.c
* app/widgets/widgets-types.h: changed accordingly.
2004-08-24 17:16:46 +00:00
Sven Neumann
578bd328e0 app/widgets/Makefile.am app/widgets/widgets-types.h added new widget
2004-08-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmessagebox.[ch]: added new widget GimpMessageBox.

	* app/widgets/gimpwidgets-utils.c: use it for message dialogs.
2004-08-23 23:22:46 +00:00
Sven Neumann
509b48a48b unset the filename if gtk_file_chooser_set_uri() failed.
2004-08-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): unset
	the filename if gtk_file_chooser_set_uri() failed.

	* app/actions/file-commands.c
	* app/gui/file-save-dialog.c: trivial cleanups.

	* app/widgets/gimpwidgets-utils.c: removed an unused extern
	variable declaration.
2004-08-23 09:32:06 +00:00
Sven Neumann
c04ddea85e app/actions/layers-actions.[ch] app/actions/layers-commands.[ch] added
2004-08-21  Sven Neumann  <sven@gimp.org>

	* app/actions/layers-actions.[ch]
	* app/actions/layers-commands.[ch]
	* app/widgets/gimplayertreeview.c: added actions to handle layer
	masks as suggested in bug #150446.

	* menus/layers-menu.xml: added menu entries for new actions,
	commented out raise/lower menu entries.
2004-08-20 22:32:14 +00:00
Manish Singh
83a94230ed app/widgets/gimpcellrendereraccel.c app/widgets/gimphistogrambox.c Get rid
2004-08-18  Manish Singh  <yosh@gimp.org>

        * app/widgets/gimpcellrendereraccel.c
        * app/widgets/gimphistogrambox.c
        * plug-ins/gfig/gfig-dialog.c: Get rid of some unnecessary casts.
2004-08-19 00:21:55 +00:00
Sven Neumann
0620ee069e no need to set a size_request here.
2004-08-18  Sven Neumann  <sven@gimp.org>

	* app/gui/color-notebook.c: no need to set a size_request here.

	* libgimpwidgets/gimpcolorselection.c: HIG-ified spacings.

	* libgimpwidgets/gimpcolorscales.c
	* modules/colorsel_cmyk.c: don't set a minimum width on the color
	scales. Improves behaviour for narrow color dockables.
2004-08-18 21:50:26 +00:00
Sven Neumann
2d5ee4485d define GIMP_HELP_DOCK_SEPARATOR.
2004-08-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp-ids.h: define GIMP_HELP_DOCK_SEPARATOR.

	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c: help-ids are never used directly,
	use the defines from app/widgets/gimphelp-ids.h instead.
2004-08-18 09:53:38 +00:00
William Skaggs
8e36dd8ffb Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c: add help-ids.
2004-08-17 17:46:48 +00:00
Sven Neumann
6543cfde20 fixed labels in CMYK mode. Fixes bug #150213.
2004-08-16  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolorframe.c (gimp_color_frame_update): fixed
	labels in CMYK mode. Fixes bug #150213.
2004-08-16 07:24:42 +00:00
Michael Natterer
1437f52d63 make sure that all actions, even if they have no menu proxy, can be
2004-08-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_manager_new):
	make sure that all actions, even if they have no menu proxy, can
	be invoked by their accelerators. Fixes bug #149938.

	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
	removed the same code here.

	* app/widgets/gimpactionview.[ch] (gimp_action_view_dispose): new
	function which disconnects from "accel_changed" of the accel_group
	before upchaining (== before emitting "destroy").

	The above changes make this one redundant, but since the crash in
	bug #149938 was triggered by "accel_changed" emitted in the middle
	of g_object_unref(tree_model), it feels better to be paranoic here
	(fiddling with objects in destruction is no fun).

	(gimp_action_view_accel_edited): don't warn if assigning the same
	accel to the same action again.

	(gimp_action_view_new): don't leak all accel_closures.
2004-08-12 20:04:19 +00:00
Michael Natterer
a8e599ebbf app/widgets/gimpcontainercombobox.[ch] when removing the last item from
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainercombobox.[ch]
	* app/widgets/gimpcontainertreeview.c: when removing the last item
	from the view, manually clear all GimpCellRendererViewables'
	"renderer" properties; otherwise we have stale GimpPreviewRenderers
	with still-refed viewables hanging around in the cells.
	Works around GTK+ bug #149906.
2004-08-11 14:07:35 +00:00
Michael Natterer
57a3396d40 added virtual function gboolean GimpProgressInterface::is_active().
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpprogress.[ch]: added virtual function
	gboolean GimpProgressInterface::is_active().

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpthumbbox.c: implement it.

	* app/plug-in/plug-in.h: removed "gboolean progress_active" and
	added "gulong progress_cancel_id" instead.

	* app/plug-in/plug-in-progress.c: changed accordingly. Make sure
	we correctly handle the "cancel" connections of progress instances
	passed from other plug-ins.
2004-08-11 10:29:56 +00:00
Sven Neumann
846bacd905 app/gui/file-open-location-dialog.c increased horizontal size request to
2004-08-11  Sven Neumann  <sven@gimp.org>

	* app/gui/file-open-location-dialog.c
	* app/widgets/gimpprogressbox.c: increased horizontal size request
	to reduce resizing.
2004-08-10 23:37:06 +00:00
Michael Natterer
828b852e06 fixed annoying resizing when thumbnailing exactly one image.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpthumbbox.c (gimp_thumb_box_create_thumbnails):
	fixed annoying resizing when thumbnailing exactly one image.
2004-08-10 22:34:45 +00:00
Michael Natterer
06ea7dbd96 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkVBox subclass
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpprogressbox.[ch]: new GtkVBox subclass featuring
	a label and a progressbar. Implements GimpProgressIterface.

	* app/widgets/gimpprogressdialog.[ch]: replaced label and progress
	by a GimpProgressBox. Delegate most progress functionality to it.

	* app/widgets/gimpwidgets-utils.[ch]: factored out utility
	function gimp_dialog_set_sensitive().

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_sensitive):
	use it.

	* app/gui/file-open-location-dialog.c (file_open_location_response):
	embed the called file procedure's progress using a GimpProgressBox.
2004-08-10 22:21:56 +00:00
Michael Natterer
95607cce19 new function which works on all widgets in the dialog except the cancel
2004-08-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.[ch]
	(gimp_file_dialog_set_sensitive): new function which works on all
	widgets in the dialog except the cancel button.

	Remember if the active progress is cancelable and added two
	booleans "busy" and "canceled". Added GtkDialog::response()
	implementation which, if the dialog is busy, cancels the active
	progress and sets the dialog's "canceled" state.

	Moved the progress bar right above the action area so it is next
	to the cancel button and in the same place for both open and save
	dialogs.

	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: use the new API to make image loading
	and saving cancelable again.

	* app/widgets/gimpthumbbox.c: use the same stuff to make
	thumbnailing cancelable. Increased the minimum height a bit so it
	doesn't resize when the progress bars are shown.
2004-08-10 21:20:38 +00:00
Michael Natterer
02d2b990f5 Redid the whole internal progress stuff: don't pass around
2004-08-10  Michael Natterer  <mitch@gimp.org>

	Redid the whole internal progress stuff: don't pass around
	progress_callback and progress_data; instead, provide a
	pointer to a GimpProgressInterface which can be implemented
	by a variety of backends.

	Addresses (but not yet fixes) bugs #6010, #97266 and #135185.

	* app/display/Makefile.am
	* app/display/gimpprogress.[ch]: removed the old progress hack.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpprogress.[ch]: implement GimpProgressInterface.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpprogressdialog.[ch]: the standalone progress
	dialog as widget implementing GimpProgressInterface.

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.[ch]
	* app/widgets/gimpfiledialog.[ch]
	* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
	implementation to these classes.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: replaced the old progress vtable entries
	by two new to create and destroy a GimpProgressDialog in case
	no other progress is available.

	* app/pdb/procedural_db.[ch]
	* app/plug-in/plug-in-run.[ch]
	* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
	all plug-ins.

	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c: handle the case there the
	plug-in was crated with a progress as well as the case where it
	wasn't.

	* app/app_procs.c
	* app/batch.c
	* app/xcf/xcf.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/widgets/gimphelp.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c: changed accordingly.

	* app/core/gimpimagefile.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/file-open-dialog.c
	* app/gui/file-open-location-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
	related functions. Embed the progress in the file dialog where
	possible.

	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-convert.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage-scale.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.

	* app/tools/gimpblendtool.c
	* app/tools/gimptransformtool.c
	* app/gui/convert-dialog.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.

	* app/pdb/*_cmds.c: regenerated.
2004-08-10 18:47:21 +00:00
Hans Breuer
eafd79de87 gimp_create_display() with the right parameters order
2004-08-09  Hans Breuer  <hans@breuer.org>

	* app/core/gimp-edit.c(gimp_edit_paste_as_new) :
	gimp_create_display() with the right parameters order

	* app/widgets/gimpwidgets-utils.c (gimp_message_box_set_icons)
	handle gtk_style_lookup_icon_set() returnig NULL

	* app/gimpcore.def app/widgets/makefile.msc
	  themes/default/images/makefile.msc : updated
2004-08-08 22:47:23 +00:00
Michael Natterer
60fd11d79b Enabled previewing items without selecting them in all list and grid views
2004-08-05  Michael Natterer  <mitch@gimp.org>

	Enabled previewing items without selecting them in all list and
	grid views using mouse button 2. Implicitly enables previewing of
	items in container popups and thus fixes bug #121011:

	* app/widgets/gimppreview.c (gimp_preview_button_press_event)
	* app/widgets/gimpcellrendererviewable.c
	(gimp_cell_renderer_viewable_clicked): show the preview also on
	mouse button 2 click.

	* app/widgets/gimpcontainertreeview.c
	(gimp_container_tree_view_button_press): dispatch mouse button 2
	clicks to GimpCellRendererViewable, but don't select or change
	anything in the tree_view.

	Unrelated cleanup:

	* app/widgets/gimppreview.c (gimp_preview_button_press_event):
	don't offset bevent->x,y by widget->allocation.x,y before calling
	gimp_preview_popup_show() ...

	* app/widgets/gimppreview-popup.c (gimp_preview_popup_show):
	... instead, do it here generically (check if the parent widget is
	GTK_WIDGET_NO_WINDOW()).
2004-08-05 13:43:38 +00:00
Sven Neumann
50c962af54 themes/Default/images/Makefile.am removed ...
2004-08-04  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-brush-generated-*-16.png: removed ...

	* themes/Default/images/stock-shape-*-16.png: ... and added back
	with more generic names.

	* libgimpwidgets/gimpstock.[ch]
	* app/widgets/gimpbrusheditor.c: changed accordingly.

	* app/tools/gimpinkoptions-gui.c: use the new stock icons here as
	well.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpblobeditor.[ch]: added a simple blob shape
	editor widget factored out of app/tools/gimpinkoptions-gui.c.
2004-08-04 18:15:41 +00:00
Michael Natterer
fd1a0e142c Allow URI drops from apps linked against GLib < 2.4.4 to GIMP linked
2004-08-04  Michael Natterer  <mitch@gimp.org>

	Allow URI drops from apps linked against GLib < 2.4.4 to GIMP
	linked against GLib >= 2.4.5. Fixes bug #148140.

	* app/core/gimp-utils.[ch]: added gimp_check_glib_version().

	* app/widgets/gimpselectiondata.c: added runtime check for GLib
	versions that encode file:// URIs correctly (>= 2.4.5). For older
	(broken) GLibs, leave the code path as is, for newer (fixed) ones,
	perform an additional check if the dropped URI is in the (broken)
	escaped-UTF-8 format and convert it to local filename encoding.

	* app/gui/gui.c: warn the user that non-ASCII filenames can't
	be used when linked against GLib 2.4.4.
2004-08-04 17:11:39 +00:00
Michael Natterer
0dabeab6cb #include "core/gimpimage-undo.h"
2004-08-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimplayertreeview.c: #include "core/gimpimage-undo.h"
2004-08-04 10:15:49 +00:00
Michael Natterer
8260cd69ce ref/unref the view around the calls to gimp_container_view_item_selected()
2004-08-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainergridview.c
	(gimp_container_grid_view_item_context): ref/unref the view around
	the calls to gimp_container_view_item_selected() and _item_context()
	because the former may destroy the view which leads to a crash
	when trying the latter. Fixes bug #148955.
2004-08-03 14:55:31 +00:00
Michael Natterer
b909c2b2ee new function which checks if undo compression is possible:
2004-08-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_can_compress):
	new function which checks if undo compression is possible:

	(1) is the image dirty? Fixes bug #148853.
	(2) is redo stack empty?
	(3) do both the passed undo object_type and undo_type
	    match the top undo item?

	Consistently name the GType and GimpUndoType passed to undo
	functions "object_type" and "undo_type" to avoid confusion.

	* app/actions/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c: use the new utility function
	instead of checking the above conditions manually.
2004-08-03 14:09:49 +00:00
Hans Breuer
3b3039148c build but *dont link* display-enums.obj, widget-enums.obj and
2004-07-31  Hans Breuer  <hans@breuer.org>

	* app/display/makefile.msc app/widgets/makefile.msc : build
	but *dont link* display-enums.obj, widget-enums.obj and
	gimpdisplayoptions.obj. They must be in the dll
	* app/makefile.msc : build gimp.exe and gimp-console.exe both
	using the same gimp-core.dll
	* app/gimpcore.def : new file, exports for gimp-core.dll
	* app/Makefile.am : added to EXTRA_DIST

	* cursors/makefile.msc : new file to create gimp-tool-cursors.h
	* cursors/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc : updated

	* app/main.c app/app_procs.c : moved code to close the console
	from the former to the later. It only is to be used if The Gimp
	is not build as console app.

	* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
	drawable twice
	* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
	crashing on File/Import
2004-08-01 20:51:12 +00:00
Simon Budig
b05f9f4b60 Fixed oversight that accidentially reset the number of spikes to 2.
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpbrusheditor.c: Fixed oversight that accidentially
	reset the number of spikes to 2.
2004-08-01 18:09:41 +00:00
Simon Budig
1eb3009f1a Added optional spikes for the generated brushes, enabling star shaped
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/core/gimpbrushgenerated.[ch]: Added optional spikes for
	the generated brushes, enabling star shaped generated brushes.

	* app/widgets/gimpbrusheditor.[ch]: GUI for this.

	* app/core/gimpbrush.c: changed accordingly.
2004-08-01 17:20:00 +00:00
Simon Budig
c40e29399d app/core/core-enums.h Implement three different brush shapes for generated
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/core/core-enums.h
	* app/core/gimpbrushgenerated.[ch]: Implement three different
	brush shapes for generated brushes.

	* app/core/gimpbrush.c: changed accordingly.
	* app/core/core-enums.c: regenerated.

	* app/widgets/gimpbrusheditor.[ch]: Add toggles for the shape.
	* themes/Default/images/stock-brush-generated-*-16.png: New stock
	icons for the brush shapes.

	* themes/Default/images/Makefile.am
	* libgimpwidgets/gimpstock.[ch]: changed accordingly

	untabified the files touched.
2004-08-01 03:06:58 +00:00
Sven Neumann
26a4b20dfe always do the check for perl and use the substituted perl executable name
2004-07-30  Sven Neumann  <sven@gimp.org>

	* configure.in: always do the check for perl and use the
	substituted perl executable name in the call for gimp-mkenums.
	Fixes the build on platforms where perl is not available as
	/usr/bin/perl. Closes bug #148813.

	* app/widgets/gimpenumstore.c: added missing include.
2004-07-30 20:42:53 +00:00
Sven Neumann
c6cbd6d335 Applied a bunch of AIX portability fixes (bug #148813):
2004-07-30  Sven Neumann  <sven@gimp.org>

	Applied a bunch of AIX portability fixes (bug #148813):

	* configure.in: when testing for Xmu library, link with -lXt -lX11.

	* app/gui/tips-parser.c
	* app/gui/user-install-dialog.c
	* app/tools/tools-enums.h
	* app/widgets/gimpdasheditor.c
	* app/widgets/widgets-enums.h
	* libgimpthumb/gimpthumb-error.h
	* libgimpwidgets/gimpcolorbutton.c
	* plug-ins/common/edge.c: removed trailing commas from enums.

	* plug-ins/common/snoise.c

	* plug-ins/imagemap/imap_cmd_move.c: no C++ style comments.

	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c: use integers for bit fields.
2004-07-30 00:57:22 +00:00
Sven Neumann
e10ebe1805 removed enums GimpImageType and GimpImageBaseType ...
2004-07-29  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h: removed enums GimpImageType and
	GimpImageBaseType ...

	* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
	all enums from gimpbasetypes.h to this new file.

	* libgimpbase/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly.

	* app/core/core-enums.c
	* libgimp/gimpenums.h
	* libgimpbase/gimpbaseenums.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimpbase/gimpparasite.c
	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.c: include <glib-object.h>

	* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
	translation domain on a GType. This is used for translatable enum
	values.

	* libgimpbase/gimputils.[ch]: added API to retrieve the translated
	name for an enum value.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-29 12:33:15 +00:00
Michael Natterer
ee42d8f506 added still unused flags type GimpDirtyMask.
2004-07-28  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h: added still unused flags type
	GimpDirtyMask.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
	support GTypeFlags and to make the value arrays private to the
	get_type() functions.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c: regenerated.
2004-07-28 11:50:20 +00:00
Michael Natterer
9a153f6e58 forgot to strip mnemonics here.
2004-07-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.c
	(gimp_action_group_set_action_label): forgot to strip mnemonics
	here.
2004-07-27 22:38:40 +00:00
Michael Natterer
210ef45abb Enabled disabling all menu mnemonics. Addresses bug #120034:
2004-07-28  Michael Natterer  <mitch@gimp.org>

	Enabled disabling all menu mnemonics. Addresses bug #120034:

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h: added boolean RESTART property
	"menu-menonics".

	* app/gui/preferences-dialog.c: added a GUI for it.

	* app/widgets/gimpactiongroup.[ch]: added boolean CONSTRUCT_ONLY
	property "mnemonics".

	(gimp_action_group_add_*_actions): call gimp_strip_uline() on
	the actions' labels if mnemonics is FALSE.

	* app/widgets/gimpactionfactory.[ch]
	* app/actions/actions.c: pass gui_config->menu_menmonics to
	all action groups.
2004-07-27 22:17:30 +00:00
Sven Neumann
bd427b2e4d libgimpbase/Makefile.am libgimpbase/gimpbase.h libgimpbase/gimpbase.def
2004-07-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbase.def
	* libgimpbase/gimpmemsize.[ch]: added new files with memsize
	related functions (moved here from gimputil.c) and
	GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here.

	* libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from
	app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimpbase-private.c
	* libgimp/gimptile.c
	* libgimp/gimpunitcache.c
	* plug-ins/help/domain.c
	* app/xcf/xcf-read.c: need to include glib-object.h.

	* plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT.

	* app/config/gimpconfig-types.[ch]: removed code that lives in
	libgimpbase now.

	* app/config/gimpconfig-deserialize.c: changed accordingly.

	* app/config/gimpbaseconfig.c
	* app/config/gimpdisplayconfig.c
	* app/core/gimpcontext.c
	* app/gui/grid-dialog.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h
	any longer.
2004-07-27 16:39:00 +00:00
Sven Neumann
7e3e851c63 string change.
2004-07-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_new): string change.
2004-07-27 12:41:44 +00:00
Michael Natterer
a66a3b47c9 make sure we always set a non-null URI.
2004-07-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_uri): make
	sure we always set a non-null URI.
2004-07-27 12:39:56 +00:00
Sven Neumann
67ff4473a2 app/widgets/gimphelp-ids.h removed unused help IDs GIMP_HELP_FILE_OPEN_XCF
2004-07-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp-ids.h removed unused help IDs
	GIMP_HELP_FILE_OPEN_XCF and GIMP_HELP_FILE_SAVE_XCF. The help IDs
	for these entries are generated from the procedure names.
2004-07-27 12:28:30 +00:00
Sven Neumann
228aadc25c print the help-id and help-domain to stdout if gimp was started with the
2004-07-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp.c (gimp_help): print the help-id and
	help-domain to stdout if gimp was started with the --verbose
	command-line option.
2004-07-27 11:19:33 +00:00
Sven Neumann
a1ac37ed19 show extensions in the filters menu.
2004-07-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters):
	show extensions in the filters menu.
2004-07-27 00:26:14 +00:00
Sven Neumann
744bebc83c app/widgets/Makefile.am moved to libgimpwidgets.
2004-07-26  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gimpcellrenderertoggle.[ch]: moved to libgimpwidgets.

	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolview.c
	* app/widgets/widgets-types.h

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.def
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetsmarshal.list
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpcellrenderertoggle.[ch]: custom toggle cell
	renderer moved here from app/widgets.

	* libgimpwidgets/gimpcellrenderercolor.[ch]: unified code with the
	new toggle cell renderer.
2004-07-26 21:09:16 +00:00
Michael Natterer
a2b85a62b0 new function which clears the whole list of data set by plug-ins.
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/pdb/procedural_db.[ch] (procedural_db_free_data): new
	function which clears the whole list of data set by plug-ins.

	(procedural_db_free): use it.

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.[ch]: added action, callback and
	confirmation dialog for "Reset all filters to default values".
	Somehow addresses bug #81015.

	* app/widgets/gimphelp-ids.h: added a help ID for the new action.

	* menus/image-menu.xml.in: added it to the "Filters" submenu.
2004-07-26 21:07:15 +00:00
Michael Natterer
caabe7f334 removed GIMP_TYPE_COLOR.
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-types.h: removed GIMP_TYPE_COLOR.

	* app/config/gimpconfig-params.[ch]: renamed GimpParamSpecColor
	to GimpParamSpecRGB.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpscanner.c
	* app/core/gimp-utils.c
	* app/core/gimpcontext.c
	* app/core/gimpgrid.c
	* app/display/gimpdisplayoptions.c
	* app/text/gimptext.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimppropwidgets.c: changed accordingly.
2004-07-26 19:56:47 +00:00
Sven Neumann
b50ea15b26 rephrased the text for the dialog that appears if a new shortcut collides
2004-07-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactionview.c: rephrased the text for the dialog
	that appears if a new shortcut collides with an existing one.

	* libgimpcolor/gimprgb.[ch]: added new function gimp_rgb_parse_name()
	which accepts RGB colors in hexadezimal notation or as SVG color
	keywords.
2004-07-22 12:42:57 +00:00
Michael Natterer
a5760e33fe connect to "accel-changed" of the accel_group using connect_object(), not
2004-07-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox.c (toolbox_create_tools): connect to
	"accel-changed" of the accel_group using connect_object(), not
	just connect() so we don't crash when it's emitted after the
	toolbox is destroyed.
2004-07-22 11:18:52 +00:00
Michael Natterer
a80977b0bc app/widgets/gimptemplateeditor.c plug-ins/common/gif.c set GTK_SHADOW_IN
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptemplateeditor.c
	* plug-ins/common/gif.c
	* plug-ins/common/jpeg.c: set GTK_SHADOW_IN on scrolled windows of
	text views. Fixes bug #148025.
2004-07-21 16:29:29 +00:00
Michael Natterer
cc6288a4fb Enabled the various "Clear saved foobar now" buttons in prefs:
2004-07-21  Michael Natterer  <mitch@gimp.org>

	Enabled the various "Clear saved foobar now" buttons in prefs:

	* app/gui/session.[ch]
	* app/menus/menus.[ch]
	* app/widgets/gimpdevices.[ch]: implemented the _clear()
	functions: unlink() the rc file and set an internal flag that it
	has been deleted. Added "gboolean always_save" parameter to the
	_save() functions and don't save anything if it is FALSE and the
	internal deletion flag has been set.

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

	* app/gui/preferences-dialog.c: added callbacks for all "Save now"
	and "Clear now" buttons and show error messages if clearing fails.
	Inform the user that she has to restart GIMP to see the effect of
	the clearing.
2004-07-21 16:11:31 +00:00
Michael Natterer
e7479951b5 app/core/gimpmarshal.list added "gboolean delete" parameter to the
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list
	* app/widgets/gimpcellrendereraccel.[ch]: added "gboolean delete"
	parameter to the GimpCellRendererAccel::accel_edited() signal.

	* app/widgets/gimpactionview.c: distinguish between deletion of an
	accelerator and the user entering an invalid accelerator.
2004-07-21 14:09:36 +00:00
Michael Natterer
b241a40b43 remember the keyboard shortcut dialog and show it only once.
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/gui/preferences-dialog.c: remember the keyboard shortcut
	dialog and show it only once.

	* app/widgets/gimpactionview.c
	* app/widgets/gimpcellrendereraccel.c: minor cleanups.

	Seems to work pretty well now and thus fixes bug #142922.
2004-07-21 11:28:31 +00:00
Michael Natterer
62bf62a151 app/core/gimpmarshal.list app/widgets/Makefile.am
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcellrendereraccel.[ch]: new cell renderer
	which displays an accelerator and allows to edit it (ripped
	out of libegg and modified).

	* app/widgets/gimpactionview.c: use the new renderer and connect
	to its "accel-edited" signal (its callback is one huge mess that
	needs to be cleaned up). Added ugly hack to work around GTK+ API
	limitation that seems to prevent implementing a shortcut editor in
	a sane way.

	* app/actions/file-actions.c
	* app/actions/image-actions.c
	* app/actions/tools-actions.c: added ugly hacks here, too.

	* app/gui/preferences-dialog.c: relaced Cancel/Ok in the shortcut
	editor by Close.
2004-07-21 00:39:46 +00:00
Michael Natterer
94fc8f15a1 app/widgets/gimpactionfactory.[ch] added "label" and "stock-id" properties
2004-07-20  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactionfactory.[ch]
	* app/widgets/gimpactiongroup.[ch]: added "label" and "stock-id"
	properties to GtkActionGroup and allow to register them in the
	GimpActionFactory.

	* app/actions/actions.c: register user visible labels and icons
	with all action groups.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactionview.[ch]: new widget which shows a
	treeview of action groups and their actions & shortcuts.

	* app/widgets/gimpaction.[ch]: added gimp_action_name_compare()
	utility function.

	* app/widgets/gimpwidgets-utils.[ch]: added
	gimp_get_accel_string() utility function.

	* app/widgets/gimpcontrollers.[ch]: added
	gimp_controllers_get_ui_manager() which will be used for setting
	up the controller mapping dialog.

	* app/gui/preferences-dialog.c: added a "Configure Keyboard
	Shortcuts" button which pops up a GimpControllerView. Work in
	progress...
2004-07-20 18:50:20 +00:00
Michael Natterer
28b3fd4a74 reordered and commented to match API docs.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: reordered and commented to match
	API docs.
2004-07-19 12:08:37 +00:00
Michael Natterer
09c6ee7363 added the removed help IDs back.
2004-07-17  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphelp-ids.h: added the removed help IDs back.

	* app/widgets/gimpfileprocview.[ch]: cache all file_procs' help
	IDs and added gimp_file_proc_view_get_help_id() which returns the
	selected item's help ID.

	* app/widgets/gimpfiledialog.c: added a custom help func which
	shows the help for the selected file_proc if the proc_view has the
	focus.
2004-07-17 19:53:05 +00:00
Sven Neumann
d95059db48 use GIMP_STOCK_WEB for "file-open-location".
2004-07-17  Sven Neumann  <sven@gimp.org>

	* app/actions/file-actions.c (file_actions): use GIMP_STOCK_WEB
	for "file-open-location".

	* app/widgets/gimpfiledialog.c: create the scrolled window with
	shadow_type GTK_SHADOW_IN.

	* app/widgets/gimpfileprocview.c (gimp_file_proc_view_new): skip
	procedures that register a prefix (the URL loader).

	* app/widgets/gimphelp-ids.h: removed help IDs that used to be
	used from the file-open and file-save menus.

	* plug-ins/common/xwd.c (query): "X window dump" seems to be more
	appropriate than "X window image".
2004-07-17 13:06:59 +00:00
Sven Neumann
5222925694 sort the file procedures by their menu labels.
2004-07-16  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-ins.c (plug_ins_init): sort the file procedures
	by their menu labels.

	* app/widgets/gimpfileprocview.c: removed the sort function here.
2004-07-16 21:47:06 +00:00
Sven Neumann
ccf8ed69e7 app/widgets/Makefile.am app/widgets/widgets-types.h added new widget that
2004-07-16  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfileprocview.[ch]: added new widget that offers
	a treeview on file procedures.

	* app/widgets/gimpfiledialog.[ch]: replaced the file type option
	menu with the new GimpFileProcView widget.
	(gimp_file_dialog_set_image): reset the file type to Automatic
	(fixes bug #141535).

	* app/actions/file-commands.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: changed accordingly.

	* plug-ins/common/bz2.c
	* plug-ins/common/gz.c: don't register "xcf.gz" and "xcf.bz2"
	extension. It's redundant and breaks the code that sets the
	extension from the selected file-type.

	* plug-ins/common/dicom.c: register a shorter menu label.

	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* plug-ins/common/url.c: register stock icons.
2004-07-16 21:24:39 +00:00
Michael Natterer
fe9d9be66b Code review & cleanup:
2004-07-14  Michael Natterer  <mitch@gimp.org>

	Code review & cleanup:

	* app/config/gimpguiconfig.[ch]: removed transparency-size,
	transparency-type and snap-distance properties...

	* app/config/gimpdisplayconfig.[ch]: ...and added them here.

	* app/display/gimpdisplayshell.c
	* app/tools/gimpmovetool.c: changed accordingly.

	* app/core/gimpimage-scale.[ch] (gimp_layer_scale_check): added a
	"max_memsize" parameter instead of looking it up in GimpGuiConfig.

	* app/actions/image-commands.c: changed accordingly.

	* app/core/gimparea.c
	* app/core/gimpdrawable.c: converted tabs to spaces, cleanup.

	* app/core/gimpprojection.[ch]: renamed IdleRenderStruct to
	GimpProjectionIdleRender, reordered functions, cleanup.

	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplay.c: removed unused #includes.

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-close.c: renamed
	shell->warning_dialog to shell->close_dialog, some random
	cleanups.

	* app/display/gimpdisplayshell-handlers.c
	* app/widgets/gimpselectioneditor.c: minor coding style cleanup.
2004-07-14 10:31:59 +00:00
Michael Natterer
54cc251b08 app/core/Makefile.am app/core/core-types.h new interface which has
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimppickable.[ch]: new interface which has
	get_image_type(), get_tiles() and get_color_at() methods.

	* app/core/gimpdrawable.[ch]
	* app/core/gimpimagemap.[ch]
	* app/core/gimpprojection.[ch]: implement GimpPickableInterface
	and removed public get_colot_at() functions.

	* app/core/gimpimage-pick-color.[ch]: removed typedef
	GimpImagePickColorFunc and gimp_image_pick_color_by_func(). Use
	gimp_pickable_pick_color() instead.

	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-crop.c
	* app/gui/info-window.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpsmudge.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/widgets/gimpselectioneditor.c: use GimpPickable functions
	instead of the various get_color_at() functions. Simplifies code
	which has a "sample_merged" boolean. Various cleanups.
2004-07-13 23:04:05 +00:00
Michael Natterer
c5ec0d4f70 *** empty log message *** 2004-07-13 16:36:29 +00:00
Michael Natterer
d41e45b1f4 added a preview of the global buffer.
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpbufferview.[ch]: added a preview of the global
	buffer.
2004-07-12 20:25:05 +00:00
Michael Natterer
da74f1269e app/core/gimpundo.[ch] app/core/gimpitemundo.[ch] removed all _new()
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpundo.[ch]
	* app/core/gimpitemundo.[ch]
	* app/text/gimptextundo.[ch]: removed all _new() functions and
	added properties and GObject::constructor() implementations
	instead.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): added
	"GType undo_gtype" parameter and allow to pass name-value pairs as
	"...". Une the new GParameter utility functions to construct the
	appropriate undo step with g_object_newv().

	(gimp_image_undo_push_item): removed.

	(gimp_image_undo_push_undo): removed. Merged its code back into
	gimp_image_undo_push(), where it originally came from.

	* app/core/gimpimage-undo-push.c
	* app/core/gimpundostack.c
	* app/paint/gimppaintcore-undo.c
	* app/tools/gimptransformtool-undo.c
	* app/widgets/gimpundoeditor.c: changed accordingly.
2004-07-12 16:59:36 +00:00
Michael Natterer
5b83b759d7 set/unset the busy cursor on all windows which have widget->window, not
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factories_set_busy_foreach)
	(gimp_dialog_factories_unset_busy_foreach): set/unset the busy
	cursor on all windows which have widget->window, not only for
	those which are GTK_WIDGET_VISIBLE. Fixes stale busy cursors when
	dialogs are hidden while the busy cursor is active and later shown
	again.
2004-07-12 11:47:54 +00:00
Hans Breuer
b56eb39ead updated app/actions/makefile.msc app/menus/makefile.msc : (new files)
2004-07-11  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated
	  app/actions/makefile.msc app/menus/makefile.msc : (new files)
	  app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST

	* libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c
	  app/widgets/gimppropwidgets.c : bumped compiler version check,
	msvc6 still can't cast from unsigned __int64 to double

	* app/actions/debug-actions.c : only use debug_*_callback
	and thus debug_action if ENABLE_DEBUG_MENU

	* app/core/gimpalette-import.c : added gimpwin32-io.h

	* plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/

	* plug-ins/common/screenshot.c : make it compile with msvc,
	but still no win32 specific implementation ...
2004-07-11 21:53:17 +00:00
Philip Lafleur
3a5019b270 Applied a patch from Robert Robert Ögren, moved here from
2004-07-11  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/widgets/gimpdevices.c (gimp_devices_check_change): Applied
	a patch from Robert Robert Ögren, moved here from
	toolbox_check_device() - Only change devices if the event came from
	a widget that accepts extension events. Fixes bug #115774.
2004-07-11 03:01:05 +00:00
Michael Natterer
2176afbbbb Removed any remaining GUI dependency from the PDB wrappers:
2004-07-10  Michael Natterer  <mitch@gimp.org>

	Removed any remaining GUI dependency from the PDB wrappers:

	* app/core/gimp.[ch]: added vtable entries for the display and
	help stuff.

	* app/widgets/gimphelp.[ch]: renamed gimp_help() to
	gimp_help_show().

	* app/gui/gui-vtable.c: implement the new display and help vtable
	entries.

	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/help.pdb: use the new functions of the Gimp
	object instead of using stuff from display/ and widgets/.

	* tools/pdbgen/app.pl: removed bad hacks which enabled including
	stuff from gui/, display/ and widgets/.

	* app/Makefile.am: link widgets-enums.o, display-enums.o and
	gimpdisplayoptions.o into the gimp-console binary because they are
	needed for the config system and don't depend on any GUI stuff.

	* app/pdb/Makefile.am: s/GTK_CFLAGS/GDK_PIXBUF_CFLAGS/

	* app/pdb/display_cmds.c
	* app/pdb/help_cmds.c: regenerated.
2004-07-10 20:29:11 +00:00
Michael Natterer
8d9e362249 app/gui/Makefile.am app/gui/brush-select.[ch] app/gui/font-select.[ch]
2004-07-09  Michael Natterer  <mitch@gimp.org>

	* app/gui/Makefile.am
	* app/gui/brush-select.[ch]
	* app/gui/font-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppdbdialog.[ch]
	* app/widgets/gimpdataselect.[ch]
	* app/widgets/gimpbrushselect.[ch]
	* app/widgets/gimpgradientselect.[ch]
	* app/widgets/gimppaletteselect.[ch]
	* app/widgets/gimppatternselect.[ch]
	* app/widgets/gimpfontselect.[ch]: ...and added here as a
	hierarchy of widgets.

	* app/widgets/gimpdatafactoryview.h: removed typdef
	GimpDataEditFunc, it's in widgets-types.h now.

	* app/gui/convert-dialog.c: changed accordingly.

	* app/core/gimp.[ch]: added vtable entries for creating, closing
	and setting PDB dialogs.

	* app/gui/gui-vtable.c: implement the vtable entries using the new
	widgets.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: use the new functions of
	the Gimp object to create / manage the selection dialogs. The
	generated files don't depend on GUI stuff any longer.

	* app/pdb/brush_select_cmds.c
	* app/pdb/font_select_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/palette_select_cmds.c
	* app/pdb/pattern_select_cmds.c: regenerated.
2004-07-09 19:14:59 +00:00
Sven Neumann
458ea9a50e reverted my last change. (gimp_histogram_editor_item_visible): fix the
2004-07-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphistogrameditor.c
	(gimp_histogram_editor_menu_update): reverted my last change.
	(gimp_histogram_editor_item_visible): fix the problem here instead.
2004-07-08 22:45:36 +00:00
Michael Natterer
788ae2fd5f removed "role" property because GtkWindow has an equivalent property now.
2004-07-08  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpdialog.c: removed "role" property because
	GtkWindow has an equivalent property now. Added "help-func" and
	"help-id" construct properties.

	* app/widgets/gimptexteditor.c
	* app/widgets/gimptooldialog.c
	* app/widgets/gimpviewabledialog.c: removed calls to
	gimp_help_connect() and pass help_func and help_id to
	g_object_new().
2004-07-08 21:57:05 +00:00
Sven Neumann
1746c311e7 set the active item of the combo-box after changing the visibility filter.
2004-07-08  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphistogrameditor.c
	(gimp_histogram_editor_menu_update): set the active item of the
	combo-box after changing the visibility filter.
2004-07-08 13:23:27 +00:00
Michael Natterer
c8d9457f07 same fix as below.
2004-07-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppropwidgets.c (gimp_prop_boolean_combo_box_notify):
	same fix as below.
2004-07-08 13:17:06 +00:00
Sven Neumann
822db32134 block gimp_prop_enum_combo_box_callback() before changing the combo-box.
2004-07-08  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.c (gimp_prop_enum_combo_box_notify):
	block gimp_prop_enum_combo_box_callback() before changing the
	combo-box.
2004-07-08 12:50:15 +00:00
Sven Neumann
8bc46f69f3 only write aux-info for properties that have been changed from their
2004-07-08  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpsessioninfo.c: only write aux-info for properties
	that have been changed from their default values.

	* app/widgets/gimphistogrameditor.c: some code cleanup.
2004-07-08 12:04:15 +00:00
Michael Natterer
d18097028e added a "const gchar *format" parameter to
2004-07-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpselectiondata.[ch]: added a "const gchar *format"
	parameter to gimp_selection_data_set_pixbuf() which selects the
	format in which to encode the pixbuf (was defaulting to "png"
	before).

	* app/widgets/gimpclipboard.c: when copying, offer all formats which
	are savable with GdkPixbuf. Added a GimpClipboard struct which is
	attached to the Gimp and which stores all the persistent data
	needed by the clipboard. Renamed some private functions.

	(unfortunately this change breaks pasting to AbiWord:
	 http://bugzilla.abisource.com/show_bug.cgi?id=7068)
2004-07-08 11:27:48 +00:00
Sven Neumann
a4ac4de072 app/config/gimpconfig-deserialize.c removed redundant casts.
2004-07-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: removed redundant casts.

	* app/widgets/gimpsessioninfo.[ch]: added convenience functions to
	get and set aux-info based on object properties.

	* app/widgets/gimphistogrameditor.c: use the new functions to save
	a histogram's channel and scale in the sessionrc.
2004-07-08 00:09:41 +00:00
Sven Neumann
73b1182c80 sort the list of pixbuf formats so that PNG is the preferred format and
2004-07-07  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpclipboard.c: sort the list of pixbuf formats so
	that PNG is the preferred format and GIF and JPEG come last.
2004-07-07 18:09:14 +00:00
Michael Natterer
94163a8beb changed to allow pasting any GdkPixbuf supported format (makes pasting
2004-07-07  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpclipboard.[ch]: changed to allow pasting any
	GdkPixbuf supported format (makes pasting from OpenOffice
	work). Cleaned up a bit to perpare pasting of SVG data.
2004-07-07 16:02:23 +00:00
Michael Natterer
8fc8cb487c app/gui/Makefile.am removed...
2004-07-07  Michael Natterer  <mitch@gimp.org>

	* app/gui/Makefile.am
	* app/gui/clipboard.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/gimpclipboard.[ch]: ...and added here.

	* app/actions/edit-commands.c
	* app/gui/gui.c: changed accordingly.
2004-07-07 14:38:23 +00:00
Sven Neumann
2d412472c2 fixed a drawing bug I introduced earlier today.
2004-07-07  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphistogramview.c (gimp_histogram_view_expose):
	fixed a drawing bug I introduced earlier today.
2004-07-07 01:59:33 +00:00
Sven Neumann
ef885f7691 Added an RGB histogram based on a patch by Tor Lillqvist. Fixes bug
2004-07-06  Sven Neumann  <sven@gimp.org>

	Added an RGB histogram based on a patch by Tor Lillqvist. Fixes
	bug #145401.

	* app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export
	it to the PDB.

	* app/base/gimphistogram.c: implemented histogram functions for
	the RGB mode.

	* app/base/levels.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimphistogrameditor.c: handle the new enum value.

	* app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode,
	draw a histogram that shows the RGB channels simultaneously
2004-07-06 16:33:30 +00:00
Michael Natterer
fa668df1ee call gtk_menu_set_monitor() only for GTK+ < 2.4.4 and added a #warning
2004-07-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
	(gimp_button_menu_position): call gtk_menu_set_monitor() only
	for GTK+ < 2.4.4 and added a #warning about it.
2004-07-06 15:05:47 +00:00
Michael Natterer
3b7fc27b5e queue an idle update when setting the viewable to NULL so the view gets
2004-07-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreviewrenderer.c
	(gimp_preview_renderer_set_viewable): queue an idle update when
	setting the viewable to NULL so the view gets cleared correctly.

	(gimp_preview_renderer_idle_update): call
	gimp_preview_renderer_update() even if renderer->viewable is NULL
	so clearing the viewable gets propagated to the GUI.

	Moved clearing the viewable and removing the idle from
	GObject::finalize() to GObject::dispose() because calling
	set_viewable() with a NULL viewable triggers typechecking casts
	and queuing idle functions, which is not nice in finalize().
2004-07-06 13:18:42 +00:00
Sven Neumann
d5724ff596 return the proper type.
2004-07-06  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpvectorstreeview.c (gimp_vectors_tree_view_drag_svg):
	return the proper type.
2004-07-06 10:54:46 +00:00
Michael Natterer
960c32e94a connect to "editing-canceled" of the name cell renderer and restore the
2004-07-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview.c: connect to
	"editing-canceled" of the name cell renderer and restore the
	original text in the callback. Doesn't work reliably until GTK+
	bug #145463 is fixed.
2004-07-05 22:50:38 +00:00
Michael Natterer
49a46c76a0 removed unused local variables.
2004-07-05  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptemplateview.c
	(gimp_template_view_tree_name_edited): removed unused local variables.
2004-07-05 14:57:22 +00:00
Simon Budig
e7af53b0d3 app/actions/dialogs-commands.c app/display/gimpdisplayshell-dnd.c
2004-07-04  Simon Budig  <simon@gimp.org>

	* app/actions/dialogs-commands.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/preferences-dialog.c
	* app/tools/gimppainttool.c
	* app/widgets/gimpdeviceinfo.c
	* app/widgets/gimpitemtreeview.c
	* plug-ins/imagemap/imap_selection.c
	* tools/pdbgen/pdb/gradients.pdb: Small changes to make GIMP
	CVS compile with gcc 2.95 again. Mostly double semicolons and
	variable declarations after other stuff. Spotted by Martin
	Renold.

	* app/pdb/gradients_cmds.c: regenerated.

	(there is one issue left, see his patch at
	http://old.homeip.net/martin/gcc-2.95.diff, I did not
	copy the #define va_copy __va_copy, since I don't know
	what happens here.)
2004-07-04 21:27:09 +00:00
Sven Neumann
21fea37da7 modules/cdisplay_gamma.c added object properties for configurable values.
2004-07-04  Sven Neumann  <sven@gimp.org>

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c: added object properties for
	configurable values.

	* app/widgets/gimpcolordisplayeditor.c
	* libgimpwidgets/gimpcolordisplaystack.c
	* modules/cdisplay_colorblind.c
	* modules/cdisplay_proof.c: cosmetic changes.
2004-07-04 00:21:03 +00:00
Michael Natterer
23f6a194ac added context->serialize_props mask which enables specifying exactly which
2004-07-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: added context->serialize_props mask
	which enables specifying exactly which properties will be
	serialized. Also fixes a bug that prevented undefined properties
	from being serialized, breaking tool_options and device status
	serialization.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): make only the
	properties in the tool_info->context_props mask serializable, also
	configure/initialize tool_info->tool_options.

	* app/tools/gimp-tools.c (gimp_tools_register): removed
	tool_options initialization that is now done in
	gimp_tool_info_new().

	* app/widgets/gimpdeviceinfo.c: make only the properties in
	GIMP_DEVICE_INFO_CONTEXT_MASK serializable.

	* app/widgets/gimpdevicestatus.c: add the device table to its
	parent container again. Fixes "missing" devices.

	* app/core/gimptooloptions.c
	* app/widgets/gimpdevices.c: cleanup / code review.
2004-07-03 20:27:28 +00:00
Sven Neumann
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
Sven Neumann
931110de27 added (yet unused) functions gimp_selection_data_[get|set]_pixbuf().
2004-07-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpselectiondata.[ch]: added (yet unused) functions
	gimp_selection_data_[get|set]_pixbuf().
2004-07-01 15:46:25 +00:00
Michael Natterer
6679dc7183 implement GtkWidget::drag_motion() and set the FG/BG depending on where
2004-07-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfgbgarea.[ch]: implement GtkWidget::drag_motion()
	and set the FG/BG depending on where the color was dropped. Also
	set the drag status accordingly so the cursor indicates whether
	dropping will have an effect or not. Fixes bug #145219.
2004-07-01 10:42:00 +00:00
Sven Neumann
bec9f9a670 app/core/core-enums.c app/display/display-enums.c app/paint/paint-enums.c
2004-06-30  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/widgets/widgets-enums.c: regenerated.
2004-06-30 16:05:24 +00:00
William Skaggs
8d4bdf5d60 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/*/*-enums.h: did HIG-compliant capitalization in the right
	place, instead of the auto-generated *-enums.c files.
2004-06-30 15:47:32 +00:00
Michael Natterer
cc6aa18619 app/widgets/gimpdnd.[ch] app/widgets/gimpselectiondata.[ch] changed
2004-06-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpselectiondata.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: changed "files" and "uris"
	to "uri_list" in all function names, parameters and typedefs.

	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/display/gimpdisplayshell-dnd.[ch]
	* app/display/gimpdisplayshell.c: changed accordingly.
2004-06-30 14:47:23 +00:00
Michael Natterer
4022980314 Fixed a 1.2 -> 2.0 regression that was forgotten:
2004-06-30  Michael Natterer  <mitch@gimp.org>

	Fixed a 1.2 -> 2.0 regression that was forgotten:

	* app/widgets/widgets-enums.[ch]: added enum GimpColorPickState
	which can be one of { NEW, UPDATE }.

	* app/widgets/gimppaletteeditor.[ch]: changed #if 0'ed function
	gimp_palette_editor_update_color() to
	gimp_palette_editor_pick_color() and restored the functionality of
	creating/updating colors via this API

	Changed button_press handler to only edit the color on double
	click if it's really a double click on the same color.
	Fixes bug #141381.

	* app/tools/gimpcolorpickeroptions.[ch]: added boolean property
	"add-to-palette" and a GUI for it.

	* app/core/gimpmarshal.list
	* app/tools/gimpcolortool.[ch]: added a GimpColorPickState
	parameter to the "color_picked" signal. Pass NEW on button_press
	and UPDATE on motion.

	* app/tools/gimpcurvestool.c (gimp_curves_tool_color_picked)
	* app/tools/gimplevelstool.c (gimp_levels_tool_color_picked)
	* app/tools/gimppainttool.c (gimp_paint_tool_color_picked):
	changed accordingly

	* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
	If "add-to-palette" is TRUE, get the palette editor and call
	gimp_palette_editor_pick_color().
2004-06-30 12:10:08 +00:00
Sven Neumann
114f747f4c renamed the SVG related functions so that they deal with an anonymous data
2004-06-30  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpselectiondata.[ch]: renamed the SVG related
	functions so that they deal with an anonymous data stream that
	could as well be a PNG image.

	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpcontainertreeview-dnd.c: changed accordingly.

	* app/display/gimpdisplayshell-dnd.[ch]
	* app/vectors/gimpvectors-import.[ch]
	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpvectorstreeview.c: use gsize for the length of
	the buffer.

	* app/widgets/gimpdnd.[ch]
	* app/widgets/widgets-enums.[ch]: added GIMP_DND_TYPE_PNG which isn't
	used yet.
2004-06-30 11:57:17 +00:00
Michael Natterer
425fd699e3 changed return value from gchar* to const gchar*. Renamed parameters to be
2004-06-30  Michael Natterer  <mitch@gimp.org>

	* widgets/gimpselectiondata.[ch] (gimp_selection_data_get_svg):
	changed return value from gchar* to const gchar*. Renamed
	parameters to be consistent with other SVG functions.

	* widgets/gimpcontainertreeview-dnd.c
	* widgets/gimpdnd.c: changed accordingly.
2004-06-29 23:18:18 +00:00
Michael Natterer
3cec641627 do like GtkAccelLabel does and turn underscores in accels into spaces so
2004-06-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox.c (gimp_toolbox_button_accel_changed):
	do like GtkAccelLabel does and turn underscores in accels into
	spaces so e.g. "Page_Up" becomes "Page Up".
2004-06-29 22:35:04 +00:00
Michael Natterer
4685112cff reordered drop destinations so vectors are preferred over SVG.
2004-06-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c: reordered drop destinations
	so vectors are preferred over SVG.

	* app/vectors/gimpvectors-import.[ch]: added "gint position"
	parameter to all import functions so the imported vectors can be
	added at any position in the vectors stack.

	* app/actions/vectors-commands.c
	* app/display/gimpdisplayshell-dnd.c
	* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as
	position).

	* app/pdb/paths_cmds.c: regenerated.

	* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
	to the paths dialog.
2004-06-29 13:34:16 +00:00
Michael Natterer
03b4c71d69 don't free the SVG data after dropping, it's owned by GtkSelectionData.
2004-06-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview-dnd.c: don't free the SVG data
	after dropping, it's owned by GtkSelectionData.
2004-06-29 13:28:26 +00:00
Michael Natterer
3f5e10c1d6 use gtk_target_list_add() instead of gtk_target_list_add_table() because
2004-06-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.c: use gtk_target_list_add() instead of
	gtk_target_list_add_table() because the latter prepends the
	targets to the internal list which screws the order (== priority)
	of DND targets.

	* app/widgets/gimpselectiondata.c: added some more checks for
	failed drops (selection_data->length < 0).
2004-06-29 13:20:30 +00:00
Michael Natterer
6cd5737257 added new function gimp_get_mod_string() which takes a GdkModifierType and
2004-06-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added new function
	gimp_get_mod_string() which takes a GdkModifierType and returns
	correctly formated strings for all shift,control,alt combinations.

	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpcolorpickeroptions.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcropoptions.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpflipoptions.c
	* app/tools/gimpmagnifyoptions.c
	* app/tools/gimpmoveoptions.c
	* app/tools/gimptransformoptions.c
	* app/tools/gimpvectoroptions.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpthumbbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c: use the new function instead
	of gimp_get_mod_name_shift(),control(),alt(),separator(). This
	kindof addresses the issue of configurable modifier keys but is
	actually indended to ease translation of format strings ("%s" is
	easier to get right than "%s%s%s").
2004-06-28 23:30:57 +00:00
Michael Natterer
6a5e68c9e2 Allow all sorts of things to be dropped on or in between the items of a
2004-06-28  Michael Natterer  <mitch@gimp.org>

	Allow all sorts of things to be dropped on or in between the
	items of a GimpContainerTreeView:

	* app/widgets/gimpcontainertreeview.[ch]: added more parameters to
	GimpContainerTreeView::drop_possible() to specify where ecactly
	the drop should take place (between or into items) and to support
	dropping all sorts of things.

	Renamed ::drop() to ::drop_viewable() and added ::drop_color(),
	::drop_files() and ::drop_svg(), which cover all possible drop
	types.

	* app/widgets/gimpcontainertreeview-dnd.[ch]: changed accordingly.
	Dispatch all kinds of drops to the resp. virtual functions.

	* app/widgets/gimpitemtreeview.c: changed accordingly.

	* app/widgets/gimplayertreeview.c: allow to drop URIs, colors
	and patterns to the layers dialog. Fixes bugs #119506 and #139246.
2004-06-28 22:07:12 +00:00
Michael Natterer
667de3c9f4 app/widgets/Makefile.am new files containing the code which
2004-06-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gimpselectiondata.[ch]: new files containing the
	code which encodes/decodes all sorts of stuff to/from its
	GtkSelectionData representation. Used to live in gimpdnd.c

	* app/widgets/gimpdnd.c: use the new functions (unclutters the
	file quite a bit), converted tabs to spaces.
2004-06-28 20:39:54 +00:00
Michael Natterer
d45a6b230f #include "libgimpwidgets/gimpwidgets.h"
2004-06-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainergridview.c:
	#include "libgimpwidgets/gimpwidgets.h"
2004-06-28 17:06:38 +00:00
Michael Natterer
23c068bc75 added properties for all brush parameters.
2004-06-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrushgenerated.c: added properties for all brush
	parameters.

	* app/widgets/gimpbrusheditor.c: listen to property changes of the
	edited brush and update the scales accordingly.
2004-06-25 00:58:43 +00:00
Michael Natterer
488ac69d02 added a boolean property "debug-events" and honor it when printing
2004-06-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollerinfo.[ch]: added a boolean property
	"debug-events" and honor it when printing debugging output.
	Should add an event console window so the user doesn't need to
	have a terminal to inspect input module output.

	* app/gui/prefereces-dialog.c: HIGified some forgotten labels.
	Renamed the "Pointer Movement Feedback" frame to "Mouse Cursors".
	Replaced some forgotten "Dir" with "Folder".
	Made more GimpControllerInfo and GimpController properties
	editable and cleaned up the controller page.
2004-06-24 22:35:00 +00:00
Michael Natterer
f0fcfaabb2 added gimp_prop_label_new().
2004-06-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppropwidgets.[ch]: added gimp_prop_label_new().

	* app/widgets/gimpgrideditor.c: HIGified capitalization.
2004-06-24 22:23:05 +00:00
Michael Natterer
11dfbae2f6 renamed function gimp_controller_wheel_scrolled() to
2004-06-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollerwheel.[ch]: renamed function
	gimp_controller_wheel_scrolled() to
	gimp_controller_wheel_scroll().

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): changed accordingly.
2004-06-24 15:29:19 +00:00
Michael Natterer
02b91f6628 app/tools/gimptool.[ch] added boolean return value to
2004-06-24  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: added boolean return value to
	GimpTool::key_press() which indicates if the event was handled.

	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: return TRUE if the key event was handled.

	* app/tools/gimppainttool.c: removed key_press() implementation.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontrollerkeyboard.[ch]: new controller class
	which takes GdkEventKey and emits controller events for all
	combinations of modifiers and cursor keys.

	* app/widgets/gimpcontrollers.[ch]: added new function
	gimp_controllers_get_keyboard().

	* app/display/gimpdisplayshell-callbacks.c: if a key event was not
	handled by the active tool, dispatch it to the keyboard controller.

	* etc/controllerrc: add a keyboard controller which is configured
	to do the same as the removed gimp_paint_tool_key_press().
2004-06-24 10:16:08 +00:00
William Skaggs
63a4a72f79 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/gui/*.c:
	* app/widgets/*.c:
	* etc/templaterc: HIGify capitalization.  Should finish bug #123699
	except for everything I missed or got wrong.
2004-06-23 22:44:04 +00:00
Michael Natterer
1ce16fefd7 app/widgets/gimpenumaction.[ch] app/widgets/gimppluginaction.[ch] added
2004-06-23  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpenumaction.[ch]
	* app/widgets/gimppluginaction.[ch]
	* app/widgets/gimpstringaction.[ch]: added parameters to the
	gimp_*_action_selected() function so the "selected" signal can be
	emitted with value != action->value. Changed GtkAction::activate()
	implementations accordingly (pass action->value).

	* app/widgets/gimpcontrollers.c: call gimp_enum_action_selected()
	and pass the value of the GimpControllerEventValue instead of
	temporarily replacing action->value and calling
	gtk_action_activate().

	* app/widgets/gimpcontrollerinfo.c: fixed debugging output.
2004-06-23 14:39:48 +00:00
Michael Natterer
9fe8e84963 app/actions/view-actions.c added actions & callbacks to configure the
2004-06-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: added actions & callbacks to
	configure the canvas padding color.

	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: added the actions' help IDs and menu entries.

	* app/display/display-enums.h: added /*< skip >*/'ed enum value
	GIMP_CANVAS_PADDING_MODE_RESET.

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]: removed the canvas padding
	button and its popup menu (fixes bug #142996). Instead, added a
	toggle button which allows to zoom the image when the window is
	resized (as known from sodipodi, except it doesn't work as nice
	yet :-) improvements to the algorithm are welcome).
	Cleaned up the GimpDisplayShell struct a bit and renamed some
	of its members.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-zoom-follow-window-12.png: added new
	icon for the new display toggle button.
2004-06-22 16:31:27 +00:00
Sven Neumann
a5fcdf28c7 unset the filename if the image is unnamed.
2004-06-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): unset
	the filename if the image is unnamed.

	* configure.in
	* app/sanity.c: depend on gtk+ >= 2.4.1.

	* app/widgets/gimpthumbbox.[ch]: changed gimp_thumb_box_set_uris()
	to gimp_thumb_box_take_uris() since the function takes ownership
	of the list,

	* app/widgets/gimpfiledialog.c: changed accordingly. Removed code
	that worked around a problem in gtk+ < 2.4.1.
2004-06-22 15:11:35 +00:00
Michael Natterer
5e2c4257bb removed value GIMP_CURSOR_FORMAT_PIXBUF_PREMULTIPLY because it's the job
2004-06-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-enums.[ch] (enum GimpCursorFormat): removed
	value GIMP_CURSOR_FORMAT_PIXBUF_PREMULTIPLY because it's the job
	of GDK to do that (it was GDK that was broken, not some of the X
	servers).

	* app/widgets/gimpcursor.c (gimp_cursor_new): premultiply the
	cursor's pixels for GTK+ < 2.4.4.
2004-06-21 16:17:16 +00:00
Sven Neumann
2670ce0bf8 libgimpwidgets/gimpwidgets.[ch] added new utility function
2004-06-21  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.[ch]
	* libgimpwidgets/gimpwidgets.def: added new utility function
	gimp_label_set_attributes().

	* app/display/gimpdisplayshell.c
	* app/gui/preferences-dialog.c
	* app/gui/resolution-calibrate-dialog.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpwidgets-utils.c: use the new function.

	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimphistogrameditor.c: display the name in italic.

	* plug-ins/common/jpeg.c: display the file size in italic.
2004-06-21 13:18:50 +00:00
Sven Neumann
d97fb0a287 removed the label between the spinbuttons, it looks silly. Converted tabs
2004-06-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphistogrambox.[ch]: removed the label between the
	spinbuttons, it looks silly. Converted tabs to spaces, removed
	trailing whitespace.

	* app/widgets/gimphistogrameditor.c
	* app/tools/gimpthresholdtool.c: changed accordingly.
2004-06-20 22:04:10 +00:00
William Skaggs
ca7aac79d1 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimphistogrambox.[ch]:
	* app/tools/gimpthresholdtool.c: Changed the threshold tool dialog
	so that it uses a two-triangle-slider scale of the sort used in the
	levels tool.  Almost all of the changes are actually in the
	histogram-box widget code, which is only used by the threshold
	tool.  Fixes bug #137521.
2004-06-20 20:51:23 +00:00
Philip Lafleur
c7364a64aa Changed "Zoom to Fit Window" command to "Fit Image in Window" and added
2004-06-20  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-scale.[ch]:
	* app/display/gimpnavigationview.[ch]:
	* app/actions/view-actions.c:
	* app/actions/view-commands.[ch]:
	* app/widgets/gimphelp-ids.h:
	* menus/image-menu.xml.in: Changed "Zoom to Fit Window" command
	to "Fit Image in Window" and added another command, "Fit Image
	to Window", that zooms according to the opposite dimension. Fixes
	bug #144597.
2004-06-20 12:09:03 +00:00
Michael Natterer
3720ce2ef7 start supporting GIMP_CONTROLLER_EVENT_VALUE of type gdouble. Assume the
2004-06-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollers.c (gimp_controllers_event_mapped):
	start supporting GIMP_CONTROLLER_EVENT_VALUE of type gdouble.
	Assume the double value is in a [0.0..1.0] range and temporarily
	change the value of the called GimpEnumAction to a range of
	[0..1000] when invoking it. All still very hackish...
2004-06-19 00:31:08 +00:00
Michael Natterer
98e5e6939d more debugging output.
2004-06-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollerinfo.c (gimp_controller_info_event):
	more debugging output.
2004-06-19 00:05:48 +00:00
Michael Natterer
2a69c419f1 added gimp_boolean_handled_accum().
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch]: added gimp_boolean_handled_accum().

	* app/core/gimp.c
	* app/widgets/gimpcontrollerinfo.c: use it.
2004-06-17 16:32:30 +00:00
Michael Natterer
75e6fc560b add newly created children to the container *after* deserializing them so
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontainer.c (gimp_container_deserialize): add newly
	created children to the container *after* deserializing them so
	GimpContainer::add() callbacks get the already deserialized
	object.

	* app/widgets/gimpcontrollers.c: connect to "add" and "remove" of
	the controller list and remember / clear the wheel controller when
	it appears / disappears.
2004-06-17 16:25:36 +00:00
Michael Natterer
5f4eabdbcb removed "enabled" property. Removed GIMP_CONTROLLER_PARAM_RERIALIZE from
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: removed "enabled"
	property. Removed GIMP_CONTROLLER_PARAM_RERIALIZE from the "name"
	property because it's the hardware-determined name of this
	controller instance.

	* app/widgets/gimpcontrollerwheel.c
	* modules/controller_linux_input.c: set the name.

	* libgimpwidgets/gimpwidgets.h: #include gimpcontroller.h.

	* app/widgets/gimpcontrollerinfo.[ch]: added "enabled" here
	instead.  Don't dispatch events if the controller is
	disabled. Made everything work (not crash) with info->mapping
	being NULL.

	* etc/controllerrc: updated again with the changed format.

	* app/widgets/gimpcontrollers.[ch]: added
	gimp_controllers_get_list() which returns the container of
	controllers.

	* app/widgets/gimphelp-ids.h
	* app/gui/preferences-dialog.c: added controller configuration
	(can't change anything yet, just view the current settings).
	Resurrected the "Input Devices" page and removed the "Session"
	page by moving its widgets to other pages. Pack the various
	"Save now"/"Clear now" buttons vertically, not horizontally.
	Fixes bug #139069.

	* themes/Default/images/preferences/Makefile.am
	* themes/Default/images/preferences/controllers.png
	* themes/Default/images/preferences/theme.png: new icons for new
	prefs pages. Someone needs to make them nice...
2004-06-17 14:07:05 +00:00
Michael Natterer
004a9572cf always return a non-NULL string (return "<invalid event id>" as fallback).
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.c (gimp_controller_get_event_name)
	(gimp_controller_get_event_blurb): always return a non-NULL
	string (return "<invalid event id>" as fallback).

	* modules/controller_linux_input.c: reenabled button event
	dispatching.

	* app/widgets/gimpcontrollerinfo.c: fixed debugging output.
2004-06-16 19:51:33 +00:00
Michael Natterer
3a7f7d54e7 added #define GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added #define
	GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties serializable.

	* modules/controller_linux_input.c: made "device-name"
	serializable.

	* app/config/gimpconfig-params.h: added macro
	GIMP_CONFIG_INSTALL_PROP_POINTER() which needs to be handled
	by custom (de)serialize_property() implementations.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: made object (de)serialization
	work for object properties which are *not* GIMP_PARAM_AGGREGATE.
	Write/parse the exact type of the object to create to enable this.

	* app/core/gimpmarshal.list: new marshaller for GimpControllerInfo.

	* app/widgets/gimpcontrollerinfo.[ch]: implement GimpConfigInterface
	and add "controller" and "mapping" properties. Add "event-mapped"
	signal which carries the action_name.

	* app/widgets/gimpcontrollers.c: removed all deserialization code
	and simply (de)serialize the controller container. Install a
	container handler for "event-mapped" and do the action_name ->
	action mapping in the callback.

	* etc/controllerrc: regenerated with new syntax. Delete your old one!
2004-06-16 18:14:44 +00:00
Sven Neumann
429b090fd4 don't use gettext() here.
2004-06-16  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontrollerwheel.c
	(gimp_controller_wheel_get_event_name): don't use gettext() here.

	* modules/controller_linux_input.c: added more button events, set
	the device name, some cleanup.
2004-06-16 17:22:19 +00:00
Michael Natterer
569af0ac93 added GimpController::get_event_blurb() which returns the strings that
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added
	GimpController::get_event_blurb() which returns the strings that
	were returned by get_event_name(). The latter returns
	untranslatable event identifiers now.

	* app/widgets/gimpcontrollerwheel.c
	* modules/controller_linux_input.c: changed accordingly.

	* app/widgets/gimpcontrollerinfo.c
	* app/widgets/gimpcontrollers.c: changed the event mapping from
	event-id -> action-name to event-name -> action-name.

	* etc/controllerrc: changed accordingly (finally readable now).
2004-06-16 11:53:37 +00:00
Michael Natterer
ba2e6c675f app/widgets/Makefile.am app/widgets/widgets-types.h made an object out of
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontrollerinfo.[ch]: made an object out of
	the GimpControllerInfo struct.

	* app/widgets/gimpcontrollers.c: changed accordingly.
2004-06-16 11:11:32 +00:00
Michael Natterer
3474308cfe better debugging output.
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollers.c: better debugging output.
2004-06-16 02:23:42 +00:00
Sven Neumann
f4208e33ba bug fix.
2004-06-16  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontrollers.c: bug fix.

	* configure.in: check for linux/input.h.

	* modules/Makefile.am
	* modules/controller_linux_input.c: added a prototype controller
	module using the linux input event interface.

	* etc/controllerrc: added example config for linux input device.
2004-06-16 02:18:17 +00:00
Michael Natterer
1713ef21a5 load the controller's properties from the controllerrc file.
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollers.c: load the controller's
	properties from the controllerrc file.

	* etc/controllerrc: set the wheel's properties.
2004-06-16 01:59:50 +00:00
Michael Natterer
aa96898f45 ref the actions when putting them in the mapping table.
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollers.c: ref the actions when putting
	them in the mapping table.

	* app/actions/context-actions.c: added actions to change the
	opacity in 10% steps.
2004-06-16 01:16:52 +00:00
Michael Natterer
f3b7f4161c added a "name" property. Dispatch events only if the controller is
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added a "name" property.
	Dispatch events only if the controller is enabled.

	* app/widgets/gimpcontrollerwheel.c: added controller events for
	all possible modifier combinations.

	* etc/Makefile.am
	* etc/controllerrc: default controllerrc which maps all unused
	wheel+modifier combinations to more-or-less usefull stuff.
2004-06-16 00:52:28 +00:00
Michael Natterer
d0117ef5b9 Started to fix bug #106920 in a more genreral way:
2004-06-16  Michael Natterer  <mitch@gimp.org>

	Started to fix bug #106920 in a more genreral way:

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpwidgetsmarshal.list
	* libgimpwidgets/gimpcontroller.[ch]: new abstract base class
	which provides an API for pluggable input controller modules
	(mouse wheel, usb/midi stuff etc.).

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontrollerwheel.[ch]: subclass of the above
	which maps wheel mouse scroll events to controller events.

	* app/widgets/gimpcontrollers.[ch]: manager for controllers.
	reads $(gimpdir)/controllerrc and keeps a mapping of controller
	events to GtkActions.

	* app/gui/gui.c: initialize and shut down the controller stuff.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): if a wheel controller
	exists, dispatch GdkEventScroll to it first and return if it was
	handled.
2004-06-15 22:59:26 +00:00
Michael Natterer
8988b85ba3 fixed typo in last commit. 2004-06-14 14:41:45 +00:00
Michael Natterer
179c709509 do the workaround for "" accelerators only if the GTK+ version is smaller
2004-06-14  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.c (gimp_action_group_add_*_actions):
	do the workaround for "" accelerators only if the GTK+ version
	is smaller than 2.4.3. Fixes bug #144342 for GTK+ >= 2.4.3.
2004-06-14 14:38:59 +00:00
Michael Natterer
2498adc5f6 added enum GimpCursorFormat which can be one of { BITMAP, PIXBUF,
2004-06-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-enums.[ch]: added enum GimpCursorFormat
	which can be one of { BITMAP, PIXBUF, PIXBUF-PREMULTIPLY } to
	work around broken X servers.

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h: added GimpGuiConfig::cursor-format.

	* app/gui/preferences-dialog.c: added a GUI for the new option.

	* app/widgets/gimpcursor.[ch]: added cursor_format parameter
	to gimp_cursor_new() and _set().

	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpdialogfactory.c: pass an appropriate cursor_mode.
2004-06-13 02:08:54 +00:00
Michael Natterer
b490b26283 added "gint freeze_count" and gimp_data_freeze()/thaw() functions. Emit
2004-06-13  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: added "gint freeze_count" and
	gimp_data_freeze()/thaw() functions. Emit "dirty" only if
	freeze_count either is 0 or drops to 0.

	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpgradient.[ch]: removed freeze/thaw stuff that
	was duplicated in these two subclasses and use the new
	GimpData API instead.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c: changed accordingly.
2004-06-12 22:13:31 +00:00
Sven Neumann
2fd178c624 don't copy the first row onto itself.
2004-06-12  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolorbar.c (gimp_color_bar_expose): don't copy
	the first row onto itself.
2004-06-12 20:26:16 +00:00
Sven Neumann
fc03867f4c set the initially selected channel on the histogram combobox. Fixes bug
2004-06-12  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphistogrameditor.c (gimp_histogram_editor_init):
	set the initially selected channel on the histogram combobox.
	Fixes bug #144225.
2004-06-12 17:30:28 +00:00
Michael Natterer
33f43497f0 line-wrap the filename label if it's too long instead of cutting it off.
2004-06-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): line-wrap the
	filename label if it's too long instead of cutting it off.
2004-06-10 16:00:53 +00:00
Michael Natterer
65995ec6f8 s/GIMP_LAST_CURSOR_MODIFIER_ENTRY/GIMP_CURSOR_MODIFIER_LAST/.
2004-06-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-enums.h (enum GimpCursorModifier):
	s/GIMP_LAST_CURSOR_MODIFIER_ENTRY/GIMP_CURSOR_MODIFIER_LAST/.

	* app/widgets/gimpcursor.c: changed accordingly. Renamed struct
	GimpBitmapCursor to GimpCursor. More cleanup.
2004-06-10 14:43:08 +00:00
Sven Neumann
38b78ce9d2 added an API to expand/collapse the "Advanced Options" frame.
2004-06-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptemplateeditor.[ch]: added an API to
	expand/collapse the "Advanced Options" frame.

	* app/gui/preferences-dialog.c
	* app/widgets/gimphelp-ids.h: applied a patch done by William
	Skaggs that cleans up and reorganizes the Preferences dialog
	(bug #144060).
2004-06-09 22:37:49 +00:00
Sven Neumann
ae24e1fab2 applied a patch from David Gowers that makes the gradient editor display
2004-06-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpgradienteditor.c: applied a patch from David
	Gowers that makes the gradient editor display the perceptual
	intensity of the color under the cursor (bug #135037).
2004-06-05 11:14:38 +00:00
Michael Natterer
714d63fcda cursors/Makefile.am cursors/cursor-none.png new empty cursor images.
2004-06-05  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/cursor-none.png
	* cursors/xbm/cursor-none.xbm: new empty cursor images.

	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c
	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimpinktool.c
	* app/gui/preferences-dialog.c: applied patches from Philip
	Lafleur which implement hiding the cursor completely for paint
	tools. Changed the name of the config option from
	"hide-paint-tool-cursor" to "show-paint-tool-cursor" and default
	to TRUE because this needs the brush outline being visible while
	painting to be really usable. Fixes bug #132163.

	* app/widgets/widgets-enums.h: renamed all GimpCursorType and
	GimpToolCursorType enum values to GIMP_CURSOR_* and
	GIMP_TOOL_CURSOR_*.

	* app/widgets/gimpcursor.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimp*tool.c; changed accordingly.
2004-06-04 23:08:29 +00:00
Michael Natterer
d0f9de48d0 changed create_cursor_foo() utility functions to get_cursor_foo() and use
2004-06-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcursor.c: changed create_cursor_foo() utility
	functions to get_cursor_foo() and use them as accessors instead of
	using cursor->member. Use gdk_pixbuf_copy() instead of compositing
	the initial image onto an empty pixbuf.
2004-06-04 19:03:49 +00:00
Sven Neumann
aadd9e03aa set the focus on the text area.
2004-06-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptexteditor.c (gimp_text_editor_new): set the
	focus on the text area.
2004-06-04 18:17:50 +00:00
Michael Natterer
8c2fbfc2f6 removed...
2004-06-04  Michael Natterer  <mitch@gimp.org>

	* cursors/*.xbm: removed...

	* cursors/xbm/*.xbm: ...and added here instead. Renamed them
	all to match the PNG file names.

	* cursors/Makefile.am: changed accordingly.

	* app/widget/gimpcursor.c: ditto. Merged the two cursor creating
	functions again because they duplicated too much code.
2004-06-04 12:10:13 +00:00
Michael Natterer
aec32205c8 use gtk_widget_size_request() instead of _get_child_requisition() because
2004-06-03  Michael Natterer  <mitch@gimpmp.org>

	* app/widgets/gimptoolbox.c (gimp_toolbox_size_allocate): use
	gtk_widget_size_request() instead of _get_child_requisition()
	because we need to know the size of the toolbox' areas
	even if they are invisible. Fixes SIGFPE spotted by Jimmac.
2004-06-03 16:36:52 +00:00
Michael Natterer
a2955426b2 some cleanup. Make the tool_cursor and cursor_modifier components slightly
2004-06-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcursor.c: some cleanup. Make the tool_cursor
	and cursor_modifier components slightly transparent.

	* cursors/cursor-mouse.png: was the wrong image.
2004-06-03 14:03:54 +00:00
Michael Natterer
5c46556dd3 cursors/Makefile.am added PNG version of all cursors.
2004-06-03  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/*.png: added PNG version of all cursors.

	* cursors/gimp-tool-cursors.xcf: reordered and renamed all layers
	to match the new PNG filenames.

	* app/widgets/gimpcursor.[ch]: create cursors with alpha and color
	if the GdkDisplay supports it. Fall back to the old stuff
	otherwise.
2004-06-03 12:36:02 +00:00
Michael Natterer
1d31d62c30 use the newly added GimpGradient API to set the segment's handles instead
2004-06-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpgradienteditor.c (control_motion): use the newly
	added GimpGradient API to set the segment's handles instead of
	setting the values directly. Dirties the gradient correctly and
	makes the preview update instantly again. Fixes bug #143605.
2004-06-02 22:50:15 +00:00
Sven Neumann
62b59db976 app/display/gimpdisplayshell-scale.c app/gui/info-window.c
2004-06-02  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-scale.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpstrokeeditor.c: tweaked some spacings for
	consistency and better HIG compliance.
2004-06-02 17:56:02 +00:00
Michael Natterer
61116ebb05 removed utility funtion gimp_dnd_open_files().
2004-06-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.[ch]: removed utility funtion
	gimp_dnd_open_files().

	* app/widgets/gimptoolbox-dnd.c: added gimp_toolbox_drop_files()
	instead.

	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_files):
	show the error message if opening a dropped file fails.
2004-06-02 17:35:55 +00:00
Michael Natterer
b6beebcc00 removed enum GimpDndType...
2004-06-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.h: removed enum GimpDndType...

	* app/widgets/widgets-enums.h: ...and added it here.

	* app/widgets/gimpdnd.c: added more g_return_if_fail(). Allow
	all gimp_dnd_foo_dest_add() functions to be called without
	callback (just add the target if callback is NULL).

	(gimp_dnd_open_files): removed the checks for validity of the
	passed filenames/uris...

	(gimp_dnd_set_file_data): ...and added it here so all callbacks
	get an already sanitized list of strings.
2004-06-02 16:56:00 +00:00
Sven Neumann
35bad8319d create the hash table when inserting items; removes redundant
2004-06-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontainerview.c: create the hash table when
	inserting items; removes redundant create/destroy cycles and plugs
	a memory leak.
2004-06-02 12:49:16 +00:00
Sven Neumann
c509204b7d tools/pdbgen/pdb/image.pdb app/pdb/image_cmds.c reverted changes I did to
2004-06-01  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c
	* app/core/gimpimage.[ch]: reverted changes I did to the image
	unit earlier. As in 2.0, it will continue to not accept pixels.
	This makes the PDB API and the XCF format compatible again and
	fixes bug #142961 (and to some extent bug #137704).

	* app/core/Makefile.am
	* app/core/gimpimage-unit.[ch]: removed these files. The
	convenience accessors defined here aren't commonly used any
	longer.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added a unit parameter to
	gimp_display_new(). Made "unit" and "scale" properties of
	GimpDisplayShell.

	* app/actions/image-commands.c
	* app/actions/images-commands.c
	* app/actions/layers-commands.c
	* app/actions/select-commands.c
	* app/actions/view-commands.c
	* app/core/gimp-edit.c
	* app/core/gimp.[ch]
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpstatusbar.c
	* app/file/file-open.c
	* app/gui/gui-vtable.c
	* app/gui/info-window.c
	* app/gui/offset-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/pdb/display_cmds.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimptoolbox-dnd.c
	* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
	display unit where the image unit was used before.
2004-06-01 22:04:20 +00:00
Michael Natterer
572577b262 app/widgets/gimpcontainertreeview-dnd.c some cleanup in the tree view DND
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpitemtreeview.c: some cleanup in the tree view
	DND code.
2004-06-01 15:14:45 +00:00
Michael Natterer
f826916828 added a horrible hack that sets the paned's position after the first
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpsessioninfo.c (gimp_session_info_restore): added
	a horrible hack that sets the paned's position after the first
	"size-allocate" after "map". Makes position remembering work for
	the toolbox and fixes bug #142697.

	* app/widgets/gimpdockable.[ch]: added new function
	gimp_dockable_set_tab_style()

	* app/actions/dockable-commands.c (dockable_tab_style_cmd_callback)
	* app/widgets/gimpsessioninfo.c (gimp_session_info_restore):
	use gimp_dockable_set_tab_style().
2004-06-01 12:31:44 +00:00
Michael Natterer
d2df109399 removed unused variable.
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox.c (toolbox_area_notify): removed
	unused variable.
2004-06-01 12:25:48 +00:00
Sven Neumann
b2037adcdf export the column enum.
2004-05-31  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontainerentry.[ch]: export the column enum.

	* app/gui/file-open-location-dialog.c: use a GimpContainerEntry
	on the documents list.
2004-05-31 20:44:18 +00:00
Michael Natterer
dbc49d9a11 app/widgets/Makefile.am new toolbox area which shows the active image.
2004-05-31  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gimptoolbox-image-area.[ch]: new toolbox area which
	shows the active image.

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h: added config options to control the
	visibility of the toolbox' color, indicator and image areas.

	* app/widgets/gimptoolbox.[ch]: added the image area and honor the
	new config options. Put the various areas into their own wrap box.

	* app/widgets/gimptoolbox-dnd.c: changed accordingly.

	* app/widgets/gimphelp-ids.h: added a help ID for the image area.

	* app/widgets/gimptoolbox-indicator-area.c: made the previews
	a bit larger, cleanup.

	* app/gui/preferences-dialog.c: added a "Toolbox" page as GUI for
	the new config options.

	* themes/Default/images/preferences/Makefile.am
	* themes/Default/images/preferences/toolbox.png: a (wrong) icon
	for the "Toolbox" prefs page. Needs to be replaced.
2004-05-31 20:30:52 +00:00
Sven Neumann
4c03f0156c app/widgets/Makefile.am app/widgets/widgets-types.h added new widget
2004-05-31  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerentry.[ch]: added new widget
	GimpContainerEntry, a GtkEntry with completion that implements the
	GimpContainerView interface.

	* app/tools/gimptextoptions.c (gimp_text_options_gui): added a
	GimpContainerEntry to select the font.
2004-05-31 17:53:25 +00:00
Sven Neumann
a03ad36ca1 app/Makefile.am app/actions/file-actions.c app/actions/file-commands.[ch]
2004-05-31  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/actions/file-actions.c
	* app/actions/file-commands.[ch]
	* app/gui/Makefile.am
	* app/gui/file-open-location-dialog.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in
	* menus/toolbox-menu.xml.in: added a rudimentary "Open Location"
	dialog.
2004-05-31 14:40:10 +00:00
Michael Natterer
421024cc5c app/core/core-enums.h app/core/gimpgradient.[ch] app/pdb/Makefile.am
2004-05-31  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h
	* app/core/gimpgradient.[ch]
	* app/pdb/Makefile.am
	* app/widgets/gimpgradienteditor.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/groups.pl
	* tools/pdbgen/pdb/gradient_edit.pdb: applied a patch from Shlomi
	Fish that adds lots of gradient edit functions to
	gimpgradient.[ch] and makes them available through the PDB.
	Fixes bug #129675 and bug #129678.

	Did some cleanups / enhancments to the patch:

	* app/core/gimpgradient.[ch]: changed the naming scheme of the new
	functions and changed old functions to match the new scheme.
	Introduce a "freeze_count" and public freeze()/thaw() API which
	enables subsequent gradient changes without "dirty" being emitted
	all the time.  Added GimpGradient parameters to all functions
	which modify the gradient.

	* app/widgets/gimpgradienteditor.c: use the new freeze/thaw
	stuff to keep the gradient from updating when not in
	"Instant Update" mode.

	* app/actions/gradient-editor-commands.c: removed all gradient
	editing code and call the new core functions.

	* libgimp/Makefile.am
	* tools/pdbgen/pdb/gradient_edit.pdb: changed the namespace of all
	added functions. Generate libgimp wrappers for them..

	* app/pdb/gradient_edit_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpenums.h
	* libgimp/gimpgradientedit_pdb.[ch]
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: (re)generated.
2004-05-30 22:04:16 +00:00
Sven Neumann
e56c2fe71f add the spinbuttons to the size entry in the correct order. Fixes bug
2004-05-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptemplateeditor.c
	(gimp_template_editor_constructor): add the spinbuttons to the
	size entry in the correct order. Fixes bug 143347.
2004-05-28 22:35:54 +00:00
Michael Natterer
3fbab6b46c if the dropped stuff is a local filename (no file URI), convert it to an
2004-05-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_open_files): if the dropped
	stuff is a local filename (no file URI), convert it to an
	URI instead of forwarding it unmodified.
2004-05-28 14:54:39 +00:00
Michael Natterer
5fef0b83a1 don't invoke the popup preview if there is no viewable.
2004-05-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreview.c (gimp_preview_button_press_event):
	don't invoke the popup preview if there is no viewable.
2004-05-28 14:51:48 +00:00
Sven Neumann
3dc2c50094 same workaround for tooltips on combo boxes.
2004-05-28  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.c: same workaround for tooltips on
	combo boxes.
2004-05-28 14:08:23 +00:00
Michael Natterer
cca00fbe30 added "preview-size" and "preview-border-width" properties. Cleanup.
2004-05-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added "preview-size" and
	"preview-border-width" properties. Cleanup.

	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainercombobox.c: implement them.
2004-05-28 10:49:56 +00:00
Michael Natterer
a9932fcad8 app/widgets/gimpcontainergridview.[ch] removed "reorderable" from
2004-05-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: removed "reorderable"
	from gimp_container_foo_view_new().

	* app/widgets/gimpcontainereditor.[ch]: removed "reorderable" from
	gimp_container_editor_construct(). Automatically set the view to
	reorderable if the viewed container has no sort_func.

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptoolview.c
	* app/widgets/gimpundoeditor.c: removed reoderable stuff because
	GimpContainerEditor does this generically now.

	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpfontview.c: set reorderable to FALSE because
	they should not be reodered even if they don't have a sort_func.

	* app/gui/font-select.c: removed reorderable stuff. Some cleanup.

	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: same cleanups as in font-select.c
2004-05-28 09:52:15 +00:00
Michael Natterer
855eedf396 added enum GimpActiveColor which can be one of { FOREGROUND, BACKGROUND },
2004-05-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-enums.[ch]: added enum GimpActiveColor which
	can be one of { FOREGROUND, BACKGROUND },

	* app/widgets/Makefile.am
	* app/widgets/gimpfgbgeditor.[ch]: new widget implementing the
	FG/BG/Swap/Default color area known from the toolbox.

	* app/widgets/gimptoolbox-color-area.c: use the new widget.

	* app/widgets/gimpcoloreditor.[ch]: replaced the FG/BG buttons and
	the color area by a GimpFgBgEditor.
2004-05-27 12:41:22 +00:00
Michael Natterer
fe64a83dab gimp_editor_add_action_button() takes a va_list, terminate it with NULL.
2004-05-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdocumentview.c (gimp_document_view_new):
	gimp_editor_add_action_button() takes a va_list, terminate
	it with NULL. Fixes bug #143258.
2004-05-27 09:02:28 +00:00
Sven Neumann
c0e7bc785e app/widgets/gimpcolordisplayeditor.c modules/cdisplay_colorblind.c
2004-05-26  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolordisplayeditor.c
	* modules/cdisplay_colorblind.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/cdisplay_proof.c: HIG-ified color display filters.
2004-05-26 16:33:14 +00:00
Sven Neumann
c0783a91dc app/display/gimpdisplayshell-layer-select.c app/display/gimpprogress.c
2004-05-26  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpprogress.c
	* app/gui/brush-select.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/info-dialog.c
	* app/gui/offset-dialog.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/stroke-dialog.c
	* app/gui/tips-dialog.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpcolordisplayeditor.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpviewabledialog.c: adjusted dialog spacings.
2004-05-26 13:39:23 +00:00
Michael Natterer
18d2d499b5 added GimpContext parameters to GimpActivateItemFunc, GimpNewItemFunc and
2004-05-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemtreeview.h: added GimpContext parameters
	to GimpActivateItemFunc, GimpNewItemFunc and GimpEditItemFunc.

	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpitemtreeview.c: pass the view's context to
	the functions.

	* app/actions/actions.c (action_data_get_context): return
	gimp_get_user_context() if "data" is a Gimp.

	* app/actions/channels-commands.[ch]
	* app/actions/layers-commands.[ch]
	* app/actions/vectors-commands.[ch]: added GimpContext parameters
	to the resp. activate, new and edit functions and use the passed
	context instead of gimp_get_user_context().

	* app/actions/layers-commands.[ch]: removed the merge and flatten
	callbacks.

	* app/actions/image-commands.[ch]: made public layer merge utility
	function private and cleaned the whole file up a lot.

	* app/actions/layers-actions.c: use the callbacks from
	image-commands.c for merge and flatten.

	* app/actions/edit-commands.c
	* app/actions/file-commands.c
	* app/actions/select-commands.c: use action_data_get_context()
	instead of gimp_get_user_context().

	* app/actions/edit-actions.c: some cleanup.
2004-05-25 14:37:02 +00:00
Michael Natterer
6f7eb2fd57 added an evil hack as workaround for the missing
2004-05-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox.c (toolbox_create_tools): added an evil
	hack as workaround for the missing gtk_action_get_accel_closure().
	Re-enables accelerator display in the tool button labels.
2004-05-24 19:33:22 +00:00
Michael Natterer
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
Sven Neumann
51928a4a59 derive GimpToolInfo from GimpViewable, it doesn't make sense for it to be
2004-05-24  Sven Neumann  <sven@gimp.org>

	* app/core/gimptoolinfo.[ch]: derive GimpToolInfo from
	GimpViewable, it doesn't make sense for it to be a GimpData.

	* app/widgets/gimptooloptionseditor.c
	(gimp_tool_options_editor_get_title): do not append " Options" to
	the tool name. Fixes bug #142280.
2004-05-24 14:11:58 +00:00
Michael Natterer
1c62ddef4d Long overdue core container cleanup:
2004-05-24  Michael Natterer  <mitch@gimp.org>

	Long overdue core container cleanup:

	* app/core/gimplist.[ch]: added "unique-names" and "sort-func"
	properties and merged the resp. code from GimpDataList into
	GimpList. Removed "policy" parameters from gimp_list_new() and
	added "unique_names". Added new constructor gimp_list_new_weak().
	Made public function gimp_list_uniquefy_name() private.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpdatalist.[ch]: removed. Its functionality is
	entirely in GimpList now.

	* app/core/gimpdata.[ch]: added gimp_data_name_compare() which
	used to live in GimpDataList.

	* app/core/gimp.c
	* app/core/gimpdatafactory.c
	* app/core/gimpimage.c
	* app/core/gimptoolinfo.c
	* app/core/gimpundostack.c
	* app/paint/gimp-paint.c
	* app/tools/gimp-tools.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimpundoeditor.c: changed list creation accordingly.

	Made gimp->templates, gimp->named_buffers, tool_info->presets and
	the image's lists of layers, channels and vectors automatically
	ensure unique names.

	* app/widgets/gimptemplateview.c
	* app/actions/file-commands.c
	* app/actions/templates-commands.c
	* app/actions/tool-options-commands.c: removed calls to
	gimp_list_uniquefy_name().

	* app/core/gimpitem.c: removed major insanity where the items
	themselves where ensuring their unique names. Bah!

	* app/core/gimplayer.c (gimp_layer_name_changed): chain up
	conditionally.

	* app/core/gimplayermask.c (gimp_layer_mask_name_changed): removed
	because there is no need any more to keep the parent
	implementation from being invoked.
2004-05-24 10:49:34 +00:00
Michael Natterer
43cdd54dd1 reoedered to somehow reflect the class hierarchy.
2004-05-23  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: reoedered to somehow reflect the
	class hierarchy.

	Some dockable context handling cleanup:

	* app/widgets/gimpdocked.[ch]: removed "prev_context" parameter
	from GimpDocked::set_context(). Widgets which need the old context
	to disconnect from should remember it themselves.

	* app/widgets/gimpdockable.c (gimp_dockable_set_context): don't
	pass the old context to gimp_docked_set_context().
	Some cleanup.

	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainereditor.c: changed accordingly.

	* app/display/gimpnavigationview.[ch]
	* app/widgets/gimpimageeditor.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added a "context" member
	which holds the context set by GimpDocked::set_context().

	* app/widgets/gimpdrawabletreeview.c: use the view's context
	instead of gimp_get_user_context().

	* app/widgets/gimpcoloreditor.[ch]: removed separate API to
	set the context because it implements the GimpDockedInterface.

	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimperrorconsole.c: pass "menu-factory",
	"menu-identifier" and "ui-path" to g_object_new() instead of
	calling gimp_editor_create_menu() later.

	Action cleanup partly related to the context stuff above:

	* app/actions/actions.c (action_data_get_gimp): get the Gimp from
	context->gimp, not gimage->gimp because gimage may be NULL.

	(action_data_get_context): changed to use the new context members
	added above.

	* app/actions/channels-actions.c (channels_actions_update): cleanup.

	* app/actions/edit-actions.c (edit_actions_update): fixed
	sensitivity of "edit-undo-clear".

	* app/actions/vectors-actions.c (vectors_actions_update): make
	"vectors-merge-visible" sensitive only if there is more than one
	GimpVectors in the image.

	* app/actions/colormap-editor-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/palette-editor-actions.c: added FG/BG color previews
	to actions which take colors from them. Changed code to be safe
	against "context" being NULL.

	* app/actions/drawable-commands.c:
	s/active_drawable/drawable/g. Makes the code more readable.

	* app/actions/select-commands.[ch]
	* app/actions/vectors-commands.[ch]: removed public stroke utility
	functions and other stuff which is not needed any more because
	dialog buttons invoke the correct actions now. Moved the
	functions' code to the resp. action callbacks.
2004-05-23 10:04:41 +00:00
Sven Neumann
a8becd6b59 added some GtkSizeGroups and changed spacings to improve the dialog
2004-05-21  Sven Neumann  <sven@gimp.org>

	* app/gui/preferences-dialog.c: added some GtkSizeGroups and
	changed spacings to improve the dialog layout.

	* app/gui/file-new-dialog.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: minor changes for consistency.
2004-05-21 14:17:27 +00:00
Michael Natterer
d4a163eb90 use gtk_widget_get_screen(), not window_get_screen() on a button.
2004-05-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimperrorconsole.c
	(gimp_error_console_save_ext_clicked): use
	gtk_widget_get_screen(), not window_get_screen() on a button.
2004-05-20 22:33:19 +00:00
Michael Natterer
2849cf23e5 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass
2004-05-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpaction.[ch]: new GtkAction subclass which can
	show either a color or viewable preview in GtkImageMenuItem
	proxies.

	* app/widgets/gimpenumaction.[ch]
	* app/widgets/gimppluginaction.[ch]
	* app/widgets/gimpstringaction.[ch]: derive them from GimpAction.

	* app/widgets/gimpactiongroup.c (gimp_action_group_add_actions):
	add GimpActions, not GtkActions.

	(gimp_action_group_set_action_color)
	(gimp_action_group_set_action_viewable): removed all hacks and
	simply set the "color" or "viewable" properties of the GimpAction
	to change. Fixes color/viewable previews in menus.

	* app/actions/file-actions.c: show previews in the "Open Recent"
	menu items.

	Unrelated:

	* app/widgets/widgets-types.h: removed GimpDockedInterface typedef...

	* app/widgets/gimpdocked.h: ...and added it here. We don't have
	class struct typedefs in the types header either.

	* app/actions/edit-actions.c: added <Ctrl>+semicolon as shortcut
	for "edit-fill-pattern".

	* app/actions/gradient-editor-actions.c: added some stock IDs.
	Please comment.
2004-05-19 20:56:37 +00:00
Michael Natterer
3fb934b2a4 Allow plug-ins to register menu icons. Fixes bug #120500.
2004-05-18  Michael Natterer  <mitch@gimp.org>

	Allow plug-ins to register menu icons. Fixes bug #120500.

	* app/core/core-enums.[ch]: added enum GimpIconType which can
	be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
	* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
	functions which write/parse raw binary data. Needed for storing
	inline pixbufs in pluginrc.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
	new function which writes out an unquoted and unescaped string.

	* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
	new members "icon_type", "icon_data_length" and "icon_data".
	Reordered members so file_proc specific stuff is at the end.

	(plug_in_proc_def_get_stock_id)
	(plug_in_proc_def_get_pixbuf): new functions to access the
	procedure's icon.

	* app/plug-in/plug-in-rc.c: save/restore the registered icons.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c: set the action's stock ID from
	the procedure's stock ID.

	* app/widgets/gimppluginaction.c
	(gimp_plug_in_action_connect_proxy): if the procedure provides a
	pixbuf, set it as icon for the menu item.

	* app/menus/file-dialog-menu.[ch]
	* app/menus/file-open-menu.c
	* app/menus/file-save-menu.c
	* app/xcf/xcf.c: changed accordingly.

	* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
	function which can be called during query().

	* tools/pdbgen/enums.pl
	* app/pdb/internal_procs.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimpplugin_pdb.c
	* libgimp/gimpplugin_pdb.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c
	* plug-ins/print/print.c: register stock_id icons.

	* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
	testing purposes (used emblem-camera.png from gnome-icon-theme).

	* app/actions/dialogs-actions.c
	* app/actions/file-actions.c: unrelated: added some more icons
	to menu items.
2004-05-18 21:19:43 +00:00
Michael Natterer
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
Michael Natterer
b8739d5901 added "name" attributes to all submenus.
2004-05-13  Michael Natterer  <mitch@gimp.org>

	* menus/tool-options-menu.xml: added "name" attributes to all
	submenus.

	* app/menus/tool-options-menu.c: use the menu names instead of the
	overly long action names.

	* app/actions/colormap-editor-commands.c
	* app/actions/tool-options-commands.c: added some callback
	implementations.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimptooloptionseditor.c: removed the callbacks here
	and use action buttons.

	* app/actions/actions.c
	* app/actions/colormap-editor-actions.c
	* app/actions/edit-actions.c: code review / cleanup.
2004-05-13 15:50:55 +00:00
Michael Natterer
aa0c18ea92 if in list mode, add an "eye" column which toggles tool visibility.
2004-05-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolview.[ch]: if in list mode, add an "eye"
	column which toggles tool visibility.
2004-05-13 15:14:50 +00:00
Michael Natterer
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
Sven Neumann
6750667d87 libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal) left-align
2004-05-12  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal)
	* app/widgets/gimpwidgets-utils.c (gimp_table_attach_stock):
	left-align the label.

	* app/actions/channels-commands.c
	* app/actions/layers-commands.c
	* app/actions/qmask-commands.c
	* app/actions/vectors-commands.c
	* app/display/gimpdisplayshell-scale.c
	* app/gui/brush-select.c
	* app/gui/file-new-dialog.c
	* app/gui/info-dialog.c
	* app/gui/info-window.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptextoptions.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimpwidgets-utils.c: left-align labels as suggested
	by the HIG.
2004-05-12 11:37:21 +00:00
Michael Natterer
de7a940501 app/config/gimpconfig-deserialize.c app/config/gimpscanner.c
2004-05-12  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpscanner.c
	* app/core/gimp-edit.c
	* app/core/gimpchannel-combine.c
	* app/core/gimpcontainer.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-combine.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpprogress.c
	* app/gui/info-dialog.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/plug-in/plug-in.c
	* app/tools/gimpdrawtool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpwidgets-utils.c
	* app/xcf/xcf-save.c
	* libgimp/gimpexport.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimppixmap.c
	* libgimpwidgets/gimpunitmenu.c: replaced G_GNUC_FUNCTION,
	G_GNUC_PRETTY_FUNCTION, G_STRLOC and hardcoded function names in
	g_warning()s by G_STRFUNC.
2004-05-12 08:13:33 +00:00
Michael Natterer
741854b58d define G*_DISABLE_DEPRECATED for all G* modules except GTK+. Don't do so
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* configure.in: define G*_DISABLE_DEPRECATED for all G* modules
	except GTK+. Don't do so if compiling against GLib, GTK+ >= 2.5.0
	and Pango >= 1.5.0

	* libgimpwidgets/gimpoffsetarea.c: s/gdk_gc_unref/g_object_unref/

	* app/config/gimpconfig-deserialize.c
	* app/widgets/gimpdeviceinfo.c:
	s/g_value_set_foo_take_ownership/g_value_take_foo/

	* app/text/gimptext-vectors.c
	* app/text/gimptext-bitmap.c:
	s/pango_ft2_font_get_face/pango_fc_font_lock,unlock_face/
2004-05-11 17:19:24 +00:00
Michael Natterer
8fbc7e2daf app/widgets/Makefile.am app/widgets/widgets-types.h
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainermenuimpl.[ch]
	* app/widgets/gimpmenuitem.[ch]: removed. Obsoleted by
	GimpContainerViewInterface implemented by GimpContainerComboBox.
2004-05-11 16:14:03 +00:00
Michael Natterer
11fa092588 added action_data_get_context() and macro return_if_no_context().
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.[ch]: added action_data_get_context() and
	macro return_if_no_context().

	* app/actions/brushes-actions.c
	* app/actions/buffers-actions.c
	* app/actions/buffers-commands.c
	* app/actions/data-commands.c
	* app/actions/fonts-actions.c
	* app/actions/fonts-commands.c
	* app/actions/gradients-actions.c
	* app/actions/images-actions.c
	* app/actions/images-commands.c
	* app/actions/palettes-actions.c
	* app/actions/patterns-actions.c
	* app/actions/templates-actions.c
	* app/actions/templates-commands.[ch]
	* app/actions/tools-actions.c
	* app/actions/tools-commands.c: moved lots of code from widgets/
	to the resp. action callbacks.

	* app/widgets/gimpeditor.[ch]: added gimp_editor_add_action_button()
	which creates a GtkButton connected to the resp. action.

	* app/widgets/gimpdatafactoryview.[ch]: added "action_group"
	parameters so we can distinguish brushes, patterns etc. actions.

	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptoolview.c: removed tons of GtkButton::clicked()
	callbacks and use gimp_editor_add_action_button() instead
	of simply _add_button().

	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.
2004-05-11 16:05:21 +00:00
Michael Natterer
e53a7cb423 correctly get the default GimpContainerViewInterface implementation and
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainercombobox.c: correctly get the default
	GimpContainerViewInterface implementation and chain up to it for
	clear_items(). Update the preview renderers on "update", enable
	deselecting everything.

	* app/widgets/gimpimagedock.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/stroke-dialog.c: use GimpContainerComboBox instead of
	GimpContainerMenuImpl.

	* app/gui/palette-import-dialog.c: cleanup.
2004-05-11 16:01:00 +00:00
Sven Neumann
c636a085fe minor cleanup.
2004-05-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontainertreeview.c: minor cleanup.
2004-05-11 13:44:13 +00:00
Sven Neumann
5de9756f9a app/widgets/Makefile.am app/widgets/widgets-types.h added new widget,
2004-05-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainercombobox.[ch]: added new widget, almost
	finished.

	* app/widgets/gimpcontainerview.[ch]: added convenience functions
	to get and set the GimpContainerView properties.

	* app/widgets/gimpcontainerbox.c: use the convenience functions.

	* app/gui/file-new-dialog.c: use the new GimpContainerComboBox.

	* etc/templaterc: use "pixels" as the unit for pixel sized templates.
2004-05-11 12:13:31 +00:00
Michael Natterer
181a581f6e app/widgets/gimpchanneltreeview.c app/widgets/gimpcontainerbox.[ch]
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcontainerbox.[ch]
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.[ch]
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimpvectorstreeview.c: code review / cleanup.
2004-05-11 10:01:25 +00:00
Michael Natterer
930b621b8c app/widgets/widgets-types.h made GimpContainerView an interface. Added
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerview.[ch]: made GimpContainerView an
	interface. Added accessors for all members in the private struct
	and made it really private.

	* app/widgets/gimpcontainerbox.[ch]: derive it from GimpEditor and
	implement GimpContainerViewInterface and its properties.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c: implement
	GimpContainerViewInterface and use the new accessor functions.

	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c: changed accordingly.

	* app/widgets/gimptemplateview.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpundoeditor.c
	* app/actions/palettes-commands.c: #include "gimpcontainerview.h"
2004-05-10 23:22:39 +00:00
Sven Neumann
54cb4777c8 don't call gtk_widget_set_direction() on a non-existant widget. Fixes bug
2004-05-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptexteditor.c (gimp_text_editor_set_direction):
	don't call gtk_widget_set_direction() on a non-existant widget.
	Fixes bug #141792.
2004-05-10 18:10:18 +00:00
Michael Natterer
3adc0816e6 More GimpContainerView chopping:
2004-05-10  Michael Natterer  <mitch@gimp.org>

	More GimpContainerView chopping:

	* app/widgets/gimpcontainerview.[ch]: added
	GimpContainerViewPrivate struct (which is currently puclic :-) and
	removed all members from the GimpContainerView struct. Added
	accessors for "context", "container" and "preview_size /
	preview_border_width". Added macro to get the private struct
	(*not* via G_TYPE_INSTANCE_GET_PRIVATE because that's unavailable
	for interfaces).

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptoolview.c
	* app/actions/brushes-actions.c
	* app/actions/buffers-actions.c
	* app/actions/dockable-actions.c
	* app/actions/dockable-commands.c
	* app/actions/documents-actions.c
	* app/actions/fonts-actions.c
	* app/actions/gradients-actions.c
	* app/actions/gradients-commands.c
	* app/actions/images-actions.c
	* app/actions/palettes-actions.c
	* app/actions/palettes-commands.c
	* app/actions/patterns-actions.c
	* app/actions/templates-actions.c
	* app/actions/tools-actions.c
	* app/actions/tools-commands.c: changed accordingly.
2004-05-10 17:16:50 +00:00
Michael Natterer
d8d2c84d39 Prepare for making an interface out of GimpContainerView:
2004-05-10  Michael Natterer  <mitch@gimp.org>

	Prepare for making an interface out of GimpContainerView:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerbox.[ch]: new GimpContainerView
	subclass which implements GimpDocked interface and contains the
	vbox-with-scrolled-window stuff common to GimpContainerGridView
	and GimpContainerTreeView.

	* app/widgets/gimpcontainerview.[ch]: removed that functionality
	here.

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: derive them from
	GimpContainerBox.

	* app/gui/brush-select.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/widgets/gimpcontainerpopup.c: changed accordingly.
2004-05-10 11:08:51 +00:00
Sven Neumann
a08d648a47 added a stock icon for "view-zoom-1-1".
2004-05-10  Sven Neumann  <sven@gimp.org>

	* app/actions/view-actions.c: added a stock icon for "view-zoom-1-1".

	* app/widgets/gimpunitcombobox.[ch]: added functions to get and
	set the active unit.

	* app/widgets/gimpunitstore.c (gimp_unit_store_tree_model_get_value):
	need to special case GIMP_UNIT_PIXEL.

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpscalecombobox.[ch]: new widget to be used in the
	display's statusbar.

	* app/display/gimpdisplayshell-cursor.[ch]: always display the
	cursor position, not only if the cursor is inside the image. Added
	new function gimp_display_shell_clear_cursor() to clear the cursor
	label.

	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.

	* app/display/gimpstatusbar.[ch]
	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c: do not explicitely resize
	the statusbar cursor label, connect to GimpDisplayShell::scaled
	instead. Added a GimpScaleComboBox to the status bar.
2004-05-10 10:33:21 +00:00
Michael Natterer
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
Michael Natterer
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
Sven Neumann
ebdd4fb738 app/widgets/Makefile.am app/widgets/widgets-types.h
2004-05-08  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpunitcombobox.[ch]
	* app/widgets/gimpunitstore.[ch]: added a prototype of a unit menu
	based on GtkComboBox. Will move this to libgimpwidgets later...

	* app/display/gimpstatusbar.[ch]: use the new GimpUnitComboBox and
	GimpUnitStore.

	* themes/Default/gtkrc
	* themes/Small/gtkrc: hardcode the appearance of the
	GimpUnitComboBox. It uses a hack that doesn't work in list mode.
2004-05-07 22:16:15 +00:00
Sven Neumann
8e6d919ca9 added a const qualifier.
2004-05-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-colormap.[ch]: added a const qualifier.

	Changed how the image unit and dot-for-dot mode is handled. Might
	break things and certainly needs more changes (mainly in tools):

	* app/core/gimptemplate.c: allow GIMP_UNIT_PIXEL as image unit.

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpstatusbar.c: always use the image unit for the
	rulers and to display lengths.

	* app/widgets/gimptemplateeditor.c: redone GimpTemplateEditor
	based on a dialog mockup from Jimmac and Tigert.

	* app/core/core-enums.[ch]: changed some descriptions used by the
	template editor.
2004-05-07 15:45:56 +00:00
Michael Natterer
ca179a7757 Changed plug-in menu registration again to allow passing just the menu
2004-05-07  Michael Natterer  <mitch@gimp.org>

	Changed plug-in menu registration again to allow passing just the
	menu item's label (not the full path) in gimp_install_procedure()
	and only the path (excluding the item's label) in
	gimp_plugin_menu_register(). Matches the internal action system
	better and makes translating the menu paths much easier.

	(Of yourse it's still possible to use the old syntax for backward
	compatibility).

	* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".

	* app/plug-in/plug-in-params.[ch]: added new functions
	plug_in_param_defs_check() and plug_in_proc_args_check() which
	check if a procedure's parameters match its menu location
	(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
	registering an old-style (full) menu_path, use
	plug_in_param_defs_check(), set proc_def->menu_label otherwise.

	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
	plug_in_proc_args_check() on the passed menu_path and make sugre
	old and new style menu registration are not mixed.

	* app/pdb/plug_in_cmds.c: regenerated.

	* app/plug-in/plug-in-rc.c: save/restore "menu_label".

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c
	* app/menus/plug-in-menus.c: changed action/menu creation
	accordingly. Some hacks needed to allow both old and new style
	menu_label/menu_paths.

	* app/plug-in/plug-in.c
	* app/widgets/gimpfiledialog.c
	* app/xcf/xcf.c: changed accordingly.

	* plug-ins/common/align_layers.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/animoptimize.c
	* plug-ins/common/apply_lens.c
	* plug-ins/common/autocrop.c
	* plug-ins/common/autostretch_hsv.c
	* plug-ins/common/blinds.c
	* plug-ins/common/blur.c
	* plug-ins/common/borderaverage.c
	* plug-ins/common/bumpmap.c
	* plug-ins/common/c_astretch.c
	* plug-ins/common/ccanalyze.c
	* plug-ins/common/channel_mixer.c
	* plug-ins/common/checkerboard.c
	* plug-ins/common/color_enhance.c
	* plug-ins/common/colorify.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/compose.c
	* plug-ins/common/convmatrix.c
	* plug-ins/common/cubism.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/decompose.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/destripe.c
	* plug-ins/common/diffraction.c
	* plug-ins/common/displace.c
	* plug-ins/common/edge.c
	* plug-ins/common/emboss.c
	* plug-ins/common/engrave.c
	* plug-ins/common/exchange.c
	* plug-ins/common/film.c
	* plug-ins/common/flarefx.c
	* plug-ins/common/fractaltrace.c
	* plug-ins/common/screenshot.c: ported the first few plug-ins
	to the new registration scheme.
2004-05-07 00:30:24 +00:00
Michael Natterer
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
Michael Natterer
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
Michael Natterer
cd8243e19f Finally enable global accelerators in all docks:
2004-05-05  Michael Natterer  <mitch@gimp.org>

	Finally enable global accelerators in all docks:

	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
	iterate all of the UI manager's actions and enable their
	accelerators manually. Fixes bug #119878.
2004-05-05 01:06:14 +00:00
Sven Neumann
58bcea08cc added construct properties to make it possible to derive from
2004-05-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpviewabledialog.c: added construct properties to
	make it possible to derive from GimpViewableDialog.

	* app/widgets/gimptooldialog.[ch]: make GimpToolDialog a real
	object, not just a convenience constructor.

	* themes/Default/gtkrc
	* themes/Small/gtkrc: set a smaller border_width of 6 pixels for
	the action area of tool dialogs.

	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpimagemaptool.c: set a smaller border_width of 6
	pixels on tool dialogs to make them more compact.
2004-05-05 00:01:19 +00:00
Sven Neumann
97dd0a8e65 app/gui/info-dialog.c app/tools/gimpcolorbalancetool.c
2004-05-05  Sven Neumann  <sven@gimp.org>

	* app/gui/info-dialog.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c: use GimpFrame widgets, changed spacings.

	* app/widgets/gimptexteditor.c: tweaked.
2004-05-04 22:33:52 +00:00
Michael Natterer
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
Michael Natterer
90438eaaae removed debugging output, added #warning about runtime version check that
2004-05-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.c: removed debugging output, added
	#warning about runtime version check that can be removed as soon
	as we depend on GTK+ 2.4.1.
2004-05-04 15:09:53 +00:00
Sven Neumann
122e2c78db app/actions/channels-commands.c app/actions/gradient-editor-commands.c
2004-05-04  Sven Neumann  <sven@gimp.org>

	* app/actions/channels-commands.c
	* app/actions/gradient-editor-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/qmask-commands.c
	* app/actions/templates-commands.c
	* app/actions/vectors-commands.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/gui/convert-dialog.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/resolution-calibrate-dialog.c
	* app/gui/tips-dialog.c
	* app/gui/user-install-dialog.c
	* app/widgets/gimpwidgets-utils.c
	* libgimpwidgets/gimpquerybox.c: set dialog border spacing to 12.
2004-05-04 14:21:13 +00:00
Sven Neumann
2c2f46aeca app/gui/preferences-dialog.c app/widgets/widgets-enums.[ch] added new
2004-05-04  Sven Neumann  <sven@gimp.org>

	* app/gui/preferences-dialog.c
	* app/widgets/widgets-enums.[ch]
	* app/widgets/gimpwidgets-utils.c (gimp_window_set_hint): added
	new window hint "keep-above" to force toolbox and/or dock windows
	to be kept above (if the WM supports this hint). Fixes bug #131672.
2004-05-04 13:31:57 +00:00
Michael Natterer
eb152e218c removed code duplication by adding utility function
2004-05-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpundoeditor.c: removed code duplication by adding
	utility function gimp_undo_editor_update_buttons(), some general
	cleanups.
2004-05-04 12:32:36 +00:00
Michael Natterer
a305967570 emit the "undo-freeze" and "undo-thaw" signals only on the first freeze
2004-05-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_undo_freeze,thaw): emit the
	"undo-freeze" and "undo-thaw" signals only on the first freeze and
	last thaw, not on any of them.

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

	* app/widgets/gimpundoeditor.[ch]: added a "Clear Undo History"
	button. Fixes bug #136300.

	Also don't attach to the image's undo stack if the image's undo is
	disabled and set the buttons' sensitivity accordingly. Should fix
	all kinds of unpredictable undo history brokenness.
2004-05-04 12:07:58 +00:00
Sven Neumann
b0207bc3d4 moved line style options into a GtkExpander. Changed dialog spacings.
2004-05-04  Sven Neumann  <sven@gimp.org>

	* app/gui/stroke-dialog.c:
	* app/widgets/gimpstrokeeditor.c: moved line style options into a
	GtkExpander. Changed dialog spacings.
2004-05-04 00:15:49 +00:00
Sven Neumann
ab0d361254 fixed mnemonic 2004-05-03 18:35:10 +00:00
Sven Neumann
885609f61f added a hack that allows to get the label_spacing but no label. Useful
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_new): added a hack that
	allows to get the label_spacing but no label. Useful when the frame
	is packed into a GtkExpander.

	* app/widgets/gimptemplateeditor.c: pack the "Image Comment" frame
	into a GtkExpander to reduce clutter and dialog size.
2004-05-03 17:22:28 +00:00
Michael Natterer
6e35e2333f added gimp_help_id_quark() which is G_GNUC_CONST and a new macro
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: added gimp_help_id_quark()
	which is G_GNUC_CONST and a new macro GIMP_HELP_ID as shortcut.

	* app/widgets/gimpactiongroup.c (gimp_action_group_add_*_actions):
	attach the help ID to the action using the new quark key. Call
	gtk_action_group_add_action() instead of the _with_accel() variant
	if the accel is the empty string (== if we explicitely want no
	accel even if the stock item specifies one). Fixes warning flood
	with GTK+ 2.4.1.
2004-05-03 15:54:54 +00:00
Sven Neumann
311f033d34 if the label_widget is a button, set the button label as bold. Cache the
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c: if the label_widget is a button, set
	the button label as bold. Cache the indentation instead of
	calculating it over and over again.

	* themes/Default/gtkrc: set HIG-compliant spacing for the
	action_area.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_enum_radio_box_new() for a radio group that is no
	embedded in a frame.

	* app/widgets/gimpstrokeeditor.c: use a frame-less radio box for
	the Stroke style.

	* app/gui/file-new-dialog.c
	* app/gui/grid-dialog.c
	* app/gui/stroke-dialog.c: HIG-compliant spacings.
2004-05-03 15:37:56 +00:00
Michael Natterer
2275ab02d3 new function which overrides GtkWindow's default handler in order to give
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdock.c (gimp_dock_key_press_event): new function
	which overrides GtkWindow's default handler in order to give the
	focus widget precedence over accelerators for keys without any
	modifier or with <Shift> modifier. Enables e.g. having a <Shift>+s
	accelerator while still being able to enter 'S' in an entry.
	Thanks to Tim Janik for the code.
2004-05-03 14:57:19 +00:00
Sven Neumann
96ab019dd9 respect the frame's border width.
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_size_allocate): respect
	the frame's border width.

	* app/widgets/gimpcolorframe.[ch]: derive from GimpFrame.

	* app/gui/convert-dialog.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/resize-dialog.c: use GimpFrames, changed some spacings.
2004-05-02 22:33:33 +00:00
Sven Neumann
ea5e1a72ea take the left margin into account.
2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_size_request): take the
	left margin into account.

	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: removed container borders that
	aren't needed any longer.
2004-05-02 21:42:52 +00:00
Sven Neumann
522154d35b app/widgets/gimpenumwidgets.c app/widgets/gimpgrideditor.c use the
2004-05-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: use the GimpFrame widget,
	changed some spacings to better comply with the HIG.
2004-05-02 21:13:51 +00:00
Michael Natterer
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
Michael Natterer
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
Michael Natterer
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
Michael Natterer
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
Michael Natterer
aae726ee94 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppluginaction.[ch]: new GtkAction subclass which
	remembers the PlugInProcDef.

	* app/widgets/gimpactiongroup.[ch]: added "gpointer user_data" to
	the GimpActionGroup struct and to gimp_action_group_new(). Removed
	the user_data parameter from gimp_action_group_add_*_actions().

	* app/widgets/gimpactionfactory.[ch]: changed accordingly.

	* app/actions/*-actions.[ch]: removed user_data from all setup_funcs.

	* app/actions/plug-in-actions.c: use a GimpPlugInAction and
	finally use the right user_data for the callback so plug-in
	callbacks have a proper context.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_menus_create2() to
	plug_in_menus_setup().

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: changed accordingly.
2004-04-27 13:55:26 +00:00
Michael Natterer
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
Michael Natterer
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
Michael Natterer
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
Michael Natterer
b69ddb3993 removed "locale_domain" and "help_domain" parameters from
2004-04-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: removed "locale_domain" and "help_domain"
	parameters from GimpMenusCreateFunc.

	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
	* app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def):
	changed accordingly.

	* app/widgets/gimpactiongroup.[ch]: remember all created action
	groups is a hash table in GimpActionGroupClass.  Added
	gimp_action_groups_from_name() which returns a GList of all groups
	with the given name.

	* app/actions/plug-in-actions.[ch] (plug_in_actions_setup):
	removed the tree sorting code. Actions don't need to be ordered
	alphabetically.

	(plug_in_actions_update): copied & ported plug_in_menus_update().

	* app/gui/gui-vtable.c (gui_menus_create,delete_entry):
	dynamically add/remove plug-in actions in all "plug-in" action
	groups.
2004-04-26 15:01:00 +00:00
Michael Natterer
1071842535 remember and ref the created widgets. Added gimp_ui_manager_ui_popup()
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: remember and ref the created
	widgets.  Added gimp_ui_manager_ui_popup() which pops up a GtkMenu
	with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is
	called on popdown.

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize):
	don't forget to free the list of managed UIs.

	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel
	to the to-be-removed GtkItemFactory stuff.

	* 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
	* app/widgets/gimptooloptionseditor.c: changed accordingly and added
	#if 0'ed code which actually uses all the UI managers.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell.c
	* app/gui/gui-vtable.c: disabled some gimp_ui_manager_update()
	calls because they were invoking toggle and radio callbacks
	which still have the wrong signature.
2004-04-22 17:14:22 +00:00
Michael Natterer
42f79826a9 implemented gimp_action_group_set_action_color() and
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: implemented
	gimp_action_group_set_action_color() and
	gimp_action_group_set_action_viewable().

	* app/actions/*-actions.c: added stock IDs to all actions which
	represent toplevel popup menus. Fixed typos.

	* menus/brushes-menu.xml
	* menus/colormap-editor-menu.xml
	* menus/dockable-menu.xml
	* menus/gradients-menu.xml
	* menus/patterns-menu.xml
	* menus/toolbox-menu.xml: fixed typos.
2004-04-22 16:16:43 +00:00
Michael Natterer
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
Michael Natterer
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
Michael Natterer
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
Sven Neumann
5766718d6f libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
	from GtkListStore, to be used by GimpIntComboBox and also by the
	image and drawable menus.

	* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.

	* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
	removed API that is provided by the parent class.

	* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
	removed API that is provided by the parent class.

	* app/gui/resize-dialog.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-20 19:06:37 +00:00
Sven Neumann
8ea259bbb7 app/widgets/gimpenumstore.[ch] let the pixbuf renderer take care of
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumstore.[ch]
	* app/widgets/gimpenumcombobox.c: let the pixbuf renderer take care
	of rendering the pixbuf from the stock_id.
2004-04-20 17:51:49 +00:00
Sven Neumann
a0e845c8a9 libgimpwidgets/gimpmemsizeentry.c ported to GimpIntComboBox.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c
	* modules/cdisplay_proof.c: ported to GimpIntComboBox.

	* libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu
	API as deprecated and removed the code here.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated
	code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif.

	* libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS.

	* configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED.

	* app/widgets/gimpwidgets-constructors.c: added a #warning and
	#undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last
	remaining user of gimp_int_option_menu_new().
2004-04-20 14:37:12 +00:00
Sven Neumann
5e3b9ec330 added new function gimp_paint_mode_menu_set_history().
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-constructors.[ch]: added new function
	gimp_paint_mode_menu_set_history().

	* app/gui/brush-select.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimppropwidgets.c: use the new function instead of
	the deprecated gimp_int_option_menu API.
2004-04-20 13:10:50 +00:00
Sven Neumann
8339ba7f81 added more sanity checks.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumcombobox.c: added more sanity checks.

	* libgimpwidgets/gimpintcombobox.[ch]: added another GimpIntComboBox
	constructor: gimp_int_combo_box_new_array().

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/CML_explorer.c: ported to GimpIntComboBox.
2004-04-20 08:35:36 +00:00
Sven Neumann
2e3ac558d8 app/widgets/gimpactiongroup.c app/widgets/gimpenumcombobox.c fixed inline
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpenumcombobox.c
	* app/widgets/gimpenumstore.c: fixed inline docs.

	* app/widgets/gimpenumaction.c:	fixed property declaration.
2004-04-19 16:23:22 +00:00
Sven Neumann
957015e359 menus/Makefile.am added a DTD (basically copied from the GTK+ API docs).
2004-04-19  Sven Neumann  <sven@gimp.org>

	* menus/Makefile.am
	* menus/gtkuimanager.dtd: added a DTD (basically copied from the
	GTK+ API docs). Added a "validate" rule that allows to easily
	validate the XML files.

	* menus/*.xml: added a DOCTYPE declaration that refers to the
	newly added DTD.

	* app/widgets/gimpenumstore.[ch]:
	* app/widgets/gimpenumcombobox.c: documented the new API.
2004-04-19 15:35:15 +00:00
Michael Natterer
8848558f95 More GtkAction stuff (still unused):
2004-04-19  Michael Natterer  <mitch@gimp.org>

	More GtkAction stuff (still unused):

	* configure.in: added new directories menus/ and app/actions/

	* Makefile.am: build menus/

	* menus/.cvsignore
	* menus/Makefile.am
	* menus/*-menu.xml: new files: XML menu descriptions for each menu
	which is now defined in gui/*-menu.c.

	* app/widgets/widgets-types.h: some typedefs for GimpActionGroup.

	* app/widgets/gimpactiongroup.[ch]: added a "Gimp" construct-only
	property. Added APIs to set actions visible/sensitive/active
	and an unimplemented stub for setting the action's color.

	* app/Makefile.am: build actions/ and link libappactions.a

	* app/actions/.cvsignore
	* app/actions/Makefile.am
	* app/actions/*-actions.[ch]: new files: GtkActions for each
	*-commands.c file in gui/. Ported all "update" functions from the
	*-menu.c files.
	(everything completely unused, untested and partly #if 0'ed)

	* app/core/gimpimage.[ch]: for reasons of (action-) symmetry, added
	API to raise/lower channels/vectors to top/bottom.

	* app/gui/channels-commands.[ch]
	* app/gui/vectors-commands.[ch]: added callbacks for the new
	to top/bottom functions.

	* app/gui/Makefile.am
	* app/gui/dockable-commands.[ch]: new files split out of
	dialogs-commands.[ch].

	* app/gui/dialogs-commands.[ch]
	* app/gui/dialogs-menu.c: changed accordingly.

	* app/gui/edit-commands.[ch]: added edit_paste_into_cmd_callback()
	and remove usage of "guint action".

	* app/gui/image-menu.c: changed accordingly.

	* app/gui/palette-editor-commands.[ch]: split
	+palette_editor_new_color_cmd_callback() into separate callbacks
	for adding from FG and BG.

	* app/gui/palette-editor-menu.c: changed accordingly.
2004-04-19 14:54:24 +00:00
Sven Neumann
2921a53021 removed unused includes.
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdrawabletreeview.c: removed unused includes.
2004-04-19 00:08:53 +00:00
Sven Neumann
1d2976f934 app/widgets/gimppropwidgets.[ch] replaced
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.[ch]
	* app/gui/preferences-dialog.c: replaced
	gimp_prop_boolean_option_menu_new() with
	gimp_prop_boolean_combo_box_new().
2004-04-18 23:48:30 +00:00
Sven Neumann
e2709b97ba avoid unnecessary casts.
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumstore.[ch]: avoid unnecessary casts.

	* app/widgets/gimpenumcombobox.[ch]: added an API that inserts a
	GtkTreeModelFilter to make items invisible. This is a kludge to
	workaround bug #135875.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimphistogrameditor.c: use the new function to hide
	histogram channels that are not available with the current
	drawable.
2004-04-18 22:38:45 +00:00
Henrik Brix Andersen
da2115bad5 use g_signal_connect_object() instead of g_signal_connect(). Fixes bug
2004-04-18 Henrik Brix Andersen <brix@gimp.org>

* app/widgets/gimptemplateeditor.c
(gimp_template_editor_constructor): use g_signal_connect_object()
instead of g_signal_connect(). Fixes bug #140315.
2004-04-18 20:46:46 +00:00
Sven Neumann
89cf45541a app/widgets/Makefile.am app/widgets/widgets-types.h removed GimpEnumMenu.
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenummenu.[ch]: removed GimpEnumMenu.

	* app/widgets/gimpenumwidgets.[ch]: moved widget constructors that
	don't use GimpEnumMenu from gimpenummenu.[ch] to these new files.

	* app/widgets/gimpenumcombobox.[ch]: added a GtkComboBox widget
	using GimpEnumStore; replaces GimpEnumMenu.

	* app/widgets/gimpenumstore.[ch]: added new function
	gimp_enum_store_lookup_by_value().

	* app/widgets/gimppropwidgets.[ch]: replaced
	gimp_prop_enum_option_menu_new() with gimp_prop_enum_combo_box_new().

	* app/gui/brush-select.[ch]
	* app/gui/convert-dialog.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptexteditor.c: ported to GimpEnumComboBox.
2004-04-18 15:12:42 +00:00
Sven Neumann
f9135400ce app/widgets/Makefile.am app/widgets/widgets-types.h added (yet unused)
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenumstore.[ch]: added (yet unused) GimpEnumStore,
	a GtkListStore for enum values.
2004-04-18 01:20:26 +00:00
Sven Neumann
947d65595c s/GtkSignalFunc/GCallback/
2004-04-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-constructors.[ch]:
	s/GtkSignalFunc/GCallback/
2004-04-17 17:48:51 +00:00
Michael Natterer
537b874750 new marshaller VOID:STRING
2004-04-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: new marshaller VOID:STRING

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactiongroup.[ch]
	* app/widgets/gimpenumaction.[ch]
	* app/widgets/gimpstringaction.[ch]: added some completely unused
	GtkAction infrastructure.
2004-04-16 12:09:46 +00:00
Michael Natterer
957190d750 use the new dynamic GtkTargetList based API for changing the widget's drag
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_data_source_add)
	(gimp_dnd_data_source_remove): use the new dynamic GtkTargetList
	based API for changing the widget's drag source types.

	* app/widgets/gimpdocumentview.c (gimp_document_view_new): simply
	call gimp_dnd_file_source_add() instead of duplicating the whole
	GtkTargetEntry array insanity just for adding one source type.
2004-04-15 17:04:43 +00:00
Michael Natterer
25589863a3 app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.c
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimpcontainertreeview.c: removed runtime version
	checks and workarounds for bugs which are fixed in GTK+ 2.4.

	* app/widgets/gimpfiledialog.c
	(gimp_file_dialog_selection_changed): added runtime check for GTK+
	2.4.1 and work around GtkFileChooser's missing "update_preview"
	functionality for multiple selections if the dependency is not
	met.

	* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
	(gimp_menu_button_position): call gtk_menu_set_monitor() until
	bug #139187 is fixed.
2004-04-15 16:54:44 +00:00
Michael Natterer
2f2301c905 derive it from GtkFileChooser instead of GtkFileSelection.
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.[ch]: derive it from GtkFileChooser
	instead of GtkFileSelection.

	* app/gui/file-dialog-utils.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpthumbbox.c: changed accordingly.

	* app/gui/gradients-commands.c
	* app/gui/vectors-commands.c
	* app/tools/gimpimagemaptool.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* libgimpwidgets/gimpfileentry.c: use file choosers instead of
	file selectors.
2004-04-15 16:28:26 +00:00
Michael Natterer
837fa4294d Context cleanup continued:
2004-04-15  Michael Natterer  <mitch@gimp.org>

	Context cleanup continued:

	* app/core/gimpitem.[ch]: added context parameter to
	GimpItem::stroke().

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
	default values from instead of gimp_get_user_context().

	* app/core/gimpselection.c
	* app/gui/stroke-dialog.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.

	* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
	struct. Added context parameter to plug_in_new(),
	plug_in_call_query() and plug_in_call_init().

	* app/plug-in/plug-in-run.[ch]: added context parameters to
	plug_in_run() and plug_in_repeat().

	* app/gui/plug-in-commands.c
	* app/gui/vectors-commands.c
	* app/pdb/procedural_db.c
	* app/widgets/gimphelp.c: pass a context to plug_in_run() and
	plug_in_repeat().

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
	procedures with the plug-in's context.

	* app/plug-in/plug-ins.c: use a temporary context for running the
	plug-ins' query() and init() functions. Use the same context for
	running automatic extensions. This temporarily separates the main
	Script-Fu extension from the user context (i.e. scripts have no
	way of setting/getting the global FG, BG, brush etc.).
2004-04-15 13:10:51 +00:00
Michael Natterer
18d9161eea Get rid of the "current_context" which was in fact just a bunch of global
2004-04-15  Michael Natterer  <mitch@gimp.org>

	Get rid of the "current_context" which was in fact just a bunch of
	global variables. Instead, pass the needed context all the way
	from the GUI and the PDB to the core. This is a prerequisite for
	macro recording and generally helps separating the various
	subsystems from each other. Work in progress...

	* app/core/gimp.[ch]: removed member "current_context" and
	gimp_[get|set]_current_context().

	* app/core/gimp-edit.[ch]
	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpdrawable-offset.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-crop.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-merge.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage.[ch]
	* app/core/gimpimagefile.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.[ch]
	* app/core/gimpselection.[ch]
	* app/core/gimptemplate.[ch]
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/pdb/procedural_db.[ch]
	* app/text/gimptext-compat.[ch]
	* app/text/gimptextlayer-transform.[ch]
	* app/gui/brush-select.[ch]
	* app/gui/font-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: added tons of "GimpContext *context"
	parameters and use the passed context instead of
	gimp_get_current_context().

	* app/app_procs.c
	* app/batch.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors.c
	* app/gui/convert-dialog.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or
	GIMP_CONTEXT(tool_options) or whatever is the right context
	to the changed core functions.

	* tools/pdbgen/app.pl: pass "GimpContext *context" to all
	generated PDB invokers.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: pass the new context
	parameter to the changed core functions.

	* app/pdb/*_cmds.c: regenerated.
2004-04-14 23:37:34 +00:00
Sven Neumann
84688d18d8 added a category parameter to make this function more flexible.
2004-04-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-utils.[ch] (gimp_get_default_language): added a
	category parameter to make this function more flexible.

	* app/text/gimptext.c: changed accordingly.

	* app/widgets/gimphelp.c (gimp_help): localize the help pages
	according to the value of LC_MESSAGES. Fixes bug #139917.
2004-04-13 15:07:30 +00:00
Hans Breuer
22e0f080c1 build sanity.obj app/text/makefile.msc : gimptextundo.obj
2004-04-11  Hans Breuer  <hans@breuer.org>

	* app/makefile.msc : build sanity.obj
	  app/text/makefile.msc : gimptextundo.obj
	  app/widgets/makefile.msc : gimppatternfactoryview.obj

	* plug-ins/common/winclipboard.c : don't call
	gimp_image_undo_enable() when it's not switched off.
	Otherwise the undo history would be destroyed with
	Gimp-Core-CRITICAL **: file gimpimage.c: line 1579: assertion
	`gimage->undo_freeze_count > 0' failed
2004-04-11 15:21:09 +00:00
Sven Neumann
951f1589a1 changed the default for "help-locales" from NULL to an empty string. Fixes
2004-03-29  Sven Neumann  <sven@gimp.org>

	* app/config/gimpguiconfig.c: changed the default for "help-locales"
	from NULL to an empty string. Fixes the generated gimprc man-page.

	* app/config/gimprc-blurbs.h (HELP_LOCALES_BLURB): added missing
	whitespace.

	* app/widgets/gimphelp.c: use the user's locale if "help-locales"
	is NULL or the empty string.

	* docs/gimprc.5.in
	* etc/gimprc: regenerated.
2004-03-29 17:54:13 +00:00
Simon Budig
0c5632a8b1 set the minimum of the "default_heigt" property range to -1, this enables
2004-03-22  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdock.c: set the minimum of the
	"default_heigt" property range to -1, this enables users
	to disable this feature via gtkrc.
2004-03-22 00:33:08 +00:00
Sven Neumann
46fff1793d added a style property "default_height" and set a window default size for
2004-03-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdock.c: added a style property "default_height"
	and set a window default size for new docks. Fixes bug #137876.

	* themes/Default/gtkrc: document the default dock height.

	* themes/Small/gtkrc: set a smaller default dock height here.
2004-03-22 00:12:11 +00:00
Michael Natterer
5c74d2d334 modify the event_box and preview styles in GtkWidget::style_set() instead
2004-03-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpthumbbox.c: modify the event_box and preview
	styles in GtkWidget::style_set() instead of in
	gimp_thumb_box_new() so they follow theme changes correctly and
	the labels stay visible when switching to an "inverse" theme.
2004-03-21 11:22:29 +00:00
Sven Neumann
20d03407fe avoid to set the unit property with every size change; only set it if it
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_callback):
	avoid to set the unit property with every size change; only set it
	if it actually changed.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
	allow to pass a GParamSpec that identifies a single text property
	to be changed. In this case, don't store a GimpText object on the
	undo stack but only the changed value.

	* app/tools/gimptexttool.c: use the new undo feature to reduce the
	memory footprint of text undo for the common case.

	* app/text/gimptextlayer.c: changed accordingly.
2004-03-20 17:21:48 +00:00
Simon Budig
5e47b5a0ed Make it possible to refresh the preview of an undo step.
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/core/gimpundo.[ch]: Make it possible to refresh the preview
	of an undo step.

	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c: refresh the preview when
	compressing undos. This ensures that the last preview in the undo
	history always reflects the current state of the image.
2004-03-19 23:42:42 +00:00
Michael Natterer
fddb9ce0e3 app/gui/color-notebook.c (color_notebook_new) app/tools/gimpcroptool.c
2004-03-19  Michael Natterer  <mitch@gimp.org>

	* app/gui/color-notebook.c (color_notebook_new)
	* app/tools/gimpcroptool.c (crop_info_create)
	* app/tools/gimptransformtool.c (gimp_transform_tool_dialog):
	explicitely set a default response for dialog buttons which were
	created using gtk_dialog_add_buttons().
2004-03-19 10:15:56 +00:00
Michael Natterer
f3e07fcf4b simplified visibility and linked undo compression by passing an UNDO type,
2004-03-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemtreeview.c: simplified visibility and linked
	undo compression by passing an UNDO type, not an UNDO_GROUP type.

	Fixed (made weird) compression of "exclusive visible/linked" undos
	to only compress undos of the same item type (only compress layer
	visibility if we pushed a *layer* visibility before, not a channel
	or vectors visibility). Even worse, we need to push the
	visibility/linked state of *all* items when pushing an exclusive
	group, otherwise compression won't work.
2004-03-18 19:39:19 +00:00
Sven Neumann
2ce9ca7320 app/gui/layers-commands.c (layers_text_tool) treat modified text layers
2004-03-18  Sven Neumann  <sven@gimp.org>

	* app/gui/layers-commands.c (layers_text_tool)
	* app/gui/layers-menu.c (layers_menu_update): treat modified text
	layers like normal layers.

	* app/gui/layers-commands.c (layers_edit_layer_query): added a
	check button that gives access to the "auto-rename" property of a
	text layer.

	* app/text/gimptextlayer.c: typo.

	* app/widgets/gimppreviewrendererlayer.c
	(gimp_preview_renderer_layer_render): show the text layer icon for
	unmodified text layers only.
2004-03-18 18:00:38 +00:00
Simon Budig
633b2b9314 compress visibility and linked undos.
2004-03-18  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpitemtreeview.c: compress visibility and linked
	undos.
2004-03-18 17:01:46 +00:00
Sven Neumann
f1f47b25e9 disabled debug output.
2004-03-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp.c: disabled debug output.

	* plug-ins/help/domain.[ch]
	* plug-ins/help/help.[ch]
	* plug-ins/help/locales.c: improved error reporting, fixed bugs
	and disabled debug output.
2004-03-18 12:18:12 +00:00
Sven Neumann
b50d45d06c app/widgets/gimpbrushfactoryview.c app/widgets/gimpdatafactoryview.c
2004-03-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimppatternfactoryview.c: removed redundant code.
2004-03-17 18:49:44 +00:00
Simon Budig
e2d5ed6244 app/gui/channels-commands.c app/gui/layers-commands.c
2004-03-17  Simon Budig  <simon@gimp.org>

	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/gui/vectors-commands.c
	* app/widgets/gimpitemtreeview.c: shuffled some
	gimp_image_flush()'es around.
2004-03-17 16:45:18 +00:00
Simon Budig
23711e13d3 app/gui/channels-commands.c app/gui/layers-commands.c Make sure that
2004-03-17  Simon Budig  <simon@gimp.org>

	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/gui/vectors-commands.c: Make sure that non-dialog creation
	of layer/channels/vectors properly updates the image. Also
	clear the new channel unconditionally.

	Change the name of the newly created item to not include the "Copy".
	It isn't a copy.

	* app/widgets/gimpitemtreeview.c: Don't try to assemble translated
	strings.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c: properly overwrite the
	tooltip for the "New" button.

	Sorry, some real string changes ahere, but they were necessary.
2004-03-17 16:12:21 +00:00
Simon Budig
bcd96047f8 Sort the plugin menu entries with the mnemonics stripped. Avoids weird
2004-03-17  Simon Budig  <simon@gimp.org>

	* app/gui/plug-in-menus.c: Sort the plugin menu entries with
	the mnemonics stripped. Avoids weird ordering in the "C" and
	"POSIX" locales.

	* app/widgets/gimpitemtreeview.c: make a simple click on the
	"New" Button use defaults and use shift-click for the new-dialog
	invocation.

	Some more useless button cleanup:

	* app/widgets/gimpdatafactoryview.c: only create an Edit button
	when the edit_function is set.

	* app/core/gimp.c: don't set an edit func for the patterns.

	* app/gui/patterns-menu.c: Don't create the "New", "Edit" and
	"Duplicate" Menu entries for the patterns.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppatternfactoryview.[ch]: New widget:
	gimp_pattern_factory_view. Necessary to be able to hide the
	"duplicate" button...

	* app/gui/dialogs-constructors.c: Use it.
2004-03-17 14:14:18 +00:00
Sven Neumann
ad3ec65858 I should compile before I commit! 2004-03-17 14:10:19 +00:00
Sven Neumann
4e0cb33472 Changes for help i18n in the core, the rest will take place in the help
2004-03-17  Sven Neumann  <sven@gimp.org>

	Changes for help i18n in the core, the rest will take place in the
	help plug-in:

	* app/text/gimptext.[ch]: removed gimp_text_get_default_language()

	* app/core/gimp-utils.[ch]: ... and added it here as
	gimp_get_default_language().

	* app/config/gimprc-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: added property "help-locales".

	* app/widgets/gimphelp.c: use the new property and pass it to the
	help plug-in.

	* app/core/gimpselection.c (gimp_selection_invalidate_boundary):
	removed unused variable.
2004-03-17 13:59:42 +00:00
Simon Budig
4aef30a5aa app/widgets/gimplayertreeview.c app/widgets/gimpvectorstreeview.c remove
2004-03-17  Simon Budig  <simon@gimp.org>

	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpdatafactoryview.c: remove basically useless
	edit buttons in the layers, vectors and patterns dialog.

	* app/widgets/gimpitemtreeview.c: Make Shift-Click on the "New"
	button create a new item using defaults.
2004-03-16 23:45:48 +00:00
Sven Neumann
b7965325e6 look ahead in the queue of pending changes and compress changes to the
2004-03-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_apply): look ahead in
	the queue of pending changes and compress changes to the same
	property. Fixed a couple of smaller issues.

	* app/widgets/gimpwidgets-utils.c: corrected indentation.
2004-03-16 00:16:52 +00:00
Michael Natterer
d227b41eb1 set a fixed width on the "filename" and "info" labels so they clip their
2004-03-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): set a fixed
	width on the "filename" and "info" labels so they clip their texts
	rather than expand the thumb_box when the text is too wide
	(spotted by Jonathan Blandford).
2004-03-15 23:45:01 +00:00