Commit graph

4652 commits

Author SHA1 Message Date
Michael Natterer 2e9f3fb92c need to set docked_iface->get_preview to NULL explicitly now that the
2003-10-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemtreeview.c
	(gimp_item_tree_view_docked_iface_init): need to set
	docked_iface->get_preview to NULL explicitly now that the
	interface vtable inheriting is fixed (the layers, channels and
	paths dialogs can't show preview tabs because they don't always
	have a container).

	* app/widgets/gimpimagedock.c (gimp_image_dock_get_aux_info):
	fixed typo: s/auctive/active/. Added #defines for the magic
	aux-info identifiers to avoid bugs like that.

	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimppaletteeditor.c. addef #defines for aux-info
	identifiers here, too.
2003-10-18 17:10:36 +00:00
Sven Neumann f68d05c9ce added an (unused) GimpTemplate parameter to make this function match the
2003-10-18  Sven Neumann  <sven@gimp.org>

	* app/gui/templates-commands.[ch] (templates_new_template_dialog):
	added an (unused) GimpTemplate parameter to make this function
	match the GimpTemplateActionFunc signature.
2003-10-18 17:06:43 +00:00
Michael Natterer 78b6153301 added gimp_container_freeze() / _thaw() around font list reloading.
2003-10-18  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

	* app/gui/preferences-dialog.c (prefs_dialog_new): removed the
	fonts refreshing hack from the "Environment" page.
2003-10-18 16:23:15 +00:00
Sven Neumann 68ed1da1e9 we have a bug somewhere; this function shouldn't be called for a view w/o
2003-10-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontainerview.c (gimp_container_view_get_preview):
	we have a bug somewhere; this function shouldn't be called for a
	view w/o a container. Added a g_return_if_fail() to avoid a crash.
2003-10-17 17:54:13 +00:00
Sven Neumann 33370866a2 according to an older mail from Owen, GDK_ACTION_DEFAULT means nothing and
2003-10-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_file_dest_add): according to an
	older mail from Owen, GDK_ACTION_DEFAULT means nothing and should
	not be used.

	* app/widgets/gimpcontainertreeview-dnd.c
	(gimp_container_tree_view_drop_status): pass 0 to gdk_drag_status()
	instead of GDK_ACTION_DEFAULT.
2003-10-17 11:28:28 +00:00
Sven Neumann c1c9e829ef for file drag destinations, set GDK_ACTION_DEFAULT and GDK_ACTION_MOVE in
2003-10-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_file_dest_add): for file drag
	destinations, set GDK_ACTION_DEFAULT and GDK_ACTION_MOVE in
	addition to GDK_ACTION_COPY. Enables DND from Konqueror.
2003-10-17 00:04:38 +00:00
Sven Neumann 6096d3e395 gimp_dnd_viewable_dest_add() calls gtk_drag_dest_set() for us so we don't
2003-10-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptooloptionseditor.c: gimp_dnd_viewable_dest_add()
	calls gtk_drag_dest_set() for us so we don't need to do it here.
2003-10-16 23:43:22 +00:00
Sven Neumann 4c695c22bb some minor code cleanup.
2003-10-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdnd.c: some minor code cleanup.

	* libgimpcolor/gimpcolorspace.c: removed trailing whitespace.
2003-10-16 22:03:20 +00:00
Dave Neary fb471dabe0 app/base/color-balance.c app/base/hue-saturation.c
2003-10-16  Dave Neary  <bolsh@gimp.org>

        * app/base/color-balance.c
        * app/base/hue-saturation.c
        * app/composite/gimp-composite-generic.c
        * app/paint-funcs/paint-funcs-generic.h
        * app/tools/gimphuesaturationtool.c
        * libgimpcolor/gimpcolorspace.[ch]: Changed all occurrences of
        gimp_rgb_to_hls_int and gimp_hls_to_rgb_int to
        gimp_rgb_to_hsl_int and gimp_hsl_to_rgb_int respectively. This
        closes bug #124661.
2003-10-16 19:17:08 +00:00
Sven Neumann ab3abfff4e added gimp_any_to_utf8.
2003-10-16  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpbase.def: added gimp_any_to_utf8.

	* app/gui/info-window.c
	* app/widgets/gimpcolorframe.c: use "n/a" instead of "N/A".
2003-10-16 16:55:16 +00:00
Michael Natterer e18793056f new function which takes any string and returns UTF-8 (it returns
2003-10-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimputils.[ch]: new function which takes any string
	and returns UTF-8 (it returns "(invalid UTF-8 string)" if all
	conversion attempts fail).

	* app/core/gimpbrush.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/xcf/xcf-read.c: use it. Fixes bug #79897.
2003-10-16 12:24:58 +00:00
Michael Natterer 5dc57411a9 added "realize" and "size_allocate" callbacks and cleaned up calling of
2003-10-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppaletteeditor.c: added "realize" and
	"size_allocate" callbacks and cleaned up calling of
	palette_editor_redraw(). Fixes bug #110356 without a complete
	re-write.

	Added GimpDockedInterface::set_aux_info() and get_aux_info()
	implementations and rememeber the zoom_factor in sessionrc (mainly
	for testing yesterday's fix for interface upchaining).
2003-10-16 09:44:11 +00:00
Sven Neumann d872565a6d increased default undo-size to 4 MB.
2003-10-16  Sven Neumann  <sven@gimp.org>

	* app/config/gimpcoreconfig.c: increased default undo-size to 4 MB.

	* app/config/gimprc-blurbs.h (UNDO_SIZE_BLURB): attempt to improve
	the description of the undo-size setting.

	* app/gui/image-menu.c (image_menu_entries): changed the default
	shortcut for Redo from the unergonmic Shift-Ctrl-Z to Ctrl-Y.
2003-10-16 00:08:05 +00:00
Michael Natterer a351c16b1e changed labels of the "Tool Toggle" toggles to document that guides can't
2003-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmoveoptions.c (gimp_move_options_gui): changed
	labels of the "Tool Toggle" toggles to document that guides can't
	be moved in "Move Current Layer or Path" mode. Fixes bug #124693.
2003-10-15 20:49:15 +00:00
Michael Natterer ba4844ec9b hide the "Tab Style" submenu when there is no tab visible (when there is
2003-10-15  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs-menu.c (dialogs_menu_update): hide the
	"Tab Style" submenu when there is no tab visible (when there is
	only one page in the notebook). Fixes bug #124697.
2003-10-15 20:11:13 +00:00
Michael Natterer b09cadf033 app/widgets/gimpdocked.c (gimp_docked_iface_base_init) they are base_init,
2003-10-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdocked.c (gimp_docked_iface_base_init)
	* app/config/gimpconfig.c (gimp_config_iface_base_init): they are
	base_init, not just init functions. Changed implementations to not
	overwrite the parent class' vtable entries with the default
	implementations. Fixes derived interface methods and brings
	back all dockable menus.
2003-10-15 20:05:23 +00:00
Michael Natterer f80e52fbf0 eek. should actually commit what i claimed below...
2003-10-15  Michael Natterer  <mitch@gimp.org>

	* app/gui/info-window.c: eek. should actually commit what i
	claimed below...
2003-10-15 17:59:40 +00:00
Sven Neumann 77e69b7b91 fixed comment.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_sync): fixed comment.
2003-10-15 17:54:42 +00:00
Sven Neumann bfc4ac1148 sync from the given template to the dialog template, not the other way
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/gui/file-new-dialog.c (file_new_dialog_set): sync from the
	given template to the dialog template, not the other way around.

	* app/widgets/gimptemplateeditor.c (gimp_template_editor_constructor):
	shouldn't have to call the notify callback from here.
2003-10-15 17:10:22 +00:00
Michael Natterer 3dd12b44a8 made the "GimpRGB *color" param const.
2003-10-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolorframe.[ch] (gimp_color_frame_set_color):
	made the "GimpRGB *color" param const.

	Added API docs for all public functions.
2003-10-15 16:15:19 +00:00
Sven Neumann 1e0816fa93 minor cleanup.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
	cleanup.

	* app/core/gimptemplate.[ch]: added a comment property.

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: removed "default_comment" property
	and set the default comment on the default image template.

	* app/widgets/gimptemplateeditor.c: added a comment editor widget.

	* app/core/gimp.c
	* app/gui/file-new-dialog.c
	* app/gui/preferences-dialog.c
	* app/pdb/gimprc_cmds.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
	increased spacing between the spinbutton and the menu.
2003-10-15 15:30:11 +00:00
Michael Natterer e78c87b228 new enum GimpColorFrameMode.
2003-10-15  Michael Natterer  <mitch@gimp.org>

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

	* app/widgets/Makefile.am
	* app/widgets/gimpcolorframe.[ch]: new widget GimpColorFrame which
	shows a picked color in an optionmenu-selectable color space.
	Helps getting rid in InfoDialog.

	* app/gui/info-window.c: use it for the "extended" page. Cleaned
	up that page a lot so it can be made dockable in the next step.

	* app/tools/gimpcolorpickertool.[ch]: use it here too. Don't use
	InfoDialog any more (and do not depend on gui/ any more).
2003-10-15 15:16:50 +00:00
Michael Natterer 762b709a5e create tab widgets without border for both the tools and templates views.
2003-10-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.c
	(gimp_container_view_get_preview): create tab widgets without
	border for both the tools and templates views.

	* app/widgets/gimpviewablebutton.c: removed trailing whitespace.
2003-10-15 15:10:20 +00:00
Sven Neumann 2806c6b2d5 added new function gimp_size_entry_get_help_widget() to make it possible
2003-10-15  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpsizeentry.[ch]: added new function
	gimp_size_entry_get_help_widget() to make it possible to set
	tooltips on a GimpSizeEntry.

	* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_new)
	(gimp_prop_coordinates_connect): set tooltips from property blurbs.

	* app/core/gimpgrid.c
	* app/core/gimptemplate.c
	* app/gui/preferences-dialog.c: minor string changes.
2003-10-15 11:04:31 +00:00
Sven Neumann 981e947e64 added a hbox to align the landscape/portrait buttons so they don't move
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptemplateeditor.c: added a hbox to align the
	landscape/portrait buttons so they don't move with the label below.
2003-10-15 01:06:30 +00:00
Sven Neumann 76db85da52 some fine-tuning.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/gui/preferences-dialog.c: some fine-tuning.
2003-10-14 23:41:58 +00:00
Sven Neumann cff08b64ae app/config/gimpconfig-utils.c (gimp_config_diff) (gimp_config_sync)
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff) (gimp_config_sync)
	* app/config/gimpconfig.c (gimp_config_iface_equal): compare and sync
	aggregate objects recursively.

	* app/core/gimptemplate.c (gimp_template_finalize): don't leak the
	filename.

	* app/display/gimpdisplayshell-title.c
	* app/config/gimpconfig-dump.c: added %L format identifier for
	verbose layer count. Renamed former %L to %n (layer name).

	* app/config/gimpdisplayconfig.c: changed default image title and
	image status format strings.

	* app/gui/dialogs-constructors.c: added a blurb for Templates
	dockables.

	* app/display/gimpdisplayshell.h: fixed typo.
2003-10-14 23:00:16 +00:00
Sven Neumann 0eb7e92a15 don't use gtk-doc style comments here.
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite.h: don't use gtk-doc style comments
	here.
2003-10-14 17:34:05 +00:00
Michael Natterer 9782629f02 fixed warning (missing GIMP_TEMPLATE() cast).
2003-10-14  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptemplateeditor.c (gimp_template_editor_new):
	fixed warning (missing GIMP_TEMPLATE() cast).
2003-10-14 17:05:26 +00:00
Sven Neumann 7759f7ea1a added blurbs for most properties.
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimptemplate.c (gimp_template_class_init): added blurbs
	for most properties.

	* app/config/gimprc-blurbs.h: removed an unused blurb.
2003-10-14 17:02:11 +00:00
Sven Neumann 459bebba07 made "perfect-mouse" the default and changed defaults for image title and
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/config/gimpdisplayconfig.c: made "perfect-mouse" the default
	and changed defaults for image title and image statusbar.
2003-10-14 16:47:43 +00:00
Michael Natterer e8508ded68 add the new context to gimp->context_list in gimp_context_constructor(),
2003-10-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.c: add the new context to gimp->context_list
	in gimp_context_constructor(), not in set_property(). Cleanup.

	* app/tools/gimptextoptions.c: added finalizer so we don't leak
	the options' GtkTextBuffer and GimpText objects. Cleanup.
2003-10-14 16:40:02 +00:00
Sven Neumann d9e5024a5c set the initial stock icon on the viewable-button.
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptemplateeditor.c (gimp_template_editor_new):
	set the initial stock icon on the viewable-button.
2003-10-14 16:29:33 +00:00
Helvetix Victorinox 487324b39a app/composite/gimp-composite-generic.c Tweaked a few more documentation
* app/composite/gimp-composite-generic.c
* app/composite/gimp-composite.c:
  Tweaked a few more documentation comments.
2003-10-14 16:00:19 +00:00
Sven Neumann 3ac7d14d19 app/core/gimpimage-grid.c app/core/gimpimage.[ch] removed the
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-grid.c
	* app/core/gimpimage.[ch]
	* app/gui/grid-dialog.c: removed the "grid_changed" signal from
	GimpImage.

	* app/display/gimpdisplayshell-handlers.c: connect to
	notifications from the image grid instead.
2003-10-14 15:37:21 +00:00
Sven Neumann 737da42437 removed gimp_config_copy_properties() and added the more intelligent
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.[ch]: removed
	gimp_config_copy_properties() and added the more intelligent
	gimp_config_sync() instead.

	* app/config/Makefile.am
	* app/config/config-types.h
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: replaced default image properties
	with a single GimpTemplate object property. Changed the
	set_property function to not replace aggregate objects but call
	gimp_config_sync() instead.

	* app/tools/gimptextoptions.c (gimp_text_options_set_property):
	same change here.

	* app/config/gimpconfig.[ch]: changed return value of
	gimp_config_duplicate() to gpointer to avoid some casts that only
	made the code harder to read.

	* app/widgets/gimptemplateeditor.[ch]: don't keep an internal copy
	here but edit the GimpTemplate passed when the editor was
	constructed.

	* app/gui/preferences-dialog.c: use a GimpTemplateEditor to allow
	editing of the default image paramaters.

	* app/config/gimprc.c
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-grid.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimptemplate.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/grid-dialog.c
	* app/gui/info-window.c
	* app/gui/resize-dialog.c
	* app/gui/templates-commands.[ch]
	* app/gui/tool-options-commands.c
	* app/text/gimptextlayer.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/widgets/gimptemplateview.c
	* app/xcf/xcf-load.c: changed accordingly.
2003-10-14 15:20:59 +00:00
Sven Neumann f0e8517eb5 removed "grid_changed" signal. The user of GimpGridEditor can connect to
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpgrideditor.[ch]: removed "grid_changed" signal.
	The user of GimpGridEditor can connect to notifications of the
	grid that is being edited. There is no need for a proxy signal.

	* app/core/gimpimage-grid.c (gimp_image_set_grid): don't exchange
	the image's grid object, it is part of the image. Copy all grid
	properties instead.

	* app/core/gimpimage-undo-push.c
	* app/gui/grid-dialog.c: changed accordingly.
2003-10-14 12:23:23 +00:00
Michael Natterer b19deeb311 Refactored modifier handling of displays and tools. Hopefully finally
2003-10-14  Michael Natterer  <mitch@gimp.org>

	Refactored modifier handling of displays and tools. Hopefully
	finally fixes bug #124135.

	* app/tools/gimptool.[ch] (struct GimpTool): added private members
	"focus_display" and "modifier_state" so tools are aware of their
	modifier state.

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: removed all public modifier_key()
	API and added set_focus_display() and set_modifier_state()
	instead.

	* app/tools/tool_manager.c (tool_manager_select_tool)
	* app/display/gimpdisplay.c (gimp_display_delete): set the
	active_tool's focus_display to NULL.

	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
	added almost the whole stuff that used to be static variables of
	gimp_display_shell_tool_events(). Cleaned up the struct a bit.

	* app/display/gimpdisplayshell-callbacks.c: removed utility
	function gimp_display_shell_update_tool_modifiers().

	(gimp_display_shell_tool_events):

	- Replaced all calls to gimp_display_shell_update_tool_modifiers()
	  and tool_manager_modifier_key_active() by
	  tool_manager_modifier_state_active().

	- Call tool_manager_focus_display_active() before setting the
	  tool's modifier_state. Set the tool's focus_display to NULL when
	  we get a focus_out event.

	- Don't grab/ungrab the keyboard twice when <space>-selecting the
	  move tool.

	- Removed most static variables and use the new members of
	  GimpDisplayShell. Don't remember any old modifier states since
	  GimpTool does that by itself now.
2003-10-14 11:14:28 +00:00
Sven Neumann 24c90dca5c app/Makefile.am app/main.c app/config/Makefile.am app/config/makefile.msc
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/main.c
	* app/config/Makefile.am
	* app/config/makefile.msc
	* app/config/gimpconfig-dump.[ch]: removed the separate
	gimpconfig-dump binary and moved the functionality into gimp
	itself. It became a mess to build and seems cleaner this way.
2003-10-13 22:55:25 +00:00
Helvetix Victorinox 39790c8801 Updated/improved/organised documentation comments.
* app/composite/gimp-composite-generic.c:
* app/composite/gimp-composite.[ch]: Updated/improved/organised
  documentation comments.
2003-10-13 18:49:38 +00:00
Michael Natterer dceb84e9df call g_set_prgname() in the --no-interface case (GDK is doing this for us
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/main.c (main): call g_set_prgname() in the --no-interface
	case (GDK is doing this for us otherwise).

	Always set a human readable localized application name using
	g_set_application_name().
2003-10-13 15:48:35 +00:00
Michael Natterer 85cf47ebed cleanup & cruft removal.
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox-color-area.[ch]: cleanup & cruft removal.
2003-10-13 12:42:52 +00:00
Michael Natterer 927f5d44cb typo: s/vieport/viewport/g
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainergridview.c: typo: s/vieport/viewport/g

	(gimp_container_grid_view_insert_item): stop idle updating since
	the widget will be exposed anyway.
2003-10-13 12:35:52 +00:00
Michael Natterer 2b0c05131f renamed gimp_dialog_factories_idle() and _unidle() to
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: renamed
	gimp_dialog_factories_idle() and _unidle() to
	gimp_dialog_factories_set_busy() and _unset_busy().
	Added utility function gimp_dialog_factory_set_widget_data() and
	public API gimp_dialog_factory_from_widget() so we don't need to
	g_object_[set|get]_data() with magic keys all over the place.

	* app/widgets/gimpsessioninfo.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-menu.c
	* app/gui/gui-vtable.c: changed accordingly.

	* app/widgets/gimpsessioninfo.c: remember active page of all dock
	notebooks in sessionrc.

	* app/widgets/gimpsessioninfo.h: cleaned up the session info structs.
2003-10-13 11:57:50 +00:00
Sven Neumann 964a5bca72 set the horizontal scrollbar policy to AUTOMATIC; addresses bug #124134.
2003-10-13  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptooloptionseditor.c: set the horizontal scrollbar
	policy to AUTOMATIC; addresses bug #124134.
2003-10-13 10:57:00 +00:00
Manish Singh ded25bbc04 app/widgets/gimpitemtreeview.c split out indexed assignment and increment
2003-10-12  Manish Singh  <yosh@gimp.org>

        * app/widgets/gimpitemtreeview.c
        * app/widgets/gimplayertreeview.c: split out indexed assignment and
        increment to avoid miscompilation by gcc on ppc and ia64. Fixes
        bug #113144.
2003-10-12 23:15:51 +00:00
Pedro Gimeno b6a2c0767c Set the default aspect ratio of the toolbox wrap box to 5:6.
2003-10-10  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/widgets/gimptoolbox.c (gimp_toolbox_init): Set the default
	aspect ratio of the toolbox wrap box to 5:6.
	(gimp_toolbox_set_geometry): Don't enforce min_height in the
	toolbox window. Fixes bug #116937 and works around bug #113228.

	* plug-ins/common/png.c (save_image): Round the values passed to
	png_set_pHYs so that they don't decrease on every save.
2003-10-12 18:26:47 +00:00
Sven Neumann 350f98824c fixed dependencies for test-config.
2003-10-12  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am: fixed dependencies for test-config.

	* app/config/gimpconfigwriter.[ch]: code cleanup and documentation.

	* app/composite/gimp-composite-generic.[ch]: made prototype for
	gimp_composite_color_any_any_any_generic() match the implementation.

	* app/composite/gimp-composite.c: fixed some issues with the
	comment templates.
2003-10-12 16:46:50 +00:00
Sven Neumann ddfe7575ed removed debugging output that shouldd have never been committed.
2003-10-12  Sven Neumann  <sven@gimp.org>

	* app/paint/gimppaintcore.c: removed debugging output that shouldd
	have never been committed.
2003-10-12 13:28:05 +00:00
Michael Natterer abf13dd16f HALT the active tool before reconnecting. Fixes bug #124388.
2003-10-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.c (gimp_display_reconnect): HALT the
	active tool before reconnecting. Fixes bug #124388.
2003-10-12 11:20:22 +00:00
Sven Neumann 4ea392ef3b removed function gimp_config_serialize_comment()...
2003-10-12  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-serialize.[ch]: removed function
	gimp_config_serialize_comment()...

	* app/config/gimpconfig-utils.[ch]: removed function
	gimp_config_string_indent()...

	* app/config/gimpconfigwriter.[ch]: ... and implement both here.
	Added a comment mode to GimpConfigWriter.

	* app/config/gimpconfig-dump.c: handle GimpConfig properties.

	* doc/gimprc-1.3.5.in
	* etc/gimprc: regenerated by gimpconfig-dump.
2003-10-12 01:49:51 +00:00
Helvetix Victorinox 7b7b3c3f0c app/composite/gimp-composite.h app/composite/gimp-composite-generic.h
*	app/composite/gimp-composite.h
* app/composite/gimp-composite-generic.h
* app/composite/gimp-composite-regression.h: Reformatted to include
  argument names in function prototypes.

* app/composite/gimp-composite.c
* app/composite/gimp-composite-generic.c
* app/composite/gimp-composite-regression.c: Added gtk-doc templates for functions.

* app/composite/make-install.py: migrated to new (trimmer) code and
  removed dead code.  Some beautification for generated code.

* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis,generic}.{c,h}:
  All init() functions are also a run-time check and now expected to
  return TRUE/FALSE if the particular set of compositing functions can
  be used.

* app/composite/gimp-composite.c: No longer has to determine if
  the particular set of compositing functions can be used.

* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-{install,test}.c:
  Regenerated

* app/composite/test-composite.c: Deprecated, removed.  All tests are automatically
  generated and the code is in app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-test.c:

* app/composite/Makefile.am: removed unused references to test-composite.c
2003-10-12 00:10:21 +00:00
Michael Natterer 158aa7f2b3 added utility function gimp_session_info_aux_new().
2003-10-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpsessioninfo.[ch]: added utility function
	gimp_session_info_aux_new().

	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpimagedock.c (get_aux_info): use it.
2003-10-11 17:05:48 +00:00
Michael Natterer b136228de9 app/widgets/widgets-types.h added new struct GimpSessionInfoAux which
2003-10-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h
	* app/widgets/gimpsessioninfo.[ch]: added new struct
	GimpSessionInfoAux which contains "gchar *name" and "gchar *value".
	Changed sessionrc "aux-info" format again to be really extendable
	this time. Also breaks everybody's sessionrc again.

	* app/widgets/gimpimagedock.c
	* etc/sessionrc: changed accordingly.

	Implemented the stuff suggested in bug #122964. Fixes bug #122964
	and bug #52206:

	* app/widgets/gimpdataeditor.[ch]: replaced the "Gimp" member by a
	"GimpDataFactory" and changed gimp_data_editor_construct()
	accordingly. Implement GimpDockedInterface::set_aux_info() and
	get_aux_info() and remember the currently edited data across
	sessions.

	* app/gui/gradient-editor-commands.c
	* app/gui/gradient-editor-menu.c
	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppaletteeditor.c: changed accordingly.

	* app/widgets/gimpcoloreditor.c: remember the active color
	selector across sessions.
2003-10-11 16:50:35 +00:00
Sven Neumann 3aa0b64e15 when deserializing a GimpContainer child, use the child's GimpConfig
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcontainer.c (gimp_container_deserialize): when
	deserializing a GimpContainer child, use the child's GimpConfig
	implementation, not the container's.
2003-10-11 15:18:44 +00:00
Sven Neumann 75a4ce914e documentation fixes.
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c: documentation fixes.

2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/app-docs.sgml
	* app/app-sections.txt
	* app/app.types: updated.

	* app/app.prerequisites: removed, it's a generated file.
2003-10-11 15:02:03 +00:00
Sven Neumann a88e11afb3 app/widgets/gimpdocked.[ch] renamed GimpDockedIface to
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdocked.[ch]
	* app/widgets/widgets-types.h: renamed GimpDockedIface to
	GimpDockedInterface.

	* app/display/gimpnavigationview.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.

	* app/config/config-types.h
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-utils.[ch]: added a GimpConfig typedef and
	changed the GimpConfig API to take GimpConfig instead of GObject
	pointers.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp.[ch]
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpgrid.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimptemplate.c
	* app/core/gimptooloptions.c
	* app/core/gimpviewable.c
	* app/gui/grid-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tool-options-commands.c
	* app/paint/gimppaintcore.c
	* app/pdb/gimprc_cmds.c
	* app/text/gimptext-parasite.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
2003-10-11 14:30:18 +00:00
Michael Natterer 99746e1d6c app/widgets/Makefile.am app/widgets/widgets-types.h new files implementing
2003-10-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpdocked.[ch]: new files implementing
	GimpDockedInterface, a GTypeInterface which must be implemented by
	all widgets which want to be packed into a GimpDockable. Has
	virtual functions similar to the ones GimpDockable had.

	* app/widgets/gimpdockable.[ch]: removed all virtual functions and
	all function pointers from the instance struct (also the ones just
	added in the commit below). Make sure only widgets implementing
	the GimpDockedIface are added and simply call the child's
	GimpDocked functions where we used to call our own virtual
	functions and function pointers.

	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptooloptionseditor.c
	* app/display/gimpnavigationview.c: implement GimpDockedIface.

	* app/gui/dialogs-constructors.c: removed all that get_preview_func(),
	set_context_func() etc. cruft since that's done by GimpDockedIface.
	It's really a file of constructors now.

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

	* app/widgets/gimpimagedock.c: forgotten in the commit below.
2003-10-10 21:24:12 +00:00
Michael Natterer 87480880c3 Cleaned up session management and changed the format of sessionrc in a way
2003-10-10  Michael Natterer  <mitch@gimp.org>

	Cleaned up session management and changed the format of sessionrc
	in a way that allows extensions without changing the format during
	the 2.0 cycle:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpsessioninfo.[ch]: new files implementing the whole
	GimpSessionInfo stuff (parsing, saving, restoring, utility functions).
	Save / parse the position of GimpDock's panes (bug #122964).

	* app/widgets/gimpdialogfactory.[ch]: removed saving, restoring
	and session related utility functions and use the ones from
	the new files above.

	* app/gui/session.c: removed parsing and use the new stuff.

	* app/widgets/gimpdock.[ch]: added new virtual functions
	GimpDock::set_aux_info() and GimpDock::get_aux_info():

	* app/widgets/gimpimagedock.c: implement them and handle the
	"auto_follow_active" and "show_image_menu" properties.

	* app/widgets/gimpdockable.[ch]: added the same virtual functions
	to the GimpDockable class. Enables forward-compatible per-dockable
	session management (bug #122964).

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

	* etc/sessionrc: ditto. Look at this file and update your own
	sessionrc manually if you don't want to lose it.
2003-10-10 15:59:12 +00:00
Henrik Brix Andersen 4ac8c82501 removed the grid parasite related functions from here ...
2003-10-10 Henrik Brix Andersen <brix@gimp.org>

* app/core/gimpimage-grid.[ch]: removed the grid parasite related
functions from here ...

* app/core/gimpgrid.[ch]: ... and added them here. While I was at
it I also changed PROP_TYPE to PROP_STYLE and added blurbs to the
properties

* app/xcf/xcf-load.c
* app/display/gimpdisplayshell.c: changed accordingly

* app/widgets/Makefile.am
* po/POTFILES.in
* app/widgets/widgets-types.h
* app/widgets/gimpgrideditor.[ch]: added a new GimpGridEditor
widget - with a work-around for the fact that
gimp_prop_coordinated_new() doesn't accept boundaries

* app/gui/grid-dialog.h
* app/gui/grid-dialog.c (grid_dialog_new): use the new
GimpGridEditor widget, take a GimpImage as function parameter,
assume GimpImages always have a GimpGrid. This simplifies the grid
dialog.

* app/gui/image-commands.c
(image_configure_grid_cmd_callback): changed accordingly

* app/core/core-types.h: moved typedef GimpGrid from here ...

* app/config/config-types.h: ... to here to be able to use it in
GimpCoreConfig

* app/config/gimprc-blurbs.h
* app/config/gimpcoreconfig.[ch]: added default_grid member

* app/widgets/gimphelp-ids.h
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/default-grid.png
* app/gui/preferences-dialog.c: added UI for specifying default
image grid

* app/core/gimpimage.c (gimp_image_new): create a GimpGrid from
core_config->default_grid

* app/gui/image-menu.c (image_menu_update): the grid/guide entries
in <Image>/View/ should always be sensitive ...

* app/display/gimpdisplayshell.c (gimp_display_shell_init):
... but the grid entries should be disabled by default
2003-10-10 14:11:47 +00:00
Sven Neumann 4591aed0b4 app/errors.c (gimp_eek) app/main.c (main) (gimp_text_console_exit) call
2003-10-10  Sven Neumann  <sven@gimp.org>

	* app/errors.c (gimp_eek)
	* app/main.c (main) (gimp_text_console_exit)
	* app/gui/user-install-dialog.c (user_install_cancel_callback):
	call exit() with EXIT_SUCCESS or EXIT_FAILURE instead of 0 and 1.
2003-10-10 10:02:34 +00:00
Michael Natterer a28bb1942e added auto-scrolling when DND-hovering close to the widget's top or bottom
2003-10-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview-dnd.c: added auto-scrolling
	when DND-hovering close to the widget's top or bottom border.
	Fixes bug #124231.

	* app/widgets/gimpcontainertreeview.h: added some auto-scroll state
	to the GimpContainerTreeView struct.

	* app/widgets/gimpcontainertreeview.c: remove the auto-scroll
	timeout in GtkWidget::unmap().
2003-10-09 22:56:14 +00:00
Tor Lillqvist 0cda2cd33f New file, shell script used to build zipfiles for distribution of Windows
2003-10-09  Tor Lillqvist  <tml@iki.fi>

	* gimp-zip.in: New file, shell script used to build zipfiles for
	distribution of Windows runtime and developer packages.

	* Makefile.am
	* configure.in: Add it, expand it.

	* libgimp*/Makefile.am: On Windows, install and uninstall the .def
	files.

	* app/config/gimpguiconfig.c: On Windows, don't use the internal
	help browser by default, as it isn't there. Don't use a fixed
	guess for Internet Explorer's path on Windows. We don't even need
	to know the path to the web browser, we can use ShellExecute() in
	the webbrowser plug-in.

	* plug-ins/common/webbrowser.c: Use ShellExecute() on Windows.

	* po*/makefile.cygwin: Remove, unmaintained.
2003-10-09 21:33:27 +00:00
Sven Neumann f0f3ea36b8 added new function gimp_object_name_collate() which compares two object
2003-10-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpobject.[ch]: added new function
	gimp_object_name_collate() which compares two object names for
	ordering using the linguistically correct rules for the current
	locale and does some caching to speed up subsequent calls.

	* app/core/gimpdatalist.c (gimp_data_list_data_compare_func): use
	gimp_object_name_collate() from here.

	* app/core/gimplist.[ch]: added convenience function
	gimp_list_sort_by_name.

	* app/text/gimpfontlist.c (gimp_font_list_restore): use
	gimp_list_sort_by_name() instead of g_utf8_collate.
2003-10-09 13:35:15 +00:00
Michael Natterer 482aa11bfb added GIMP_VIEWABLE_MAX_BUTTON_SIZE GIMP_VIEWABLE_MAX_MENU_SIZE.
2003-10-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.h: added GIMP_VIEWABLE_MAX_BUTTON_SIZE
	GIMP_VIEWABLE_MAX_MENU_SIZE.

	* app/core/gimpviewable.c (gimp_viewable_get_popup_size): smarter
	popup size limitation: limit each axis to 2 * MAX_POPUP_SIZE
	and the area to MAX_POPUP_SIZE ^ 2.

	* app/core/gimpbuffer.c
	* app/core/gimpimage-preview.c
	* app/core/gimpitem-preview.c
	* app/text/gimpfont.c (GimpViewable::get_popup_size): removed
	all limitations.

	* app/widgets/gimpcontainermenu.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimpviewablebutton.c: use the new button and menu
	size defines.
2003-10-09 12:26:46 +00:00
Michael Natterer da2bd8b91a added GimpScanConvert typedef.
2003-10-09  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added GimpScanConvert typedef.

	* app/core/gimpscanconvert.h: removed it here.

	* app/core/gimpchannel-select.[ch]: factored out new
	function gimp_channel_select_scan_convert().

	(gimp_channel_select_polygon)
	(gimp_channel_select_vectors): use it.

	(gimp_channel_select_alpha): when called on a layer without alpha,
	don't fail but fake the effect of a fully opaque alpha channel.

	* app/tools/gimpiscissorstool.c: some cleanup.

	(iscissors_convert): fixed my latest cleanup (don't cast the
	tool to a GimpGrawable ;). Don't ignore options->antialias.
2003-10-09 11:30:49 +00:00
Michael Natterer df108404a1 new utility function which does everything gimp_edit_clear() and
2003-10-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.c (gimp_edit_fill_internal): new utility
	function which does everything gimp_edit_clear() and
	gimp_edit_fill() do but doesn't fail to:

	- fill an indexed drawable with white.
	- fill a drawable with alpha with transparency.

	(gimp_edit_clear)
	(gimp_edit_fill): use gimp_edit_fill_internal().

	* app/core/gimpdrawable.c (gimp_drawable_[apply,replace]_region):
	added more g_return_if_fail(required_parameter != NULL).
2003-10-08 17:20:06 +00:00
Michael Natterer 181a2c4820 added new pure virtual function GimpDock::setup() which configures a dock
2003-10-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdock.[ch]: added new pure virtual function
	GimpDock::setup() which configures a dock like a passed template
	dock.

	* app/widgets/gimpimagedock.c: implement it and set
	"show_image_menu" and "auto_follow_active" accordingly.

	* app/widgets/gimpdockable.c (gimp_dockable_detach): call
	gimp_dock_setup() to configure the new dock like the old one.
	Removed inclusion if "gimpimagedock.h".

	* app/gui/dialogs-commands.c: minor code cleanups.
2003-10-08 15:44:35 +00:00
Michael Natterer 96e9f052a2 Fixed bug #119423. There was no speed regression with the actual painting,
2003-10-08  Michael Natterer  <mitch@gimp.org>

	Fixed bug #119423. There was no speed regression with the actual
	painting, just with the display update (which effectively led to
	faster painting, it just felt slower).

	* app/display/gimpdisplayshell.c (gimp_display_shell_flush): added
	"gboolean now" parameter and update the display immediately if
	it is TRUE.

	* app/display/gimpdisplay.c (gimp_display_flush_whenever): pass
	the "now" we got passed to the function above, so calling
	gimp_display_flush_now() really flushes *now* again.
2003-10-08 14:50:26 +00:00
Michael Natterer 0fae4f9c10 procedural_db_execute() *must* get the correct number of args, so do like
2003-10-08  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/fileops.pdb (file_load_invoker):
	procedural_db_execute() *must* get the correct number of args, so
	do like file_save_invoker and create a full Argument array with
	the correct number of args and copy our own args into it before
	calling the actual load procedure. Fixes bug #124059.

	* app/pdb/fileops_cmds.c: regenerated.
2003-10-08 10:14:17 +00:00
Michael Natterer f65a7acbab new function. Need to include ugly stuff for proper GimpImageDock setup.
2003-10-07  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch] (gimp_dockable_detach): new
	function.  Need to include ugly stuff for proper GimpImageDock
	setup.

	* app/widgets/gimpdockbook.c (gimp_dockbook_menu_end): use
	gimp_dockable_detach() and removed the evil includes.

	* app/gui/dialogs-commands.c (dialogs_detach_tab_cmd_callback):
	implement it using gimp_dockable_detach().
2003-10-07 12:24:01 +00:00
Sven Neumann 6dd668f90a really check for CPU_ACCEL_X86_SSE.
2003-10-07  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-sse2.c (gimp_composite_sse2_init):
	really check for CPU_ACCEL_X86_SSE.

	* libgimp/gimp.def: added new symbols.
2003-10-06 23:56:43 +00:00
Manish Singh f64ad067d7 app/gui/image-menu.c app/gui/layers-menu.c "Imagesize" isn't a real word.
2003-10-06  Manish Singh  <yosh@gimp.org>

        * app/gui/image-menu.c
        * app/gui/layers-menu.c
        * etc/ps-menurc: "Imagesize" isn't a real word. Fix to "Image Size".

        * app/paint/gimppaintcore.c: add declaration for rotate_pointers which
        was inadvertently took out.

        * tools/pdbgen/pdb/layer.pdb: add gimp_layer_resize_to_image_size.
        Fix failure reporting logic for gimp_layer_delete.

        * app/pdb/internal_procs.c
        * app/pdb/layer_cmds.c
        * libgimp/gimplayer_pdb.[ch]: regenerated.

        * plug-ins/common/tiff.c: always compare used unsigned chars for 7bit
        ASCII check.
2003-10-06 21:22:09 +00:00
Michael Natterer fdbbfff852 one more fix for bug #107949: don't take the selection into account if we
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_mask_bounds): one
	more fix for bug #107949: don't take the selection into
	account if we are operating on the selection itself.

	Ordered shadow tiles functions together, cleanup.
2003-10-06 18:26:06 +00:00
Michael Natterer 6a8e112921 added new local variables to hold the drawable's offsets instead of
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-stroke.c
	(gimp_drawable_stroke_scan_convert): added new local variables to
	hold the drawable's offsets instead of abusing x2 and y2. Use
	existing APIs instead of re-implementing stuff. Removed an
	obsolete call to tile_manager_set_offsets(). Cleanup.
2003-10-06 17:13:57 +00:00
Michael Natterer d734595991 create a channel which the size of the layer, not of the image...
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_new_from_alpha): create
	a channel which the size of the layer, not of the image...

	* app/core/gimpchannel-select.c (gimp_channel_select_alpha):
	...and take the layer's offsets into account.

	* app/core/gimpscanconvert.[ch] (gimp_scan_convert_render): added
	off_x and off_y parameters and don't use the passed TileManager's
	offsets.

	* app/core/gimpchannel-select.c
	* app/core/gimpdrawable-stroke.c
	* app/tools/gimpiscissorstool.c: changed accordingly.
2003-10-06 16:43:05 +00:00
Michael Natterer bf37012875 fixed starting with --no-splash.
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c (app_init): fixed starting with --no-splash.
2003-10-06 14:52:05 +00:00
Michael Natterer a20e04bdaf added new virtual functions GimpDrawable::get_active_components(),
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added new virtual functions
	GimpDrawable::get_active_components(), apply_region() and
	replace_region().

	* app/core/Makefile.am
	* app/core/gimpdrawable-combine.[ch]: new files containing
	apply_region()'s and replace_region()'s default implementation.
	They are identical to the ones removed from GimpImage except that
	they don't mask the selection with itself (bug #107949).

	* app/core/gimpchannel.c
	* app/core/gimplayer.c: implement get_active_components().

	* app/core/gimpchannel.c: implement apply_region() and
	replace_region() and invalidate the channel's boundary
	before upchaining (bug #107949).

	* app/core/gimpimage.[ch]: removed gimp_image_apply_image(),
	gimp_image_replace_image() and gimp_image_get_active_components().

	* app/core/gimpimage-undo-push.c (undo_pop_image): invalidate
	boundary and bounds if the drawable is a channel (bug #107949).

	(undo_pop_mask)
	(undo_pop_channel_mod): finish previous commit :)

	* app/core/gimp-edit.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer-floating-sel.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpinktool.c: changed accordingly.
2003-10-06 14:40:12 +00:00
Michael Natterer f0372cad0f Treat changes to the selection like changes to any other drawable:
2003-10-06  Michael Natterer  <mitch@gimp.org>

	Treat changes to the selection like changes to any other drawable:

	* app/core/gimpchannel.c
	* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
	changing the channel.

	* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
	with one member "gboolean mask_changed". Connect to "update" of
	the selection and set accum.mask_changed to TRUE in the callback.
	Added default implementation for GimpImage::flush() and emit
	"mask_changed" there.

	Unrelated:
	* app/core/gimpimage.h: removed GimpGuide struct...
	* app/core/gimpimage-guides.h: ...and added it here.

	* app/core/gimpimage-undo-push.c (undo_pop_mask)
	(undo_pop_channel_mod): don't distinguish between selection and
	non-selection channels and just call gimp_drawable_update().

	* app/core/gimpundo.h
	* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
	the GimpUndoAccumulator struct since we don't have to care about
	that signal explicitly any more.

	* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().

	* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
	gimp_image_flush() on all images so the flush accumulator is
	honored.

	This generalization enables the removal of more special purpose
	code which was needed to treat the selection different:

	* app/core/gimpimage-mask-select.[ch]: removed...

	* app/core/gimpchannel-select.[ch]: ...and added under a new name
	because it's not selection specific any more.

	* app/core/gimpimage-mask.[ch]: removed...

	* app/core/gimpselection.[ch]: ...added the two remaining
	functions here. Removed all calls to gimp_image_mask_changed().

	* app/core/Makefile.am
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.

	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-colormap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/gui/image-menu.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpinkoptions.c
	* app/tools/gimpvectortool.c: removed useless and/or obsolete
	#includes.

	* app/pdb/display_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c: regenerated.
2003-10-06 12:17:11 +00:00
Michael Natterer 10760d3cb1 guard callbacks against being invoked during display destruction. Fixes
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: guard callbacks
	against being invoked during display destruction. Fixes crashes
	when closing/opening images. Also fixes the crash reported by
	Pedro Gimeno in the comment to bug #117884, but doesn't fix
	#117884 since it's a different issue.
2003-10-06 11:25:59 +00:00
Michael Natterer afc58a660c HALT the tool with the right display. Fixes some random tool crashes.
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_manager.c (tool_manager_image_undo_start): HALT
	the tool with the right display. Fixes some random tool crashes.
2003-10-06 11:07:10 +00:00
Sven Neumann 98a038d8fb check for NULL pointers in the GimpDndDataDef array before using them.
2003-10-06  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_data_drop_handle): check for
	NULL pointers in the GimpDndDataDef array before using them.
	Might happen with the changed dockable DND code :(
2003-10-06 10:35:40 +00:00
Helvetix Victorinox 7752bf9eef migrated to new (trimmer) code and removed dead code. Some beautification
* app/composite/make-install.py: migrated to new (trimmer) code and
  removed dead code.  Some beautification for generated code.

* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis,generic}.{c,h}:
  All init() functions are also a run-time check and now expected to
  return TRUE/FALSE if the particular set of compositing functions can
  be used.

* app/composite/gimp-composite.c: No longer has to determine if
  the particular set of compositing functions can be used.

* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-{install,test}.c:
  Regenerated

* app/composite/test-composite.c: Deprecated, removed.  All tests are automatically
  generated and the code is in app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-test.c:

* app/composite/Makefile.am: removed unused references to test-composite.c
2003-10-06 02:46:15 +00:00
Sven Neumann 1f17bf8767 handle dockable drops where the drag source is a GimpDockable itself.
2003-10-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdock.c (gimp_dock_separator_drag_drop): handle
	dockable drops where the drag source is a GimpDockable itself.

	* etc/sessionrc: try a new default dialog setup.
2003-10-05 22:09:58 +00:00
Sven Neumann ee770239ff removed unused variables.
2003-10-05  Sven Neumann  <sven@gimp.org>

	* app/gui/tool-options-menu.c (tool_options_menu_update): removed
	unused variables.
2003-10-05 21:06:43 +00:00
Sven Neumann 1c2aea628c set the screen resolution before setting the initial scale; update it in
2003-10-05  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c: set the screen resolution before
	setting the initial scale; update it in GtkWidget::screen_changed.
2003-10-05 20:34:48 +00:00
Sven Neumann 81e190dc3d added missing file.
2003-10-05  Sven Neumann  <sven@gimp.org>

	* app/composite/Makefile.am: added missing file.
2003-10-05 19:42:59 +00:00
Sven Neumann 914a29efd8 app/widgets/gimpdockbook.[ch] hide the GimpDockbook tabs when it holds
2003-10-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdockable.[ch]: hide the GimpDockbook tabs when
	it holds only a single dockable. Made the title area a drag source
	and let the whole GimpDockable accept drops of dockables.
2003-10-05 17:26:21 +00:00
Pedro Gimeno 68ad180d22 Use gint instead of guint. Fixes Debian bug report #205889.
2003-10-05  Pedro Gimeno  <pggimeno@wanadoo.es>

        * app/paint-funcs/paint-funcs.c (shrink_line): Use gint instead
        of guint. Fixes Debian bug report #205889.
2003-10-05 17:00:59 +00:00
Dave Neary 12bdbc33a6 Removed explicit initialisation to GIMP_ALL_HUES, this is set by default
2003-10-04  Dave Neary  <bolsh@gimp.org>

        * app/tools/gimphuesaturationtool.c
        (gimp_hue_saturation_tool_initialize): Removed explicit
        initialisation to GIMP_ALL_HUES, this is set by default the
        first time the tool is opened, and shouldn't be set successive
        times. Fix suggested by edg1@freegates.be in Bugzilla. Fixes
        bug #123731.
2003-10-04 13:45:31 +00:00
Sven Neumann 1db2ada311 enabled the call to exit() again.
2003-10-02  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c (app_exit_after_callback): enabled the call to
	exit() again.
2003-10-02 16:38:23 +00:00
Michael Natterer 86411380c6 set the item's new image *after* converting it because we need the old
2003-10-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c (gimp_item_convert,gimp_item_real_convert):
	set the item's new image *after* converting it because we need the
	old image's colormap for conversions from and to INDEXED.
	Fixes bug #123625.
2003-10-02 11:42:43 +00:00
Michael Natterer 89d936f3aa Cleaned up the app init and exit stuff even more. Also reduces the number
2003-10-02  Michael Natterer  <mitch@gimp.org>

	Cleaned up the app init and exit stuff even more. Also reduces the
	number of missing symbols for gimp-console. Added init and exit
	debugging output (only for --verbose).

	* app/core/gimpmarshal.list
	* app/core/gimp.[ch]: added new signals "initialize" and
	"restore".  Moved plug_ins_init() to Gimp::restore()'s default
	implementation and plug_ins_exit() to Gimp::exit()'s default
	implementation. Renamed gimp_set_config() to gimp_load_config()
	and load GimpRC here. Moved base_init() and base_exit() to this
	file, too.

	* app/gui/Makefile.am
	* app/gui/gui-vtable.[ch]: new files split out of gui.c. It was
	simply too large.

	* app/gui/gui.[ch]: renamed gui_themes_init() to gui_init(),
	connect to Gimp's "initialize" and "restore" signals and create
	the GUI stuff in the callbacks. Removed most other public
	functions since they don't need to be called explicitly any more.
	Moved the whole tool initialization/shutdown code to this file.

	* app/gui/user-install-dialog.[ch]: changed
	user_install_dialog_create() to user_install_dialog_run() and
	added a gtk_main() at the end, so the install dialog's gtk_main()
	and gtk_main_quit() live in the same file.

	* app/app_procs.c: removed lots of stuff. app_init() is much
	simpler now.
2003-10-02 11:26:26 +00:00
Michael Natterer a3ab230fdc remember the name of the saved options and set it again after
2003-10-02  Michael Natterer  <mitch@gimp.org>

	* app/gui/tool-options-commands.c
	(tool_options_save_to_cmd_callback): remember the name of the
	saved options and set it again after gimp_config_copy_properties().
	Fixes bug #123660.
2003-10-02 10:16:02 +00:00
Sven Neumann 8996d18ff5 added back ellipsis to Display Filters and Configure Grid.
2003-10-02  Sven Neumann  <sven@gimp.org>

	* app/gui/image-menu.c: added back ellipsis to Display Filters and
	Configure Grid.

2003-10-02  Sven Neumann  <sven@gimp.org>

	* de.po: updated german translation (reviewing my menu changes).
2003-10-02 00:55:52 +00:00
Sven Neumann f8fed93e45 app/gui/brushes-menu.c app/gui/channels-menu.c
2003-10-02  Sven Neumann  <sven@gimp.org>

	* app/gui/brushes-menu.c
	* app/gui/channels-menu.c
	* app/gui/colormap-editor-menu.c
	* app/gui/image-menu.c
	* app/gui/templates-menu.c
	* app/gui/vectors-menu.c: added ellipsis back for Edit menu items.
	Added missing ellipsis for Stroke items.
2003-10-01 22:31:29 +00:00
Sven Neumann 038a20e089 app/gui/brushes-menu.c app/gui/channels-menu.c
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/gui/brushes-menu.c
	* app/gui/channels-menu.c
	* app/gui/colormap-editor-menu.c
	* app/gui/dialogs-menu.c
	* app/gui/documents-menu.c
	* app/gui/image-menu.c
	* app/gui/palettes-menu.c
	* app/gui/templates-menu.c
	* app/gui/toolbox-menu.c
	* app/gui/vectors-menu.c
	* plug-ins/common/uniteditor.c
	* plug-ins/dbbrowser/dbbrowser.c: followed the HIG advisory on
	labelling menus with a trailing ellipsis and removed some.
2003-10-01 20:46:48 +00:00
Sven Neumann ef94033e26 renamed gimp_prop_size_entry_connect() to gimp_prop_coordinates_connect().
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.[ch]: renamed
	gimp_prop_size_entry_connect() to gimp_prop_coordinates_connect().
	Added a new property widget that is a single GimpSizeEntry and is
	connected to size and unit properties.

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

	* app/widgets/gimpstrokeeditor.c: added a "resolution" property
	and use the new property widget.

	* app/gui/stroke-dialog.c: pass the image resolution to
	gimp_stroke_editor_new().
2003-10-01 19:55:13 +00:00
Sven Neumann 768b34b1ff app/composite/gimp-composite-altivec.c app/composite/gimp-composite-mmx.c
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-altivec.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse.c
	* app/composite/gimp-composite-sse2.c
	* app/composite/gimp-composite-vis.c: moved includes out of the
	#if __GNUC__ >= 3 to make the code compile on other compilers.

	* app/composite/gimp-composite-3dnow.[ch]: added the same stubs here
	for symmetry.
2003-10-01 19:07:57 +00:00
Sven Neumann 69f7bd131c app/core/Makefile.am added small wrappers to ease handling of image units
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpimage-unit.[ch]: added small wrappers to ease
	handling of image units and to hide the core GimpUnit API.

	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpstatusbar.c
	* app/gui/info-window.c:
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpscaletool.c: use the new functions.

	* app/core/gimp-units.c
	* app/vectors/gimpvectors-export.c: use the core GimpUnit API.

	* app/vectors/gimpvectors.c: no need to include gimpunit.h here.
2003-10-01 17:32:14 +00:00
Sven Neumann bb044204a0 make it handle aggregate object properties by calling itself recursively.
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff): make it handle
	aggregate object properties by calling itself recursively.
2003-10-01 12:54:58 +00:00
Sven Neumann 74187d7d65 pango_font_description_set_size() takes points not pixels as the old code
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c: pango_font_description_set_size()
	takes points not pixels as the old code assumed.

	* app/text/gimptext.c
	* app/text/gimptextlayout-render.c: fixed includes.
2003-10-01 11:52:52 +00:00
Sven Neumann 7675b4ba33 added missing code snippets to make it compile on PPC.
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-altivec.c: added missing code
	snippets to make it compile on PPC.

	* plug-ins/common/destripe.c: avoid division by zero (bug #123592).
	Also made the plug-in remember the state of the history toggle and
	other cleanup. The filter result still looks wrong though...
2003-10-01 11:10:56 +00:00
Sven Neumann 6604b16838 set a default resolution on the fontmap since Pango doesn't seem to do
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext-compat.c (text_get_extents): set a default
	resolution on the fontmap since Pango doesn't seem to do this for us.
2003-10-01 01:20:40 +00:00
Simon Budig e4820b30bb a little bit of tweaking.
2003-10-01  Simon Budig  <simon@gimp.org>

	* app/base/boundary.[ch]: a little bit of tweaking.

	* app/paint/gimppaintcore-stroke.c: Use it here too.
2003-10-01 01:01:26 +00:00
Simon Budig e8831f5502 Implemented simplify_boundary (), which tries to reduce the number of
2003-10-01  Simon Budig  <simon@gimp.org>

	* app/base/boundary.[ch]: Implemented simplify_boundary (),
	which tries to reduce the number of coordinates to get
	better interpolation for stroking.

	The results still need tweaking.

	* app/core/gimpdrawable-stroke.c: Use it.
2003-10-01 00:02:48 +00:00
Sven Neumann 2f855afa6a added an API to allow for sub-pixel sizes in spinbuttons connected to a
2003-10-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpunitmenu.[ch]:
	* libgimpwidgets/gimpwidgets.c: added an API to allow for
	sub-pixel sizes in spinbuttons connected to a GimpUnitMenu.
	Make GimpUnitMenu emit "unit-changed" when the unit is changed
	programmatically.

	* libgimpwidgets/gimpsizeentry.[ch}: added a similar API here.
	Make GimpSizeEntry emit "unit-changed" when the unit is changed
	programmatically. The other signals will need similar changes.

	* plug-ins/common/gauss_rle.c
	* plug-ins/common/gauss_iir.c
	* app/widgets/gimpstrokeeditor.c: use the new API.
2003-09-30 23:19:48 +00:00
Sven Neumann 1667acd36d accept NULL as blurb and use the name as fallback for a missing blurb.
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_new): accept NULL
	as blurb and use the name as fallback for a missing blurb.

	* app/gui/dialogs-constructors.c: removed the "Foo List" and "Foo
	Grid" blurbs. Only left blurbs where the longer name makes sense.
2003-09-30 18:50:55 +00:00
Michael Natterer 36c83350a2 added a "Rename Saved Options" submenu and factored on-the-fly submenu
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/gui/tool-options-menu.c: added a "Rename Saved Options"
	submenu and factored on-the-fly submenu creation out to a utility
	function.

	* app/gui/tool-options-commands.[ch]: added rename callback.

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

	* app/widgets/gimptooloptionseditor.c
	(gimp_tool_options_editor_menu_popup): pass "button = 0" to
	gtk_menu_popup() because we show the menu on button_release, not
	on button_press.
2003-09-30 18:33:46 +00:00
Michael Natterer 657b49b402 removed "width", "height" and "antialias" from the GimpScanConvert struct
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpscanconvert.[ch]: removed "width", "height" and
	"antialias" from the GimpScanConvert struct and from
	gimp_scan_convert_new(). Removed gimp_scan_convert_to_channel().
	Added "gboolean antialias" to gimp_scan_convert_render().
	Some general cleanup.

	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimage-mask-select.c
	* app/tools/gimpiscissorstool.c: changed accordingly.

	* app/core/gimpdrawable-stroke.c: renamed
	gimp_drawable_stroke_scanconvert_stroke() to
	gimp_drawable_stroke_scan_convert() and removed the "gboolean
	use_mask_bounds" parameter since we can't decide if it's the
	selection's boundary which is stroked. Instead use
	gimp_channel_is_empty() on the selection which will return FALSE
	while the selection is being stroked.

	* app/paint/gimppaintcore-stroke.c: cleanup.

	(gimp_paint_core_stroke_boundary): don't use "gint i" twice.

	(gimp_paint_core_stroke_vectors): no need to manually close a
	closed stroke.
2003-09-30 18:06:19 +00:00
Michael Natterer 5426aba926 pass the channel's offsets to gimp_paint_core_stroke_boundary().
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_stroke): pass the channel's
	offsets to gimp_paint_core_stroke_boundary().
2003-09-30 15:59:57 +00:00
Michael Natterer 33d35e65db app/widgets/gimpcontainergridview.c implement GtkWidget::popup_menu() and
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c: implement
	GtkWidget::popup_menu() and pop up the menu from the selected
	item. If there is no selected item, return FALSE to
	makeGimpDockable pop up the menu from its menu button.
2003-09-30 15:55:23 +00:00
Sven Neumann b563329c28 accept a list of dialog identifiers and try to raise an existing dockable
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/gui/dialogs-commands.c (dialogs_create_dockable_cmd_callback):
	accept a list of dialog identifiers and try to raise an existing
	dockable from the list. If that fails, create a new one from the
	first entry.

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: specify alternative dialog identifiers
	where appropriate.

	* app/vectors/gimpstroke.c (gimp_stroke_interpolate): use NULL
	instead of 0.
2003-09-30 15:48:14 +00:00
Simon Budig 20683bede5 Accept NULL for ret_closed.
2003-09-30  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpbezierstroke.c:
	(gimp_bezier_stroke_interpolate) Accept NULL for ret_closed.

	* app/widgets/gimppreviewrenderervectors.c: removed "closed"
	variable.

	* app/core/gimpdrawable-stroke.[ch]: Factored out the final
	rendering of the scanconvert. Implemented
	gimp_drawable_stroke_boundary. Unfortunately the results are
	not really good, since the boundary calculation code is
	too exact for this purpose. I have a rough idea how to fix this.

	* app/core/gimpchannel.c: changed accordingly.
2003-09-30 15:16:51 +00:00
Sven Neumann 66134f9afc fixed preview of closed paths.
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppreviewrenderervectors.c: fixed preview of
	closed paths.
2003-09-30 14:18:29 +00:00
Sven Neumann dc7a068fdc app/widgets/gimppreviewrenderer.c simplified drawing code to a point where
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppreviewrenderer.c
	* app/widgets/gimppreviewrenderervectors.c: simplified drawing
	code to a point where it becomes readable again. Draw centered
	into the draw_area, using the size of the renderer.
2003-09-30 12:06:58 +00:00
Michael Natterer d0e1c1c661 cleanup.
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintcore-stroke.c: cleanup.

	(gimp_paint_core_stroke_boundary): don't push a separate undo
	for each part of the boundary.

	* app/core/gimpdrawable-stroke.[ch]: added empty stub
	gimp_drawable_stroke_boundary(). Changed
	gimp_drawable_stroke_vectors() to take the GimpStrokeOptions as
	second parameter.

	* app/core/gimpchannel.c (gimp_channel_stroke): use it. No need
	to push an undo group around gimp_paint_core_stroke_boundary().

	* app/vectors/gimpvectors.c: changed accordingly.

	* app/widgets/gimpselectioneditor.[ch]: added a GimpStrokeItemFunc
	pointer and use it for stroking.

	* app/gui/edit-commands.[ch] (edit_stroke_selection): a
	GimpStrokeItemFunc which strokes the selection using the
	stroke-dialog.

	* app/gui/dialogs-constructors.c: use it for the selection editor.
2003-09-30 02:44:17 +00:00
Simon Budig fba6a1a77a replaced gimp_scan_convert_set_resolution with
2003-09-30  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: replaced
	gimp_scan_convert_set_resolution with
	gimp_scan_convert_set_pixel_ratio where you specify the pixel
	ratio (width/height). Also made the stroke-width consistent
	with other places in the gimp by using the Y-Resolution as
	the base for the calculations.

	* app/core/gimpdrawable-stroke.c: changed accordingly.
2003-09-30 01:03:25 +00:00
Sven Neumann f4c7ef9914 app/core/gimpdrawable-stroke.c app/core/gimpstrokeoptions.[ch] removed the
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-stroke.c
	* app/core/gimpstrokeoptions.[ch]
	* app/gui/stroke-dialog.c: removed the resolution property again.
	The object should stay resolution independent. The resolution can
	be taken from the image it is used with.
2003-09-30 00:15:00 +00:00
Simon Budig 3761462869 Added support for setting X- and Y-resolution for stroking paths. The
2003-09-30  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: Added support for setting
	X- and Y-resolution for stroking paths. The width of a path
	has to be given in pixels, using X-resolution.

	* app/core/gimpstrokeoptions.[ch]: Added "resolution" property,
	so that conversion between various width-units can happen.
	Should be set to the target images X-resolution.

	* app/gui/stroke-dialog.c: set the resolution of the options.

	* app/core/gimpdrawable-stroke.c: Use that stuff, cleanup.
2003-09-29 23:45:06 +00:00
Sven Neumann 489cff5303 app/core/Makefile.am new files with preview code factored out of
2003-09-29  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpitem-preview.[ch]: new files with preview code
	factored out of GimpDrawable.

	* app/core/gimpdrawable-preview.[ch]: code removed here.

	* app/core/gimpdrawable.c
	* app/core/gimpitem.c: let GimpItem implement
	GimpViewable::get_preview_size and GimpViewable::get_popup_size.

	* app/widgets/gimppreviewrenderervectors.c: simple scale to the
	renderer's size; it already respects the aspect ratio.
2003-09-29 23:14:28 +00:00
Michael Natterer 6a7a69ee91 connect to the "add" and "remove" signals of the current tool_option's
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptooloptionseditor.c: connect to the "add" and
	"remove" signals of the current tool_option's presets container
	and set the "Restore" and "Delete" buttons insensitive when there
	are no saved tool options. Also show the "Enter Name" dialog
	directly instead of popping up a menu with only one item.
2003-09-29 22:56:46 +00:00
Michael Natterer dedbe33b8d new function for stuff which needs to be done once, not on every
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/gui/tool-options-menu.[ch] (tool_options_menu_setup): new
	function for stuff which needs to be done once, not on every
	tool_options_menu_update(). Cleanup.

	* app/gui/menus.c: register it as setup_func of <ToolOptions>.

	* app/gui/tool-options-commands.c: removed the "Reset"
	implementations and activate GimpToolOptionsEditor's buttons
	accordingly.

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

	* app/widgets/gimptooloptionseditor.[ch]: moved "Reset"
	implementations to this file. Added "Delete" button. Pop up the
	"Save", "Restore" and "Delete" submenus of the <ToolOptions>
	item_factory when the resp. buttons are clicked.
2003-09-29 22:23:44 +00:00
Michael Natterer d1ba870458 added a GimpContainer of tool options presets.
2003-09-29  Michael Natterer  <mitch@gimp.org>

	* app/core/gimptoolinfo.[ch]: added a GimpContainer of tool
	options presets.

	* app/core/gimptooloptions.[ch] (gimp_tool_options_set_property):
	silently accept setting the *same* tool_info again.

	(gimp_tool_options_build_filename): is public now.

	* app/tools/gimp-tools.c (gimp_tools_restore,save): load and save
	the presets container.

	* app/gui/tool-options-dialog.[ch]: removed.

	* app/gui/tool-options-commands.[ch]
	* app/gui/tool-options-menu.[ch]: new files implementing a menu
	for the new GimpToolOptionsEditor widget. Has submenus for saving,
	loading, and deleting tool options to/from the
	tool_info->options_presets container.

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

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptooloptionseditor.[ch]: the tool options dialog
	as proper widget. The "Load" and "Save" buttons still do the same
	stuff as before. Will make them use the new presets since making
	them do something useful was the reason for this whole change.

	* app/widgets/gimphelp-ids.h: added missing help IDs for the tool
	options dialog.
2003-09-29 20:26:09 +00:00
Michael Natterer 017d183968 Fixed handling of G_PARAM_CONSTRUCT_ONLY properties:
2003-09-29  Michael Natterer  <mitch@gimp.org>

	Fixed handling of G_PARAM_CONSTRUCT_ONLY properties:

	* app/config/gimpconfig.c (gimp_config_iface_duplicate): build
	a GParameter array of G_PARAM_CONSTRUCT_ONLY properties and
	use g_object_newv() instead of g_object_new() to create the
	copy.

	* app/config/gimpconfig-utils.c
	(gimp_config_copy_properties)
	(gimp_consif_reset_properties): don't try to copy/reset
	G_PARAM_CONSTRUCT_ONLY properties because it is impossible.

	(gimp_config_connect_notify): ditto. Also don't try to read
	from unreadable or write to unwritable properties.
2003-09-29 18:29:11 +00:00
Michael Natterer 2b57062c01 minor cleanups.
2003-09-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcroptool.c: minor cleanups.

	(gimp_crop_tool_modifier_key): s/crop-type/crop-mode/. Fixes tool
	toggling which was broken after my GimpCropMode change.

	(crop_tool_crop_image): replaced parameter "gboolean crop_layers"
	by "GimpCropMode crop_mode". Makes its callers simpler and more
	readable.
2003-09-29 18:06:15 +00:00
Simon Budig dada777a97 Fixed a bad crash (Thanks to Sven for spotting that). Minor cleanups.
2003-09-29  Simon Budig  <simon@gimp.org>

	* app/widgets/gimppreviewrenderervectors.c: Fixed a bad
	crash (Thanks to Sven for spotting that). Minor cleanups.
2003-09-29 16:57:24 +00:00
Simon Budig 02f375b8d4 Made the preview respect the aspect ratio and resolutions of the image.
2003-09-29  Simon Budig  <simon@gimp.org>

	* app/widgets/gimppreviewrenderervectors.c: Made the preview
	respect the aspect ratio and resolutions of the image. There
	apparently still is an off-by-one error in it.

	* app/tools/gimpvectortool.c: (Hopefully) fixed a crash when a new
	image gets opened with the vectors tool active.
2003-09-29 16:35:30 +00:00
Sven Neumann 9b3f8b0673 made draw a virtual method of GimpPreviewRenderer. Draw the border in the
2003-09-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppreviewrenderer.[ch]: made draw a virtual method
	of GimpPreviewRenderer. Draw the border in the wrapper function.

	* app/widgets/gimppreviewrenderervectors.c: implement
	GimpPreviewRenderer::draw instead of GimpPreviewRenderer::render.
2003-09-29 13:35:59 +00:00
Simon Budig eb489c44c4 Made these widgets show a preview of the vectors object. Does not work
2003-09-29  Simon Budig  <simon@gimp.org>

	* app/widgets/gimppreviewrenderervectors.c: Made these widgets
	show a preview of the vectors object. Does not work everywhere
	right now, also most probably has scaling issues for non-square
	images.

	* app/tools/gimpdrawtool.c: Fixed Svens fix.
2003-09-29 11:48:15 +00:00
Sven Neumann 55a0c4c960 removed "dash-unit" property and renamed "width-unit" to "unit".
2003-09-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpstrokeoptions.[ch]: removed "dash-unit" property and
	renamed "width-unit" to "unit".

	* app/core/gimpdrawable-stroke.c
	* app/widgets/gimpstrokeeditor.c: changed accordingly.
2003-09-29 11:13:21 +00:00
Simon Budig 4fce98042d Fixed glitch to enable dashed strokes with width < 1.0.
2003-09-29  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.c: Fixed glitch to enable dashed
	strokes with width < 1.0.

	* app/core/gimpdrawable-stroke.c: Actually pass the miter
	limit to gimp_scan_convert_stroke ().
2003-09-28 22:33:08 +00:00
Sven Neumann 14d3b01418 as a temporary hack, let the Stroke Dialog remember the last used stroke
2003-09-28  Sven Neumann  <sven@gimp.org>

	* app/gui/stroke-dialog.c (stroke_dialog_new): as a temporary hack,
	let the Stroke Dialog remember the last used stroke options.
2003-09-28 21:20:28 +00:00
Sven Neumann 36e57e4bbb also duplicate vectors and grid.
2003-09-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-duplicate.c (gimp_image_duplicate): also
	duplicate vectors and grid.
2003-09-28 20:47:14 +00:00
Sven Neumann 30a4f72166 plugged memleaks and added some sanity checks.
2003-09-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.c (gimp_scan_convert_free)
	(gimp_scan_convert_finish): plugged memleaks and added some sanity
	checks.

	* app/base/pixel-region.c
	* app/core/gimpdrawable-preview.c: removed trailing whitespace.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_on_vectors_curve):
	gimp_stroke_nearest_point_get() doesn't set cur_pos when there are
	no strokes; don't use the uninitialized variable.
2003-09-28 20:13:59 +00:00
Simon Budig 07bfd081e2 Oops, forgot to add my name to the file-header.
2003-09-28  Simon Budig  <simon@gimp.org>

	* app/widgets/gimppreviewrenderervectors.c: Oops, forgot to
	add my name to the file-header.
2003-09-28 04:04:17 +00:00
Simon Budig 7c3b455924 "The last of the Oldenburg commits"
2003-09-28  Simon Budig  <simon@gimp.org>

	"The last of the Oldenburg commits"

	Thanks to the team of the Oldenburg Linux Developers Meeting 2003
	for providing a nice hacking environment.

	* app/vectors/gimpvectors.c: Add a default stock_id.

	* app/widgets/gimppreviewrenderervectors.[ch]: New Widget
	to render the preview of vectors. Just renders a stock item
	now, since I was unable to figure out how to properly draw
	in the GtkWidget.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: Changed accordingly.

	* app/widgets/gimppreviewrenderer-utils.c: Use the new widget.

	* app/core/gimpscanconvert.c
	* app/core/gimpdrawable-stroke.c: Use higher prescision for
	libart-stroking vectors. Reduces artefacts.

	* app/pdb/paths_cmds.c
	* libgimp/gimppaths_pdb.c: Regenerated after Tors changes.
2003-09-28 04:00:50 +00:00
Sven Neumann 8e613a455d use the GIMP_COORDINATES_CHAINBUTTON() macro instead of trying to get it
2003-09-28  Sven Neumann  <sven@gimp.org>

	* app/gui/resolution-calibrate-dialog.c (resolution_calibrate_ok):
	use the GIMP_COORDINATES_CHAINBUTTON() macro instead of trying to
	get it using a hardcoded and misspelled identifier.
2003-09-27 23:19:43 +00:00
Michael Natterer 079101d656 use a much simpler and shorter method of determining how to transform the
2003-09-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_transform_temp_buf): use a much
	simpler and shorter method of determining how to transform the
	TempBuf.
2003-09-27 22:40:18 +00:00
Michael Natterer 8060800b9d some more small cleanups.
2003-09-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-bucket-fill.c
	(gimp_drawable_bucket_fill_full): some more small cleanups.
2003-09-27 22:33:04 +00:00
Michael Natterer f5b98a4822 set the transformed color's alpha to OPAQUE so it works with
2003-09-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-bucket-fill.c
	(gimp_drawable_bucket_fill_full): set the transformed color's
	alpha to OPAQUE so it works with color_region().

	* app/core/gimpdrawable-stroke.c (gimp_drawable_stroke_vectors):
	no need to transform the color into a newly allocated array,
	simply use guchar[MAX_CHANNELS] instead.

	Cleaned up both functions to use RED_PIX, GREEN_PIX and BLUE_PIX
	instead of 0, 1 and 2.
2003-09-27 20:42:31 +00:00
Michael Natterer ab34b3ee94 added new functions color_region_mask() which works like color_region()
2003-09-27  Michael Natterer  <mitch@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]: added new functions
	color_region_mask() which works like color_region() but takes an
	additional maskPR parameters and pattern_region() which fills
	destPR with a TempBuf of *matching color depth*.

	* app/paint-funcs/paint-funcs-generic.h: added corresponding
	color_pixels_mask() and pattern_pixels().

	* app/core/gimpimage.[ch] (gimp_image_transform_temp_buf): new
	function which transforms a TempBuf to a specified drawable's
	color space.

	* app/core/gimpdrawable-bucket-fill.c: the functions were factored
	out here. Removed them and use the new stuff.

	* app/core/core-enums.[ch]: added enum GimpStrokeStyle which can
	be one of { SOLID, PATTERN }.

	* app/core/gimpstrokeoptions.[ch]: added "GimpStrokeStyle style"
	property, cleanup.

	* app/core/gimpdrawable-stroke.c: honor the new "style" property
	and call the new color_region_mask() and pattern_region()
	functions accordingly, cleanup.

	* app/widgets/gimpstrokeeditor.c: added a GUI for the stroke
	style. Ugly but works.

	* app/gui/stroke-dialog.c: undefine "foreground" and "pattern" and
	set the user context as parent context so we get these properties
	from the global settings.
2003-09-27 20:04:07 +00:00
Sven Neumann fcb29af719 themes/Default/images/Makefile.am
2003-09-27  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-cap-[butt|round|square]-16.png
	* themes/Default/images/stock-join-[miter|round|bevel]-16.png:
	added placeholders for GimpCapStyle and GimpJoinStyle icons.

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

	* app/widgets/gimpstrokeeditor.c: made "options" a construct-only
	property of the editor and create the widgets in a constructor
	method. Use stock boxes with the new icons.

	* app/gui/stroke-dialog.c (stroke_dialog_new): let the Cancel
	button destroy the dialog instead of itself.
2003-09-27 19:05:13 +00:00
Simon Budig ee3394754b changed the API of gimp_drawable_stroke_vectors to accept
2003-09-27  Simon Budig  <simon@gimp.org>

	* app/core/gimpdrawable-stroke.[ch]: changed the API of
	gimp_drawable_stroke_vectors to accept GimpStrokeOptions
	instead of lots of individual parameters.

	* app/vectors/gimpvectors.c: changed accordingly.
2003-09-27 15:29:21 +00:00
Sven Neumann b2a6cddcfb added unit properties for stroke width and dashes. Use convenience macros
2003-09-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpstrokeoptions.[ch]: added unit properties for
	stroke width and dashes. Use convenience macros from GimpConfig to
	register the properties. Removed init function since all values
	are construct properties.

	* app/vectors/gimpvectors.c: respect the stroke width unit.

	* app/widgets/gimpstrokeeditor.c: added a unit menu here.
2003-09-27 14:58:46 +00:00
Michael Natterer 07417fb07e made it a view on the GimpItem to stroke, not on the image, so the dialog
2003-09-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/stroke-dialog.[ch]: made it a view on the GimpItem to
	stroke, not on the image, so the dialog goes away automatically if
	the item is removed from the image. Don't pass a GimpStrokeOptions
	to stroke_dialog_new() until we figured how to handle a list of
	presets or at least the last used options object. Also don't pass
	a GimpDrawable, get the active_drawable in the "ok" callback
	instead. Attach less pointers to the dialog and simplified stuff.

	* app/gui/vectors-commands.c (vectors_stroke_vectors): changed
	accordingly, removed commented out cruft.
2003-09-27 14:41:10 +00:00
Michael Natterer d2b8494a29 derive it from GimpViewable.
2003-09-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppaintinfo.[ch]: derive it from GimpViewable.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): set the
	paint_info's stock_id from the tool_info's stock_id.

	* app/widgets/widgets-types.h: resurrected GimpItemStrokeFunc.

	* app/widgets/gimpvectorstreeview.[ch]: added a item_stroke_func
	pointer and use it instead of implementing stroking here.

	* app/gui/vectors-commands.[ch]: added vectors_stroke_vectors()
	which has the signature of a GimpItemStrokeFunc.

	* app/gui/dialogs-constructors.c: use it for the paths dialog.

	* app/gui/stroke-dialog.[ch]: extended to handle both libart and
	GimpPaintCore stroking. Use a GimpContainerMenu view on the
	gimp->paint_info_list container to select the paint core to use.
2003-09-27 13:46:30 +00:00
Sven Neumann 06a21943d0 improved readability of this code by introducing a local GimpImage*
2003-09-27  Sven Neumann  <sven@gimp.org>

	* app/gui/info-window.c (info_window_update): improved readability
	of this code by introducing a local GimpImage* variable.

	* app/composite/gimp-composite-regression.c: use a matching format
	string for an u_long variable (should probably use gulong instead).

	* app/composite/make-installer.py: output a short note about what
	tests are going to be run.

	* app/composite/gimp-composite-3dnow-test.c
	* app/composite/gimp-composite-altivec-test.c
	* app/composite/gimp-composite-mmx-test.c
	* app/composite/gimp-composite-sse-test.c
	* app/composite/gimp-composite-sse2-test.c
	* app/composite/gimp-composite-vis-test.c: regenerated.
2003-09-27 12:59:22 +00:00
Michael Natterer 09eb6fe8dd honor the default-resolution-unit when displaying the image's resolution.
2003-09-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/info-window.c (info_window_update): honor the
	default-resolution-unit when displaying the image's resolution.
	Fixes bug #123336.
2003-09-27 10:27:38 +00:00
Helvetix Victorinox 545c19854a app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-mmx-test.c
* app/composite/gimp-composite-mmx-installer.c
* app/composite/gimp-composite-sse-test.c
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse2-test.c
* app/composite/gimp-composite-sse2-installer.c
* app/composite/gimp-composite-vis-test.c
* app/composite/gimp-composite-vis-installer.c:
  Regenerated.

* app/composite/gimp-composite-altivec.[ch]
* app/composite/gimp-composite-mmx.[ch]
* app/composite/gimp-composite-sse.[ch]
* app/composite/gimp-composite-sse2.[ch]
* app/composite/gimp-composite-vis.[ch]
* app/composite/make-installer.py:
  Make it such that when a test is run on the wrong kind of
  machine, don't fail without an explanation.
2003-09-27 03:11:46 +00:00