Commit Graph

1720 Commits

Author SHA1 Message Date
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