Commit graph

1190 commits

Author SHA1 Message Date
Sven Neumann
8ec495f481 simplified the code 2005-02-21 01:08:44 +00:00
Sven Neumann
5157dba5cb Another step towards color management:
2005-02-21  Sven Neumann  <sven@gimp.org>

	Another step towards color management:

	* modules/Makefile.am
	* modules/cdisplay_lcms.c: added new color display module that
	implements color management for the image displays. Still work
	in progress...

	* modules/cdisplay_proof.c: no need to include <string.h> here.

	* libgimpconfig/gimpcolorconfig.[ch]: added new property
	"display-module" to configure the display color management module.

	* app/display/gimpdisplayshell-filter.[ch]
	* app/display/gimpdisplayshell.c: create the configured color
	management display filter for each display.
2005-02-21 00:45:17 +00:00
Hans Breuer
c6f63ea4e1 TILE_WIDTH is used unconditionally so always include "tile.h" WIN32 needs
2005-02-19  Hans Breuer  <hans@breuer.org>

	* app/base/pixel-processor.c : TILE_WIDTH is used unconditionally
	so always include "tile.h"
	* app/base/tile-swap.c : WIN32 needs <process.h> for _getpid()

	* app/dialogs/user-install-dialog.c : include gimpwin32-io.h
	* libgimpbase/gimpwin32-io.h : there are no group or other
	flags in msvcrt, define S_IGRP etc in terms of _S_IREAD etc

	* plug-ins/script-fu/script-fu.c plug-ins/script-fu/siod-wrapper.c :
	no script-fu server on win32, make respective function calls conditional

	* libgimpconfig/makefile.msc : new file
	* **/makefile.msc app/gimpcore.def : updated, gimp builds
	and runs once more with ms toolchain
2005-02-19 00:50:36 +00:00
Sven Neumann
ed5e235fa6 unset the CAN_FOCUS flag on the combo boxes and the cancel button. Set
2005-02-18  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.c: unset the CAN_FOCUS flag on the
	combo boxes and the cancel button. Set "focus-on-click" to FALSE
	for the combo boxes. Fixes bug #167809.
2005-02-18 21:41:57 +00:00
Sven Neumann
9511753a02 check for gthread-2.0 unless the --disable-mp option is given.
2005-02-13  Sven Neumann  <sven@gimp.org>

	* configure.in: check for gthread-2.0 unless the --disable-mp
	option is given.

	* app/app_procs.c (app_libs_init): call g_thread_init().

	* app/base/pixel-processor.c: ported to GThread.

	* app/Makefile.am
	* app/*/Makefile.am: use @GTHREAD_CFLAGS@.
2005-02-13 15:08:08 +00:00
Sven Neumann
7c19953c39 added GimpProgress::pulse.
2005-02-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprogress.[ch]: added GimpProgress::pulse.

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpthumbbox.c: implement it in the classes that
	implement the GimpProgress interface.

	* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
	progress.

	* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
	functionality.

	* app/pdb/internal_procs.c
	* app/pdb/progress_cmds.c
	* libgimp/gimpprogress_pdb.[ch]: regenerated.

	* libgimp/gimp.def: updated.
2005-02-12 14:18:12 +00:00
Sven Neumann
3fef851411 app/actions/data-commands.c app/actions/edit-commands.c
2005-02-10  Sven Neumann  <sven@gimp.org>

	* app/actions/data-commands.c
	* app/actions/edit-commands.c
	* app/actions/error-console-commands.c
	* app/actions/file-commands.c
	* app/actions/gradient-editor-commands.c
	* app/actions/gradients-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/templates-commands.c
	* app/actions/text-editor-commands.c
	* app/actions/tool-options-commands.c
	* app/dialogs/image-new-dialog.c
	* app/dialogs/resize-dialog.c
	* app/display/gimpdisplayshell-close.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimptexttool.c
	* libgimp/gimpexport.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpfileentry.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c: applied another patch by Patrice
	Tremblay to make more dialogs obey the alternative button order
	setting (bug #166678).
2005-02-10 11:00:46 +00:00
William Skaggs
a666d52d84 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events):  For testing, apply
	patch switching display-wide grab to app-wide grab while
	handling button-release event, see bug #162823.
2005-02-10 03:16:52 +00:00
Sven Neumann
e21a5ff2f0 app/display/gimpscalecombobox.[ch] pass an action label to
2005-02-09  Sven Neumann  <sven@gimp.org>

	* app/display/gimpscalecombobox.[ch]
	* app/display/gimpstatusbar.c: pass an action label to
	gimp_scale_combo_box_add_action().
2005-02-09 02:33:48 +00:00
Sven Neumann
4fac6a1f6b fixed brokeness introduced by the latest changes.
2005-02-09  Sven Neumann  <sven@gimp.org>

	* app/display/gimpscalecombobox.c: fixed brokeness introduced by
	the latest changes.
2005-02-09 02:23:13 +00:00
Sven Neumann
9ee865fa20 app/display/gimpscalecombobox.[ch] add an "Other..." item to the scale
2005-02-09  Sven Neumann  <sven@gimp.org>

	* app/display/gimpscalecombobox.[ch]
	* app/display/gimpstatusbar.c: add an "Other..." item to the scale
	menu in the image window. Somewhat hackish but fixes bug #143747.
2005-02-09 02:05:03 +00:00
Michael Natterer
cb7f1dbe56 removed gimp_ui_manager_ui_get() and implement the new virtual functions
2005-02-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: removed gimp_ui_manager_ui_get()
	and implement the new virtual functions GtkUIManager::get_widget()
	and ::get_action() instead. Menu loading happens transparently now.

	* app/display/gimpdisplayshell.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: use
	gtk_ui_manager_get_widget() instead of the removed
	gimp_ui_manager_ui_get().
2005-02-08 20:55:00 +00:00
Sven Neumann
c3bb11def3 switched meaning of Ctrl and Shift modifiers used with the mouse scroll
2005-02-05  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): switched meaning of Ctrl
	and Shift modifiers used with the mouse scroll wheel. The HIG
	suggests to use Ctrl for zooming and it makes GIMP more consistent
	with other apps (for example Inkscape).
2005-02-05 20:49:28 +00:00
William Skaggs
1cee9b7298 continuing commit after broken pipe 2005-01-25 19:11:26 +00:00
Manish Singh
1960d78cce #include gimpbase.h for declaration of gimp_param_spec_unit().
2005-01-21  Manish Singh  <yosh@gimp.org>

        * app/display/gimpdisplayshell.c: #include gimpbase.h for declaration
        of gimp_param_spec_unit().
2005-01-22 02:33:29 +00:00
Sven Neumann
2750f94f28 don't use == to compare floating point values.
2005-01-19  Sven Neumann  <sven@gimp.org>

	* app/display/gimpscalecombobox.c (gimp_scale_combo_box_set_scale):
	don't use == to compare floating point values.
2005-01-18 23:30:37 +00:00
Michael Natterer
4c7e91011a added new function gimp_display_shell_dnd_init() which connects all DND
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.[ch]: added new function
	gimp_display_shell_dnd_init() which connects all DND callbacks.
	Made all DND callbacks static.

	* app/display/gimpdisplayshell.c (gimp_display_shell_init): call
	above function instead of connecting all DND callbacks here. Removed
	lots of now unused #includes.
2005-01-15 19:31:09 +00:00
Michael Natterer
7f74bdc941 app/display/gimpdisplayshell.c app/display/gimpdisplayshell-dnd.[ch]
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-dnd.[ch]
	* app/widgets/gimptoolbox-dnd.c: enabled dropping of components
	to the display and the toolbox. Addresses bug #158483.
2005-01-15 17:17:33 +00:00
Sven Neumann
a6ac8d2480 set the default response to Cancel in order to reduce the risk of
2005-01-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c
	(gimp_display_shell_close_dialog): set the default response to
	Cancel in order to reduce the risk of accidentally saving an
	image (bug #162872).
2005-01-04 00:14:06 +00:00
Michael Natterer
4a0b9cb662 app/actions/view-actions.c app/actions/view-commands.[ch]
2005-01-03  Michael Natterer  <mitch@gimp.org>

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* menus/image-menu.xml.in: reordered actions, functions and menu
	items so the "show" and "snap" actions are grouped.
2005-01-03 16:55:24 +00:00
Michael Natterer
150bea1e80 Implemented "Snap to Canvas Edges" (fixes bug #152971) and "Snap to Active
2005-01-03  Michael Natterer  <mitch@gimp.org>

	Implemented "Snap to Canvas Edges" (fixes bug #152971) and
	"Snap to Active Path" (half way done):

	* app/core/gimpimage-snap.[ch]: added boolean snap_to_canvas and
	snap_to_vectors parameters (snap_to_vectors works fine when
	snapping to a point, but is unimplemented for snapping to a
	rectangle).

	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
	added snap_to_canvas and snap_to_vectors booleans.

	* app/display/gimpdisplayshell-appearance.[ch]: added API to
	get/set them.

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]
	* app/widgets/gimphelp-ids.h: added actions, callbacks and help IDs.

	* menus/image-menu.xml.in: added them to Image->View.
2005-01-03 16:19:10 +00:00
Michael Natterer
8e1a10737b need to snap the coordinates before passing them to the active tool.
2005-01-03  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-autoscroll.c
	(gimp_display_shell_autoscroll_timeout): need to snap the
	coordinates before passing them to the active tool.
2005-01-03 15:00:55 +00:00
Sven Neumann
4e3026c637 handle event time as guint32. That's the type we deal with here and it
2005-01-03  Sven Neumann  <sven@gimp.org>

	* app/paint/gimpink.[ch]: handle event time as guint32. That's the
	type we deal with here and it avoids a crash that occured when
	autoscrolling with the Ink tool.

	* app/display/gimpdisplayshell-autoscroll.c: cosmetics.
2005-01-02 23:09:54 +00:00
Michael Natterer
aef1cf9306 app/display/Makefile.am app/display/gimpdisplayshell-autoscroll.[ch] new
2005-01-02  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-autoscroll.[ch]
	* app/display/gimpdisplayshell-coords.[ch]: new files factored out
	of gimpdisplayshell-callbacks.c

	* app/display/gimpdisplayshell.h (struct GimpDisplayShell): added
	"gpointer scroll_info" needed by autoscroll.

	* app/display/gimpdisplayshell-callbacks.c: removed the stuff
	above. Also removed the static autoscroll struct because it's not
	needed any longer.
2005-01-02 20:42:31 +00:00
Sven Neumann
3be2928e31 simplified code 2005-01-02 01:33:11 +00:00
Sven Neumann
3e1be87099 fixed auto-scrolling for left and bottom display edges. Remove the timeout
2005-01-02  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: fixed auto-scrolling
	for left and bottom display edges. Remove the timeout on
	button-release event, some minor cleanups.
2005-01-02 01:27:16 +00:00
William Skaggs
398f47529d Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpdisplayshell-callbacks.c: use a timeout for
	autoscrolling, to fix bug #8269.  Happy new year!
2005-01-01 17:58:56 +00:00
Michael Natterer
e0f25134ca Applied modified patch from Ben Campbell which adds drop coordinates to
2004-12-31  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Ben Campbell which adds drop
	coordinates to the color drop callback and uses it to insert
	colors in the palette editor. Extended the patch to add drop
	coordinates to all drop callbacks.

	* app/core/gimppalette.[ch]: added gimp_palette_insert_entry().

	* app/display/gimpdisplayshell-dnd.[ch]: added drop coordinates
	to all drop callbacks.

	* app/dialogs/palette-import-dialog.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox-image-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptooloptionseditor.c
	* libgimpwidgets/gimpcolorselect.c: changed accordingly. The passed
	drop coordiantes are so far unused.

	* app/widgets/gimppaletteeditor.c: use the drop coordinates to
	insert the new color into the palette at the right place instead
	of always appending. Fixes bug #150030.
2004-12-31 14:36:30 +00:00
William Skaggs
b13aded024 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: undo changes of 12-24,
	in favor of a better fix.

	* app/widgets/gimperrordialog.c: fix bug #162147 properly,
	as suggested by mitch.
2004-12-26 17:11:31 +00:00
William Skaggs
59e86d02fb Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: replace % with space
	in file name before showing error message,
	fixes bug #162147.

	* app/core/gimp-gui.c
	* app/widgets/gimpmessagebox.c: be a bit more paranoid
	about validating utf8 for messages.
2004-12-24 19:11:30 +00:00
Michael Natterer
cf4a649f38 renamed gimp_ui_manager_get_action() to gimp_ui_manager_find_action().
2004-12-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: renamed
	gimp_ui_manager_get_action() to gimp_ui_manager_find_action().

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/display/gimpdisplayshell-close.c: changed accordingly.

	(this change is quite useless as it stands, but will help keeping
	the diff between 2.2 and 2.3 small as soon as we're branched).

	* app/widgets/gimpcolormapeditor.c
	(gimp_colormap_preview_button_press): invoke the "edit-color", not
	"new-color" action upon double click.

	(palette_editor_select_entry): update the ui manager after
	selecting the entry so the entry-specific actions become sensitive
	if there was no entry selected before.
2004-12-08 13:52:28 +00:00
Michael Natterer
841efd0e2e app/display/gimpdisplayshell-appearance.c app/display/gimpdisplayshell.c
2004-12-01  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c: check if gimp_ui_manager_ui_get()
	actually returns something. Prevents crashes caused by missing
	ui manager xml files. Fixes bug #159346.
2004-12-01 00:13:48 +00:00
Hans Breuer
696663a611 [new file] app/dialogs/Makefile.am : added to EXTRA_DIST
2004-09-21  Hans Breuer  <hans@breuer.org>

	* app/dialogs/makefile.msc : [new file]
	  app/dialogs/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc app/gimpcore.def : updated

	* app/gimp.rc : let wilber be first

	* app/widgets/gimppropwidgets.c : msvc6 can't cast uint64 either

	* libgimpbase/gimpwin32-io.h : make up recent loss of ftruncate in GLib

	* libgimpthumbnail/gimpthumbnail.c : <process.h> for getpid() on win32

	* plug-ins/helpbrowser/dialog.c : include gimpwin32-io.h

	* plug-ins/script-fu/siodwrapper.c plug-ins/script-fu/scrip-fu.c : there
	is no script-fu-server on win32
2004-11-21 14:22:45 +00:00
Philip Lafleur
04f7c55432 Further optimization of perspective tool preview - never calculate the
2004-11-15  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: Further optimization of
	perspective tool preview - never calculate the same vertex more
	than once.
2004-11-15 15:22:45 +00:00
Philip Lafleur
50833de419 Eliminated about 96 floating-point divides per frame in the persective
2004-11-14  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: Eliminated about 96
	floating-point divides per frame in the persective preview.
2004-11-14 09:27:34 +00:00
Philip Lafleur
c111576df2 Use the transform tool coordinates when creating subdivisions, not the
2004-11-11  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: Use the transform
	tool coordinates when creating subdivisions, not the
	texture coordinates. Fixes breakage with layers that are not
	the image size.
2004-11-11 09:36:45 +00:00
Michael Natterer
a7037f9d26 if dot_for_dot is off, resolution change has the same effect as size
2004-11-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_resolution_changed_handler): if dot_for_dot is
	off, resolution change has the same effect as size change, so call
	gimp_display_shell_size_changed_handler(). Fixes display garbage.
2004-11-10 15:44:16 +00:00
Michael Natterer
04a7e8585b added new function gimp_statusbar_push_length(), which works exactly like
2004-11-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.[ch]: added new function
	gimp_statusbar_push_length(), which works exactly like
	push_coords() but takes only one value plus a GimpOrientationType
	for specifying the value's axis.

	* app/tools/gimptool.[ch]: added the corresponding
	gimp_tool_push_status_length().

	* app/tools/gimpmovetool.c: use gimp_tool_push_status_length()
	so the guide position is shown in the selected display unit.
	Cleaned up the status message code a bit.
2004-11-10 01:17:40 +00:00
Michael Natterer
6d9a69c0a6 pass (gint)-truncated coordinates instead of RINT()-rounded ones to
2004-11-09  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): pass (gint)-truncated
	coordinates instead of RINT()-rounded ones to
	gimp_display_shell_update_cursor(). Restores correct coordinates
	display for zoomed-in display and fixes bug #153534.

	* app/tools/gimpmovetool.c: added statusbar messages including the
	(rounded) guide coordinate. Keeps bug #141719 closed.
2004-11-09 13:03:07 +00:00
Michael Natterer
9ce333eb75 don't connect to "event" and don't connect any canvas event to
2004-11-09  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): don't
	connect to "event" and don't connect any canvas event to
	gimp_display_shell_events(). Connect all tool events separately
	(doesn't include "configure-event" and thus fixes bug #141543).

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): call
	gimp_display_shell_events() manually before doing tool event
	processing.

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-callbacks.[ch]: connect to
	"size_allocate" of the canvas, not to "configure_event"
	(suggested by Owen in bug #141543).

	* app/display/gimpdisplayshell-callbacks.[ch]: removed
	gimp_display_shell_popup_menu().

	(gimp_display_shell_origin_button_press): emit "popup-menu" on the
	shell manually instead of calling above function.

	* app/display/gimpdisplayshell.c: added the whole menu popup code
	here.
2004-11-09 11:38:29 +00:00
Michael Natterer
ba92c24d79 app/dialogs/module-dialog.c plug-ins/dbbrowser/gimpprocbrowser.c use
2004-11-03  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/module-dialog.c
	* plug-ins/dbbrowser/gimpprocbrowser.c
	* plug-ins/dbbrowser/plugin-browser.c: use
	gtk_tree_model_get_iter_first() instead of the deprecated
	_get_iter_root().

	* app/display/gimpdisplayshell-callbacks.c: don't include
	"widgets/gimpitemfactory.h".
2004-11-03 17:13:43 +00:00
Michael Natterer
c568322c43 app/display/gimpscalecombobox.c (gimp_scale_combo_box_mru_remove_last)
2004-11-03  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpscalecombobox.c
	(gimp_scale_combo_box_mru_remove_last)
	* app/widgets/gimpeditor.c (gimp_editor_add_action_button)
	* app/xcf/xcf-load.c (xcf_load_old_path): plugged some small leaks.
2004-11-03 11:50:37 +00:00
Øyvind Kolås
e4b3616a00 improve approximation of perspective tool\'s preview 2004-10-28 06:06:58 +00:00
Philip Lafleur
0b45edb7f3 Really fixed all cases of the perspective tool preview breaking with
2004-10-27  Philip Lafleur <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: Really fixed all cases
	of the perspective tool preview breaking with certain orientations by
	using triangles instead of quads.
2004-10-28 02:32:58 +00:00
Philip Lafleur
2f3073910c Hopefully fixed all cases of the perspective tool preview breaking with
2004-10-27  Philip Lafleur <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: Hopefully fixed all cases
	of the perspective tool preview breaking with certain orientations.
2004-10-28 00:38:23 +00:00
Michael Natterer
6711646648 Don't store human readable and translatable enum/flag strings in
2004-10-25  Michael Natterer  <mitch@gimp.org>

	Don't store human readable and translatable enum/flag strings in
	GEnumValue's and GTypeValue's fields but attach them to their
	GType using separate structs and utility functions:

	* tools/gimp-mkenums: added params and perl voodoo to support
	generating a second array of values, which is used by the
	Makefiles below to create and register arrays of value
	descriptions.

	* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
	arrays of translatable strings to/from enum and flags types. Added
	structs GimpEnumDesc and GimpFlagsDesc for that purpose.

	* libgimpbase/gimputils.[ch]: changed existing enum utility
	functions, added new ones and added a symmetric API for flags.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: changed *-enums.c generation rules
	accordingly.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c: regenerated.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimptemplateeditor.c
	* libgimpwidgets/gimppreviewarea.c: follow the enum utility
	function API changes.
2004-10-25 17:55:25 +00:00
Michael Natterer
e88a663631 app/actions/gradient-editor-commands.c irrelevant coding style and spacing
2004-10-25  Michael Natterer  <mitch@gimp.org>

	* app/actions/gradient-editor-commands.c
	* app/display/gimpdisplayshell-preview.c: irrelevant coding style
	and spacing cleanups.

	* app/widgets/gimpimageeditor.c: removed utility function
	gimp_image_editor_context_changed() and connect
	gimp_image_editor_set_image() directly using
	g_signal_connect_swapped().
2004-10-25 12:42:23 +00:00
Michael Natterer
ea1dc9ab9f added utility function gimp_ui_manager_get_action() which takes
2004-10-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added utility function
	gimp_ui_manager_get_action() which takes "group_name" and
	"action_name".

	* app/display/gimpdisplayshell-close.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: use it.
2004-10-16 17:29:42 +00:00
Sven Neumann
0b6f4114d8 added "message" function to the GimpProgress interface. Call
2004-10-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprogress.[ch]: added "message" function to the
	GimpProgress interface. Call gimp_message() if it is unimplemented.

	* app/plug-in/plug-in-progress.[ch]: added new function
	plug_in_progress_message() that passes the message to the current
	proc_frame's progress.

	* app/widgets/gimpthumbbox.c: implement GimpProgress::message.
	Just do nothing in the implementation. We don't want to see
	messages from file plug-ins that we use to create the thumbnails.

	* tools/pdbgen/pdb/message.pdb
	* app/pdb/message_cmds.c: if there's a current plug-in, dispatch
	the message by calling plug_in_progress_message().

	* app/display/gimpdisplayshell-close.c: fixed wrong types in
	function calls.
2004-10-14 15:15:03 +00:00
Sven Neumann
8300c550e3 app/widgets/Makefile.am app/widgets/widgets-types.h added a simple message
2004-10-13  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmessagedialog.[ch]: added a simple message
	dialog to avoid code duplication.

	* app/widgets/gimpmessagebox.c: set the border width to 12 pixels.

	* app/dialogs/file-save-dialog.c
	* app/dialogs/quit-dialog.c
	* app/display/gimpdisplayshell-close.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpactionview.c: use the new GimpMessageDialog.
2004-10-13 14:35:28 +00:00
Sven Neumann
be8240bc53 changed button label.
2004-10-13  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c
	(gimp_display_shell_close_dialog): changed button label.
2004-10-13 02:29:41 +00:00
Sven Neumann
64e4c06340 changed rounding.
2004-10-13  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c: changed rounding.
2004-10-13 01:56:06 +00:00
Michael Natterer
12280a31a1 keep the container of dirty images up to date.
2004-10-13  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay-foreach.c: keep the container of dirty
	images up to date.

	* app/dialogs/quit-dialog.c: fixed model/view behavior here, too.

	(both are still far from perfect)
2004-10-13 01:39:57 +00:00
Sven Neumann
e5fe5e7221 keep the time uptodate.
2004-10-13  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c
	(gimp_display_shell_close_dialog): keep the time uptodate.
2004-10-13 01:04:27 +00:00
Sven Neumann
92e7af4061 fixed unit handling. Right-align the labels displaying the cursor
2004-10-12  Sven Neumann  <sven@gimp.org>

	* app/dialogs/info-window.[ch]: fixed unit handling. Right-align
	the labels displaying the cursor position. Renamed the "Extended"
	tab to "Cursor". Renamed the API accordingly.

	* app/display/gimpdisplayshell-cursor.c: changed accordingly.
2004-10-12 20:14:25 +00:00
Michael Natterer
fb315d6ca7 app/display/gimpdisplayshell.c (gimp_display_shell_real_scaled)
2004-10-08  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_real_scaled)
	(gimp_display_shell_flush)
	* app/gui/gui-vtable.c (gui_display_create): always pass a
	GimpDisplay, not a GimpDisplayShell as "data" to
	gimp_ui_manager_update().

	* app/actions/actions.c (action_data_get_*): removed checks if the
	passed data is a GimpDisplayShell and temporarily added g_assert()
	to be sure. The assertions will be removed before 2.2.
2004-10-08 09:16:04 +00:00
Simon Budig
236cd65540 fill in the formula... :-) untabbified.
2004-10-07  Simon Budig  <simon@gimp.org>

	* app/actions/view-commands.c: fill in the formula...  :-)
	untabbified.

	* app/display/gimpdisplayshell-scale.c: Micro-Cleanup, untabbified.
2004-10-07 10:12:26 +00:00
Michael Natterer
a1ff75dedb removed the code which sets the new image on all contexts where the old
2004-10-06  Michael Natterer  <mitch@gimp.org>

	* app/actions/file-commands.c (file_revert_confirm_callback):
	removed the code which sets the new image on all contexts where
	the old image was set...

	* app/display/gimpdisplay-foreach.c (gimp_displays_reconnect):
	...and added it here so it happens for all calls of this function,
	also from the PDB. Fixes bug #154638.
2004-10-06 09:28:35 +00:00
Sven Neumann
e9e2e3f65a store the time when the image is first dirtied.
2004-10-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: store the time when the image is first
	dirtied.

	* app/display/gimpdisplayshell-close.c: tell the user what time
	period of changes will be lost when the image is not saved.
2004-10-05 23:42:35 +00:00
Sven Neumann
62b5c77c76 app/config/gimpguiconfig.[ch] added gimprc option "show-help-button".
2004-10-04  Sven Neumann  <sven@gimp.org>

        * app/config/gimpguiconfig.[ch]
        * app/config/gimprc-blurbs.h: added gimprc option "show-help-button".

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

        * app/dialogs/file-save-dialog.c
        * app/dialogs/image-new-dialog.c
        * app/dialogs/quit-dialog.c
        * app/display/gimpdisplayshell-close.c
        * app/widgets/gimphelp-ids.h: don't set help-ids on confirmation
        dialogs.

        * libgimpbase/gimpprotocol.[ch]
        * libgimp/gimp.[ch]: added boolean "show_help_button" to the
        config message.

        * app/plug-in/plug-in-run.c: pass the new preference to the plug-in.

        * libgimpwidgets/gimpdialog.[ch]: added new function that allows to
        set whether new dialogs should get a help button added.

        * app/gui/gui.c
        * libgimp/gimpui.c: call gimp_dialogs_show_help_button() according
        to the gimprc settings.
2004-10-04 16:21:52 +00:00
Michael Natterer
dbd941c9f7 dispatch GDK_Escape to GimpTool::key_press().
2004-10-01  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_tool_events): dispatch GDK_Escape to
	GimpTool::key_press().

	* app/tools/gimpcroptool.c (gimp_crop_tool_key_press)
	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_key_press):
	* app/tools/gimptransformtool.c (gimp_transform_tool_key_press):
	cancel the tool on <Escape>.
2004-10-01 15:15:14 +00:00
Sven Neumann
297b53a466 no need to include gimpdisplayshell-render.h here.
2004-10-01  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: no need to include
	gimpdisplayshell-render.h here.

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-render.[ch]

	* app/display/gimpdisplayshell.[ch]: added an API to highlight a
	rectangle (specified in image coordinates). Actually it doesn't
	highlight but dims the area outside the rectangle.

	* app/tools/gimpcroptool.c: use the new functionality to show the
	area to be cropped. Fixes bug #93360.
2004-10-01 09:50:04 +00:00
Michael Natterer
24f8d7e7c2 cleanup.
2004-09-27  Michael Natterer  <mitch@gimp.org>

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

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

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

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

	* app/pdb/paint_tools_cmds.c: regenerated.
2004-09-27 12:30:04 +00:00
Michael Natterer
b4ea222c23 Ported GimpNavigationView to use actions for its buttons:
2004-09-26  Michael Natterer  <mitch@gimp.org>

	Ported GimpNavigationView to use actions for its buttons:

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

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

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

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

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

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

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

	Removed #includes which are not needed any more.
2004-09-26 15:21:44 +00:00
Sven Neumann
5bf8abfaf5 changed mnemonic so that you can close an image w/o saving it by using
2004-09-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c: changed mnemonic so that
	you can close an image w/o saving it by using Ctrl-W Alt-W.
2004-09-25 17:33:30 +00:00
Michael Natterer
5aeac72ef1 added comment about not changing the silly "Qmask" string because it is
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-qmask.h: added comment about not changing the
	silly "Qmask" string because it is used to identify the Quick Mask
	in the XCF.

	* app/core/gimpchannel.c: implement GimpViewable::get_description()
	and return "Quick Mask" if it's the Quick Mask.

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c
	* app/core/core-enums.[ch]
	* app/core/gimpimage-qmask.c
	* app/display/gimpdisplayshell.c: s/QuickMask/Quick Mask/.
2004-09-25 16:52:49 +00:00
Sven Neumann
03d49fc16d resolved a mnemonics collision.
2004-09-21  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c
	(gimp_display_shell_close_dialog): resolved a mnemonics collision.
2004-09-21 09:48:04 +00:00
Sven Neumann
e2d8f7e48d make the "Save EXIF data" toggle insensitive when no EXIF data is present
2004-09-13  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/jpeg.c (save_dialog): make the "Save EXIF data"
	toggle insensitive when no EXIF data is present (bug #140042).

	* app/display/gimpdisplayshell-close.c: as suggested by the HIG,
	ask the user to save the image when the last display is being
	closed. Addresses some issues raised in bug #106726.
2004-09-13 21:58:27 +00:00
Michael Natterer
7d065360c7 configure.in added new directory app/dialogs and link libappdialogs.c into
2004-09-13  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

	* app/app_procs.c
	* app/actions/actions-types.h
	* app/actions/actions.c
	* app/actions/dialogs-actions.c
	* app/actions/dialogs-commands.c
	* app/actions/dockable-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/file-commands.c
	* app/actions/gradient-editor-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/templates-commands.c
	* app/actions/templates-commands.h
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.[ch]
	* app/tools/gimpcroptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.[ch]
	* app/tools/gimpvectortool.c
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* menus/toolbox-menu.xml.in
	* tools/authorsgen/authorsgen.pl: changed accordingly.
2004-09-13 15:15:23 +00:00
Simon Budig
4a75d7271e Added boolean parameter to gimp_dialog_factories_toggle to make it
2004-09-11  Simon Budig  <simon@gimp.org>

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

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

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

	Fixes bug #137057 (the discussion is in bug #152285)
2004-09-11 19:19:26 +00:00
Michael Natterer
567385a150 #define the constant crosshair size for the INTERSECTION grid style
2004-09-07  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-draw.c
	(gimp_display_shell_draw_grid): #define the constant crosshair
	size for the INTERSECTION grid style instead of using an eeky
	"const gint".
2004-09-07 19:08:55 +00:00
Sven Neumann
4fbc8764b4 libgimpbase/Makefile.am libgimpbase/gimpchecks.[ch] added
2004-09-03  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpchecks.[ch] added gimp_checks_get_shades().

	* app/base/temp-buf.c
	* app/display/gimpdisplayshell-render.c
	* libgimpwidgets/gimppreviewarea.c: use the new function instead
	of replicating these numbers in three different places.
2004-09-03 00:06:21 +00:00
Sven Neumann
3f4de431c1 light and dark check color were swapped for GIMP_CHECK_TYPE_GRAY_CHECKS.
2004-09-02  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c (check_combos): light and
	dark check color were swapped for GIMP_CHECK_TYPE_GRAY_CHECKS.

	* libgimpwidgets/gimppreviewarea.[ch]: added "check-size" and
	"check-type" properties and draw the checkerboard accordingly.
2004-09-02 15:39:07 +00:00
Sven Neumann
b9bd1bfa06 app/base/base-enums.[ch] moved GimpCheckSize and GimpCheckType enums to
2004-09-02  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.[ch]
	* libgimpbase/gimpbaseenums.[ch]: moved GimpCheckSize and
	GimpCheckType enums to libgimpbase. Correctly prefix the enum
	values.

	* app/base/temp-buf.c
	* app/config/gimpdisplayconfig.c
	* app/display/gimpdisplayshell-render.c
	* app/pdb/fileops_cmds.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.
2004-09-02 14:28:37 +00:00
Michael Natterer
2a67415c51 app/display/gimpdisplay.c gracefully handle progress calls after the
2004-09-01  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.c
	* app/widgets/gimpprogressdialog.c: gracefully handle progress
	calls after the widget is destroyed. Re-fixes bug #150194.
2004-09-01 15:26:48 +00:00
David Odin
b7f58e163e Renamed GimpPreviewSize to GimpViewSize.
* app/core/core-enums.h: Renamed GimpPreviewSize to GimpViewSize.

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

* app/actions/dockable-actions.c

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

* app/core/gimpundo.c

* app/display/gimpnavigationeditor.c

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

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

* app/widgets/gimpbrushselect.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpundoeditor.h
* app/widgets/gimpviewablebutton.c: Changed accordingly.
2004-08-29 11:58:05 +00:00
David Odin
ec4cc4f897 app/widgets/gimpnavigationpreview.c renamed these files to ...
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimpnavigationpreview.h: renamed these files to ...

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

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

* app/display/gimpnavigationeditor.c

* app/widgets/Makefile.am
* app/widgets/widgets-types.h: Changed accordingly.
2004-08-27 00:42:46 +00:00
David Odin
e91187ae86 app/widgets/gimppreview-popup.c renamed these files...
* app/widgets/gimppreview-popup.c
* app/widgets/gimppreview-popup.h: renamed these files...

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

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

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

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

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

* app/widgets/Makefile.am
* app/widgets/gimpbrushfactoryview.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpcellrendererviewable.h
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainertreeview-dnd.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimppatternfactoryview.c
* app/widgets/gimppreviewrenderer-utils.c
* app/widgets/gimppreviewrendererbrush.c
* app/widgets/gimppreviewrendererbrush.h
* app/widgets/gimppreviewrendererdrawable.c
* app/widgets/gimppreviewrendererdrawable.h
* app/widgets/gimppreviewrenderergradient.c
* app/widgets/gimppreviewrenderergradient.h
* app/widgets/gimppreviewrendererimage.c
* app/widgets/gimppreviewrendererimage.h
* app/widgets/gimppreviewrendererimagefile.c
* app/widgets/gimppreviewrendererimagefile.h
* app/widgets/gimppreviewrendererlayer.c
* app/widgets/gimppreviewrenderervectors.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimptoolview.c
* app/widgets/gimpview.c
* app/widgets/gimpview.h
* app/widgets/gimpviewablebutton.c
* app/widgets/widgets-enums.h
* app/widgets/widgets-types.h: Modified accordingly.
2004-08-25 22:31:44 +00:00
David Odin
54fa5a0af9 eradicate some more previews in favor of views.
* app/display/gimpnavigationeditor.[ch]: eradicate some more previews
  in favor of views.
2004-08-25 17:54:12 +00:00
David Odin
f168881c18 app/display/gimpnavigationview.c renamed these files to...
* app/display/gimpnavigationview.c
* app/display/gimpnavigationview.h: renamed these files to...

* app/display/gimpnavigationeditor.c
* app/display/gimpnavigationeditor.h: ... these files, and of course
  changed GimpNavigationView to GimpNavigationEditor since it is really
  inherited from GimpEditor anyway.

This will leave the gimp_navigation_view namespace for the renaming
from gimp_navigation_preview.

* app/display/Makefile.am
* app/display/display-types.h
* app/display/gimpdisplayshell-callbacks.c
* app/gui/dialogs-constructors.c: Changed accordlingly.
2004-08-25 16:02:10 +00:00
Michael Natterer
da34232a04 print bad '%' sequences literally instead of warning (g_warning() is for
2004-08-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-title.c
	(gimp_display_shell_format_title): print bad '%' sequences
	literally instead of warning (g_warning() is for programming
	errors only and must never be triggered by bad or intermediate
	user input). Fixes bug #150676
2004-08-25 14:38:49 +00:00
Sven Neumann
d52d54fe9d put the icon to the right for RTL layouts.
2004-08-24  Sven Neumann  <sven@gimp.org>

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

	* app/display/gimpdisplayshell-close.c
	* app/gui/quit-dialog.c: use a GimpMessageBox.
2004-08-24 21:42:29 +00:00
David Odin
cddf61a3e6 app/widgets/gimppreview.c renamed these two files to...
* app/widgets/gimppreview.c
* app/widgets/gimppreview.h: renamed these two files to...

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

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

* app/actions/palettes-commands.c

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

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

* app/tools/gimppaintoptions-gui.c

* app/widgets/Makefile.am
* app/widgets/gimpaction.c
* app/widgets/gimpactiongroup.c
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainergridview.h
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.c
* app/widgets/gimpdockbook.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimpnavigationpreview.h
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.c
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpviewabledialog.c
* app/widgets/widgets-types.h: changed accordingly.
2004-08-24 17:16:46 +00:00
Michael Natterer
57a3396d40 added virtual function gboolean GimpProgressInterface::is_active().
2004-08-11  Michael Natterer  <mitch@gimp.org>

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

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

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

	* app/plug-in/plug-in-progress.c: changed accordingly. Make sure
	we correctly handle the "cancel" connections of progress instances
	passed from other plug-ins.
2004-08-11 10:29:56 +00:00
Michael Natterer
502f9b71f3 app/core/gimpdrawable-blend.c some progress cleanup.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-blend.c
	* app/core/gimpprogress.c: some progress cleanup.

	* app/display/gimpstatusbar.c (gimp_statusbar_progress_start): no
	need to warn if there is already a progress active, just silently
	return NULL as all other GimpProgressInterface implementors.

	* app/plug-in/plug-in-progress.c: several progress fixes.
	It's still a mess.

	* plug-ins/common/url.c: don't show progress depending on
	run_mode. Run the actual file plug-in with the same run_mode we
	were invoked with.
2004-08-11 00:34:34 +00:00
Michael Natterer
02d2b990f5 Redid the whole internal progress stuff: don't pass around
2004-08-10  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

	* app/pdb/*_cmds.c: regenerated.
2004-08-10 18:47:21 +00:00
Michael Natterer
9dc8302647 make the cursor coordinates label insensitive when displaying out-of-image
2004-08-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.c: make the cursor coordinates label
	insensitive when displaying out-of-image coordinates.
2004-08-05 14:56:18 +00:00
Hans Breuer
3b3039148c build but *dont link* display-enums.obj, widget-enums.obj and
2004-07-31  Hans Breuer  <hans@breuer.org>

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

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

	* **/makefile.msc : updated

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

	* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
	drawable twice
	* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
	crashing on File/Import
2004-08-01 20:51:12 +00:00
Michael Natterer
4b582b481a Replaced the concept of having a boolean indicating if an undo step
2004-07-29  Michael Natterer  <mitch@gimp.org>

	Replaced the concept of having a boolean indicating if an undo
	step dirties the image by a bitfield indicating which parts
	of the image are dirtied:

	* app/core/core-enums.[ch]: reordered two values in enum
	GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask.

	The values of GimpDirtyMask are still questionable and will
	probably change...

	* app/core/gimpimage.[ch]: removed signal "undo_start" and added
	a GimpDirtyMask parameter to the "dirty" and "clean" signals.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced
	"gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass
	it to gimp_image_dirty().

	(gimp_image_undo_group_start): added *ugly* code which tries to
	figure GimpDirtyMask from the group's GimpUndoType and store it in
	the GimpUndoGroup. Call gimp_image_dirty() instead of the removed
	gimp_image_undo_start(). This means the undo group now dirties the
	image just like one of its undo steps, but that's no problem since
	undoing cleans it in the same way.

	* app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g

	(gimp_undo_pop): emit clean/dirty signals *before* performing the
	actual undo step so listeners can detach from the image before it
	is changed by undo.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a
	GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push().

	* app/core/gimpimagemap.[ch]: removed "gboolean interactive"
	because it makes no sense to use GimpImageMap noninteractively.
	Don't freeze()/thaw() undo while the image_map is active which
	fixes many ways of trashing the image's undo state but probably
	introduces new ways of doing evil things.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell-handlers.c: changed according
	to the GimpImage::clean()/dirty() signal changes. Small fixes
	in the quit dialog's dirty image container.

	* app/tools/gimptoolcontrol.[ch]: added member and API to
	set/get the dirty_mask.

	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: whenever setting "preserve" to
	FALSE, also set a "dirty_mask" which specifies on which image
	changes the tool wants to be canceled.

	* app/tools/tool_manager.c: removed "undo_start" connection and
	connect to both "dirty" *and* "clean" to check if the active_tool
	needs to be canceled. Cancel the tool only if the dirty_mask
	passed in the signal has common bits with the tool's dirty_mask.

	Fixes bug #109561 and probably opens some new ones...
2004-07-29 14:16:21 +00:00
Michael Natterer
69ac9e85ff Added support for motion event history as provided by some input device
2004-07-29  Michael Natterer  <mitch@gimp.org>

	Added support for motion event history as provided by some input
	device drivers. If you have a tablet driver supporting this,
	please try and report back.

	* app/display/gimpdisplayshell.h (struct GimpDisplayShell): added
	member "guint32 last_motion_time".

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_tool_events): remember the last_motion_time on
	button_press() and after motion() and ask the current device for
	its motion history; in motion(), if the active_tool asks for exact
	motions, check if the input device recorded a motion history and
	process the history instead of the motion event.

	(gimp_display_shell_get_time_coords): new utility function which
	gets GimpCoords from a GdkTimeCoord struct as used by the motion
	history.
2004-07-29 13:21:55 +00:00
Michael Natterer
d7a77398b9 emit "reconnect" *before* emitting scale and scroll events so listeners
2004-07-28  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
	emit "reconnect" *before* emitting scale and scroll events so
	listeners (the navigation view) can switch to the new image at the
	right time.
2004-07-28 16:16:39 +00:00
Michael Natterer
ee42d8f506 added still unused flags type GimpDirtyMask.
2004-07-28  Michael Natterer  <mitch@gimp.org>

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

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

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c: regenerated.
2004-07-28 11:50:20 +00:00
Michael Natterer
caabe7f334 removed GIMP_TYPE_COLOR.
2004-07-26  Michael Natterer  <mitch@gimp.org>

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

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

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpscanner.c
	* app/core/gimp-utils.c
	* app/core/gimpcontext.c
	* app/core/gimpgrid.c
	* app/display/gimpdisplayoptions.c
	* app/text/gimptext.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimppropwidgets.c: changed accordingly.
2004-07-26 19:56:47 +00:00
Michael Natterer
3153eced5d s/pause/resume/ in the API docs.
2004-07-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_resume):
	s/pause/resume/ in the API docs.
2004-07-22 12:05:36 +00:00
Michael Natterer
9357713a2b removed GimpConfigInterface typedef, added comments to typedefs which
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/config/config-types.h: removed GimpConfigInterface typedef,
	added comments to typedefs which don't belong here.

	* app/config/gimpconfig.h: added GimpConfigInterface typedef.

	* app/core/core-types.h
	* app/display/display-types.h: added commented out typedefs for
	types that live in config-types.h for obscure reasons.

	* app/core/core-types.h: reordered stuff to match the order in the
	API docs (makes keeping stuff in sync much easier).
2004-07-19 11:33:59 +00:00
Michael Natterer
147775d63d made gtk-doc even happier; clarified meaning of the "use_offsets"
2004-07-16  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-transform.c: made gtk-doc even
	happier; clarified meaning of the "use_offsets" parameter.
2004-07-16 12:41:05 +00:00
Sven Neumann
8c4b7b5aba app/display/gimpdisplayshell.c corrected API documentation, removed
2004-07-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdata.c:
	* app/display/gimpcanvas.c:
	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-transform.c: corrected API
	documentation, removed trailing whitespace.

	Please do always build the documentation if you add or change any
	gtk-doc comments.
2004-07-16 10:07:30 +00:00
William Skaggs
0787e0304f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpcanvas.c:
	* app/display/gimpdisplayshell-transform.c: added gtk-doc
	comments for all public functions that lack them.

	* app/display/gimpdisplayshell.c: added a couple of
	gtk-doc comments.
2004-07-15 23:02:52 +00:00
Michael Natterer
178d7d3ff1 massively changed: removed message_ids, the message mem chunk and all
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.[ch]: massively changed: removed
	message_ids, the message mem chunk and all signals. Added new
	function gimp_statusbar_replace() which updates a message without
	moving it to the top of the stack. Fixes bug #120175.

	* app/display/gimpdisplayshell-title.[ch]: renamed
	gimp_display_shell_update_title() to
	gimp_display_shell_title_update() and switched from pop()/push()
	to replace() so the title message keeps its place in the stack.
	Added new function gimp_display_shell_title_init() which push()es
	the title message to the stack.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): call
	gimp_display_shell_title_init() so the "title" message is at the
	bottom of the stack.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c: changed accordingly.
2004-07-14 16:37:13 +00:00
Michael Natterer
fe9d9be66b Code review & cleanup:
2004-07-14  Michael Natterer  <mitch@gimp.org>

	Code review & cleanup:

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

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

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

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

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

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

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

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

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

	* app/display/gimpdisplayshell-handlers.c
	* app/widgets/gimpselectioneditor.c: minor coding style cleanup.
2004-07-14 10:31:59 +00:00
Michael Natterer
2226ddf7e4 app/display/Makefile.am new files for gimp_display_shell_close() and its
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-close.[ch]: new files for
	gimp_display_shell_close() and its dialog & callback.

	* app/display/gimpdisplayshell.[ch]: removed from here.

	* app/actions/view-actions.c (view_close_view_cmd_callback):
	changed accordingly.
2004-07-14 00:15:57 +00:00
Michael Natterer
c5ec0d4f70 *** empty log message *** 2004-07-13 16:36:29 +00:00
Michael Natterer
1175a64b3f app/config/gimpconfig-dump.c applied patch from Dave Neary which adds %B
2004-07-13  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-dump.c
	* app/display/gimpdisplayshell-title.c
	(gimp_display_shell_format_title): applied patch from Dave Neary
	which adds %B which expands to (modified) if the image is
	dirty. Also added %A which expands to (clean) because we also have
	a short indicator for the clean image. Fixes bug #130943.
2004-07-12 23:36:45 +00:00
Michael Natterer
87c1722700 added an "id" CONSTRUCT_ONLY property. Some minor cleanup.
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.c: added an "id" CONSTRUCT_ONLY
	property. Some minor cleanup.
2004-07-12 11:43:00 +00:00
Sven Neumann
95e7d5ee0a removed images from the container when they become clean. Should move to
2004-07-12  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplay-foreach.c
	(gimp_displays_get_dirty_images): removed images from the
	container when they become clean. Should move to the Gimp object.

	* app/gui/quit-dialog.c: some cosmetic changes.
2004-07-12 11:12:19 +00:00
Hans Breuer
b56eb39ead updated app/actions/makefile.msc app/menus/makefile.msc : (new files)
2004-07-11  Hans Breuer  <hans@breuer.org>

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

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

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

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

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

	* plug-ins/common/screenshot.c : make it compile with msvc,
	but still no win32 specific implementation ...
2004-07-11 21:53:17 +00:00
Sven Neumann
e730bbb1f2 added new function gimp_displays_get_dirty_images().
2004-07-10  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplay-foreach.[ch]: added new function
	gimp_displays_get_dirty_images().

	* app/gui/quit-dialog.c: show a container treview of all dirty
	images in the quit dialog. Still work in progress...
2004-07-09 22:28:27 +00:00
Michael Natterer
a31bbed6c7 #define MIN and MAX values for GimpCoords.pressure, .tilt and .wheel.
2004-07-05  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: #define MIN and MAX values for
	GimpCoords.pressure, .tilt and .wheel.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_get_event_coords)
	(gimp_display_shell_get_device_coords): use the #defines instead
	of hardcoded magic values when CLAMP()ing event or device values.
2004-07-05 18:48:43 +00:00
Simon Budig
e7af53b0d3 app/actions/dialogs-commands.c app/display/gimpdisplayshell-dnd.c
2004-07-04  Simon Budig  <simon@gimp.org>

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

	* app/pdb/gradients_cmds.c: regenerated.

	(there is one issue left, see his patch at
	http://old.homeip.net/martin/gcc-2.95.diff, I did not
	copy the #define va_copy __va_copy, since I don't know
	what happens here.)
2004-07-04 21:27:09 +00:00
Sven Neumann
6423529b86 app/gui/Makefile.am new files implementing a clipboard for image data
2004-07-02  Sven Neumann  <sven@gimp.org>

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

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

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

	* app/core/gimpbuffer.c: cosmetics.

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

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

	* app/widgets/gimpselectiondata.c (gimp_selection_data_get_pixbuf):
	fixed the implementation.
2004-07-02 14:08:15 +00:00
Sven Neumann
bec9f9a670 app/core/core-enums.c app/display/display-enums.c app/paint/paint-enums.c
2004-06-30  Sven Neumann  <sven@gimp.org>

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

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

	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/display/gimpdisplayshell-dnd.[ch]
	* app/display/gimpdisplayshell.c: changed accordingly.
2004-06-30 14:47:23 +00:00
Sven Neumann
114f747f4c renamed the SVG related functions so that they deal with an anonymous data
2004-06-30  Sven Neumann  <sven@gimp.org>

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

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

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

	* app/widgets/gimpdnd.[ch]
	* app/widgets/widgets-enums.[ch]: added GIMP_DND_TYPE_PNG which isn't
	used yet.
2004-06-30 11:57:17 +00:00
Michael Natterer
4685112cff reordered drop destinations so vectors are preferred over SVG.
2004-06-29  Michael Natterer  <mitch@gimp.org>

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

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

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

	* app/pdb/paths_cmds.c: regenerated.

	* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
	to the paths dialog.
2004-06-29 13:34:16 +00:00
Michael Natterer
c5c63f31ee new utility function which opens an image, flattens it if needed and
2004-06-28  Michael Natterer  <mitch@gimp.org>

	* app/file/file-open.[ch] (file_open_layer): new utility function
	which opens an image, flattens it if needed and returns the only
	layer, converted for a passed destination image.

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_files): use the new function.
2004-06-28 21:42:19 +00:00
Michael Natterer
11dfbae2f6 renamed function gimp_controller_wheel_scrolled() to
2004-06-24  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

	* etc/controllerrc: add a keyboard controller which is configured
	to do the same as the removed gimp_paint_tool_key_press().
2004-06-24 10:16:08 +00:00
Michael Natterer
9fe8e84963 app/actions/view-actions.c added actions & callbacks to configure the
2004-06-22  Michael Natterer  <mitch@gimp.org>

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

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

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

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

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-zoom-follow-window-12.png: added new
	icon for the new display toggle button.
2004-06-22 16:31:27 +00:00
Sven Neumann
2670ce0bf8 libgimpwidgets/gimpwidgets.[ch] added new utility function
2004-06-21  Sven Neumann  <sven@gimp.org>

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

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

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

	* plug-ins/common/jpeg.c: display the file size in italic.
2004-06-21 13:18:50 +00:00
Philip Lafleur
c7364a64aa Changed "Zoom to Fit Window" command to "Fit Image in Window" and added
2004-06-20  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-scale.[ch]:
	* app/display/gimpnavigationview.[ch]:
	* app/actions/view-actions.c:
	* app/actions/view-commands.[ch]:
	* app/widgets/gimphelp-ids.h:
	* menus/image-menu.xml.in: Changed "Zoom to Fit Window" command
	to "Fit Image in Window" and added another command, "Fit Image
	to Window", that zooms according to the opposite dimension. Fixes
	bug #144597.
2004-06-20 12:09:03 +00:00
Sven Neumann
f7519497c6 minor code cleanup in gimp_statusbar_class_init() 2004-06-19 14:01:42 +00:00
Sven Neumann
af16921d9b Applied a patch from Geert Jordaens that implements the GtkStatusbar
2004-06-19  Sven Neumann  <sven@gimp.org>

	Applied a patch from Geert Jordaens that implements the
	GtkStatusbar functionality in GimpStatusbar so that we can redo it
	in order to fix bug #120175:

	* app/core/gimpmarshal.list: added VOID: UINT, STRING.

	* app/display/gimpstatusbar.[ch]: copied GtkStatusbar code.

	* app/display/gimpdisplayshell.c: changed accordingly.
2004-06-19 13:31:58 +00:00
Michael Natterer
c3a0a277e7 GtkUIManager makes the menu bar visible by default, hide it if
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c: GtkUIManager makes the menu bar
	visible by default, hide it if options->show_menubar is FALSE.
	Fixes bug #143243.
2004-06-17 12:19:02 +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
1082ee6b94 remember the last used GimpCursorFormat so changing the format in prefs
2004-06-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: remember the last used
	GimpCursorFormat so changing the format in prefs applies
	instantly, and not after the next tool change.

	* app/display/gimpdisplayshell-cursor.[ch]
	* app/tools/gimptool.[ch]
	* app/tools/gimptoolcontrol.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptransformtool.c: s/GdkCursorType/GimpCursorType/g
2004-06-14 10:19:39 +00:00
Philip Lafleur
01b53ad34f Transformation previews now use the selection mask if it is present.
2004-06-14  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: Transformation previews now
	use the selection mask if it is present.
2004-06-14 05:13:21 +00:00
Philip Lafleur
7b3cc62c52 use drawable_mask_bounds() for texture coordinates instead of the
2004-06-13  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-preview.c: use drawable_mask_bounds()
	for texture coordinates instead of the drawable's width and height.
2004-06-13 15:22:51 +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
Philip Lafleur
afb3f5c16c Fixed incorrect logic that caused perfect-but-slow pointer tracking to be
2004-06-12  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/display/gimpdisplayshell-callbacks.c: Fixed incorrect logic that
	caused perfect-but-slow pointer tracking to be used in tools that
	don't request exact mode.

	* app/display/Makefile.am:
	* app/display/gimpdisplayshell-appearance.[ch]:
	* app/display/gimpdisplayshell-callbacks.c:
	* app/display/gimpdisplayshell.[ch]:
	* app/display/gimpdisplayshell-preview.[ch]: added
	* app/tools/gimpperspectivetool.c:
	* app/tools/gimprotatetool.c:
	* app/tools/gimpscaletool.c:
	* app/tools/gimpsheartool.c:
	* app/tools/gimptransformoptions.[ch]:
	* app/tools/gimptransformtool.[ch]: Implemented live transformation
	previews, available through tool options. Fixes bug #108172.
2004-06-13 01:37:29 +00:00
Michael Natterer
7fd7442582 ported some forgotten #if 0'ed GtkItemFactory stuff to GtkUIManager.
2004-06-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_events): ported some forgotten #if 0'ed
	GtkItemFactory stuff to GtkUIManager.
2004-06-12 18:50:44 +00:00
Michael Natterer
a458622eb0 add the file DND destination before all others so the DND code will
2004-06-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_init): add
	the file DND destination before all others so the DND code will
	implicitly use its destination properties. Works around Konqueror
	offering only file MOVE, not COPY and fixes bug #144168.
2004-06-12 18:31:49 +00:00
Simon Budig
39614b34a6 renamed tool_manager_arrow_key_active to tool_manager_key_press_active.
2004-06-12  Simon Budig  <simon@gimp.org>

	* app/tools/tool_manager.[ch]: renamed
	tool_manager_arrow_key_active to tool_manager_key_press_active.

	* app/display/gimpdisplayshell-callbacks.c: Also dispatch
	GDK_Return/KP_Enter/BackSpace/Delete to the tools "arrow_key"
	member of GimpTool probably should be renamed.

	* app/tools/gimpvectortool.c: Use Enter/Return to convert the
	current path to a selection, use Backspace/Delete to delete the
	currently active anchors in a path.

	Implemented on Jimmacs request - thanks for being a great host  :)
2004-06-12 18:03:48 +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
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
4e9c58a589 copy the merged layer, not the first one. Preserve the type of the layer
2004-06-02  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_files): copy the merged layer, not the
	first one. Preserve the type of the layer to make e.g. dropping an
	XCF with a single text layer work.
2004-06-01 23:49:50 +00:00
Michael Natterer
ff2f6eb09f accept file/uri drops.
2004-06-02  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_init): accept
	file/uri drops.

	* app/display/gimpdisplayshell-dnd.[ch]
	(gimp_display_shell_drop_files): open any kind of image and turn
	it into a single layer which is added to the image (suggested by
	Antenne Springborn).
2004-06-01 23:14:28 +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
Sven Neumann
4416a868d6 fixed handling of grid offsets in the grid drawing routine.
2004-05-27  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid):
	fixed handling of grid offsets in the grid drawing routine.
2004-05-27 14:51:44 +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
Sven Neumann
84db7b133b removed debugging output.
2004-05-24  Sven Neumann  <sven@gimp.org>

	* app/display/gimpscalecombobox.c
	(gimp_scale_combo_box_mru_remove_last): removed debugging output.
2004-05-24 14:16:25 +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
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
68c6e93775 Added GimpViewable infrastructure which enables migrating from TempBuf to
2004-05-13  Michael Natterer  <mitch@gimp.org>

	Added GimpViewable infrastructure which enables migrating from
	TempBuf to GdkPixbuf for both providing and getting previews:

	* app/core/gimpviewable.[ch]: added new virtual functions
	GimpViewable::get_pixbuf() and GimpViewable::get_new_pixbuf()
	which are implemented exactly as get_preview() and
	get_new_preview() except that get_new_pixbuf() has a default
	implementation which creates the pixbuf from a TempBuf.

	Renamed public functions _get_preview_pixbuf() and
	_get_new_preview_pixbuf() to _get_pixbuf() and _get_new_pixbuf().

	Added gimp_viewable_get_dummy_pixbuf() and use it from
	gimp_viewable_get_dummy_preview().

	* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
	* app/display/gimpdisplayshell.c (gimp_display_shell_update_icon)
	* app/gui/resize-dialog.c (resize_dialog_new): changed accordingly.
2004-05-13 12:15:10 +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
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
Sven Neumann
7a8a956e68 added 1 pixel horizontal padding around the label.
2004-05-08  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.c (gimp_statusbar_resize_cursor):
	added 1 pixel horizontal padding around the label.
2004-05-07 23:45:29 +00:00
Sven Neumann
4722267d30 renamed struct member combo to unit_combo. Place the combobox into the
2004-05-08  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.[ch]: renamed struct member combo to
	unit_combo. Place the combobox into the cursor frame.
2004-05-07 23:31:01 +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
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
Michael Natterer
29e4cf347b Fix bug #141719:
2004-05-04  Michael Natterer  <mitch@gimp.org>

	Fix bug #141719:

	* app/tools/gimpmovetool.c (gimp_move_tool_motion): use RINT()
	instead of ROUND() to round double coords to guide positions.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): pass RINT()-rounded
	coords to gimp_display_shell_update_cursor() instead of implicitly
	truncating by casting to int.
2004-05-04 13:09:39 +00:00
Michael Natterer
9377b26ebc added help IDs to all actions representing the toplevel popups and menus
2004-05-02  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

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

	* app/widgets/gimptoolbox.c: ported the code which dynamically
	updates the tool button tooltips on accelerator changes to
	GtkAction. Disabled the whole stuff because GTK+ lacks
	gtk_action_get_accel_closure().
2004-05-02 08:56:07 +00:00
Michael Natterer
4654280114 Switch from GtkItemFactory to GtkUIManager. The migration is almost
2004-04-29  Michael Natterer  <mitch@gimp.org>

	Switch from GtkItemFactory to GtkUIManager. The migration is
	almost complete, still stuff missing/incomplete, definitely added
	a bunch of new bugs...

	* app/actions/*-commands.[ch]: converted all callback from
	GtkItemFactory callbacks to GtkAction callbacks.

	* app/actions/debug-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/help-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/qmask-actions.c
	* app/actions/tool-options-actions.c: various fixes.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: move everything from
	GtkItemFactory to GtkUIManager.

	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
	Needed because the action callbacks don't have a widget parameter
	and sometimes we need a parent window for showing dialogs.

	* app/gui/Makefile.am
	* app/gui/brushes-menu.[ch]
	* app/gui/buffers-menu.[ch]
	* app/gui/channels-menu.[ch]
	* app/gui/colormap-editor-menu.[ch]
	* app/gui/dialogs-menu.[ch]
	* app/gui/documents-menu.[ch]
	* app/gui/error-console-menu.[ch]
	* app/gui/fonts-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/images-menu.[ch]
	* app/gui/layers-menu.[ch]
	* app/gui/palette-editor-menu.[ch]
	* app/gui/palettes-menu.[ch]
	* app/gui/patterns-menu.[ch]
	* app/gui/qmask-menu.[ch]
	* app/gui/templates-menu.[ch]
	* app/gui/vectors-menu.[ch]: removed these files.

	* app/gui/gui.c: create a global UI manager for the image popup
	menu and the toolbox menubar.

	* app/gui/menus.[ch]: removed all GtkItemFactory code.

	* app/gui/image-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
	setup_funcs.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/tool-options-menu.c: don't use the macros from menus.h
	any more, they are gone.

	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
	menu entries.

	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
	gimp_ui_manager_update/g

	* app/widgets/gimpuimanager.[ch]: added API to get an action
	group by name.

	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
	entries being NULL.

	* app/widgets/gimpactiongroup.c: make sure booleans set using
	g_object_set() only have TRUE or FALSE values.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
	code and enable the #if 0'ed UI manager stuff.

	* menus/gradient-editor-menu.xml: fixed typos.

	* menus/image-menu.xml: duplicate everything so we have both
	an image menubar and an image popup menu. Badly cries for an
	XSL processor.

	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-29 12:52:29 +00:00
Michael Natterer
1071842535 remember and ref the created widgets. Added gimp_ui_manager_ui_popup()
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: remember and ref the created
	widgets.  Added gimp_ui_manager_ui_popup() which pops up a GtkMenu
	with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is
	called on popdown.

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize):
	don't forget to free the list of managed UIs.

	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel
	to the to-be-removed GtkItemFactory stuff.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly and added
	#if 0'ed code which actually uses all the UI managers.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell.c
	* app/gui/gui-vtable.c: disabled some gimp_ui_manager_update()
	calls because they were invoking toggle and radio callbacks
	which still have the wrong signature.
2004-04-22 17:14:22 +00:00
Michael Natterer
0b8c4b3ec9 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager
2004-04-21  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

	* app/display/gimpdisplay.c
	* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 16:33:17 +00:00
Michael Natterer
25589863a3 app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.c
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimpcontainertreeview.c: removed runtime version
	checks and workarounds for bugs which are fixed in GTK+ 2.4.

	* app/widgets/gimpfiledialog.c
	(gimp_file_dialog_selection_changed): added runtime check for GTK+
	2.4.1 and work around GtkFileChooser's missing "update_preview"
	functionality for multiple selections if the dependency is not
	met.

	* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
	(gimp_menu_button_position): call gtk_menu_set_monitor() until
	bug #139187 is fixed.
2004-04-15 16:54:44 +00:00
Michael Natterer
b80d76ab50 update the whole image.
2004-04-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_real_mode_changed): update the
	whole image.

	* app/display/gimpdisplay-handlers.c: removed obsolete
	"mode_changed" and "colormap_changed" handlers because GimpImage's
	default handlers already update the whole image.
2004-04-05 15:38:26 +00:00
Sven Neumann
f87c500007 app/display/gimpdisplayshell-callbacks.c
2004-04-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-draw.[ch] pass the bounding box of
	the exposed area to gimp_display_shell_draw_grid() and draw only
	the relevant part of the grid. Fixes bug #138606.
2004-04-04 17:17:40 +00:00
Sven Neumann
b179d2a76b Cache the GC for drawing the grid as suggested in bug #138081:
2004-04-04  Sven Neumann  <sven@gimp.org>

	Cache the GC for drawing the grid as suggested in bug #138081:

	* app/display/gimpdisplayshell.[ch]: added a grid_gc member to
	GimpDisplayShell.

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_grid_notify_handler)
	(gimp_display_shell_disconnect): invalidate the grid GC.

	* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid):
	use the cached grid_gc. Also applied the fix that Pedro Gimeno did
	for bug #138606.
2004-04-04 15:53:21 +00:00
Michael Natterer
a666668ce8 call gimp_display_shell_expose_full() so the whole canvas gets cleared
2004-03-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
	call gimp_display_shell_expose_full() so the whole canvas gets
	cleared when reverting the image.
2004-03-22 13:12:07 +00:00
Michael Natterer
e0d1ddb070 added run-time version check and do the workaround for bug #136636 only if
2004-03-21  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_events): added run-time version
	check and do the workaround for bug #136636 only if
	the Gtk+ version is < 2.2.5.

	* m4macros/gimp-2.0.m4: require gimp >= 2.0.0
2004-03-21 15:58:48 +00:00
Pedro Gimeno
9127a54dec Fixed several off-by-one problems in display:
2004-03-20  Pedro Gimeno  <pggimeno@wanadoo.es>

	Fixed several off-by-one problems in display:

	* app/display/gimpdisplayshell.h (PROJ_ROUND): New macro to apply
	to a float the same rounding method as the one used when rendering.
	(SCALEX, SCALEY): Use PROJ_ROUND instead of truncating.

	* app/display/gimpdisplayshell-transform.c
	(gimp_display_shell_transform_xy): Accept gdouble image coordinates
	even if the returned screen coordinates are integer. Use PROJ_ROUND
	instead of (gint) to apply proper rounding. Fixes bug #137566.

	* app/display/gimpdisplayshell-transform.h
	(gimp_display_shell_transform_xy): changed accordingly.

	* app/display/gimpdisplayshell-draw.c
	* app/tools/gimpdrawtool.c: make sure everywhere that PROJ_ROUND
	is used either directly or through gimp_display_shell_transform_xy,
	instead of using arbitrary rounding methods.
2004-03-20 21:59:41 +00:00
Sven Neumann
520ee8b3ac added gimp_text_layer_set(), a function that calls g_object_set() on the
2004-03-19  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.[ch]: added gimp_text_layer_set(), a
	function that calls g_object_set() on the text-layer's text object
	and pushes an undo step.

	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
	use the new function.
2004-03-19 22:12:18 +00:00
Michael Natterer
2e2e65f841 added runtime check for GTK+ >= 2.4.0 and make sure the menubar's accels
2004-03-19  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): added
	runtime check for GTK+ >= 2.4.0 and make sure the menubar's accels
	can be invoked even if the menubar is invisible (workaround for
	bug #137151).
2004-03-19 12:52:27 +00:00
Sven Neumann
17679a610b added a missing call to gimp_image_flush().
2004-03-18  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
	added a missing call to gimp_image_flush().

	* app/tools/gimptexttool.c: propagate text changes to the tool
	options.

	* app/text/gimptextlayer.c: made "text", "auto-rename" and
	"modified" properties of the text layer and copy them when
	duplicating a text layer.

	* app/text/gimptextlayer-xcf.[ch]: added utility functions to
	convert the new properties to flags to be saved in the XCF file.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-private.h
	* app/xcf/xcf-save.c: load and save text layer properties.
	Disabled warnings about unknown properties for stable branches.
2004-03-18 15:27:23 +00:00
Sven Neumann
f67c16ec60 removed all idle handling here. Changes to the text-layer's text object
2004-03-14  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.[ch]: removed all idle handling here.
	Changes to the text-layer's text object all applied synchronously.

	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptextlayer-transform.c: removed now obsolete calls
	to gimp_text_layer_flush().

	* app/tools/gimptexttool.[ch]: queue up changes to the proxy text
	object and apply them in one go from a low-priority idle handler.
	This is basically what GimpTextLayer used to do.
2004-03-14 18:48:00 +00:00
Sven Neumann
f81e2f3d68 implement GimpDrawable functions that affect the tiles and mark the text
2004-03-13  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.[ch]: implement GimpDrawable functions
	that affect the tiles and mark the text layer as modified. Added
	new function gimp_drawable_is_text_layer() that checks whether a
	drawable is an unmodified text layer.

	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
	use gimp_drawable_is_text_layer() and only set the text color if the
	text layer is unmodified. Fixes bug #136623.
2004-03-13 15:07:33 +00:00
Sven Neumann
8a2b0af371 only set the text layer's color if a color is being dropped. Fixes crash
2004-03-12  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
	only set the text layer's color if a color is being dropped. Fixes
	crash on pattern drops (bug #136645).
2004-03-12 00:50:36 +00:00
Michael Natterer
423837e26e redid last change so it calls tool_manager_cursor_update_active() *before*
2004-03-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): redid last change so it
	calls tool_manager_cursor_update_active() *before*
	tool_manager_button_press_active(). Removes the ugly
	"force_cursor_updating" boolean again and adds even more ugly code
	duplication instead.
2004-03-10 17:52:56 +00:00
Michael Natterer
a15f6489e8 added new local state "gboolean force_cursor_updating" which makes the
2004-03-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): added new local state
	"gboolean force_cursor_updating" which makes the function call
	tool_manger_cursor_update_active() even though a mouse button is
	pressed. Fixes tool cursors in click-to-focus mode.  Reported by
	Michael Schumacher.
2004-03-10 17:41:41 +00:00
Michael Natterer
2b7101979a work around bug #136636 (Win32 only) and ask the current device for its
2004-03-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_events): work around bug #136636 (Win32 only)
	and ask the current device for its modifier state in order to fill
	in the missing GDK_BUTTON*_MASK bits in GdkEventKey::state.
2004-03-10 17:17:15 +00:00
Michael Natterer
4f59b04454 disabled debugging output when pushing/popping the move too using <space>.
2004-03-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: disabled debugging
	output when pushing/popping the move too using <space>.
2004-03-10 15:32:27 +00:00
Simon Budig
70671753ae app/base/cpu-accel.c app/display/gimpdisplayshell-dnd.c
2004-03-10  Simon Budig  <simon@gimp.org>

	* app/base/cpu-accel.c
	* app/display/gimpdisplayshell-dnd.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpvectors-import.c: Removed, disabled or
	conditionalized some debug output.

	There still is debug output when pushing/popping the move tool
	via space bar. Mitch wanted to look at that.
2004-03-10 15:10:34 +00:00
Sven Neumann
6792fc429d removed some obsolete headers 2004-03-08 16:40:46 +00:00
Sven Neumann
92f46813e0 redone this change. We should probably add a GimpMessageDialog to avoid
2004-03-08  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c: redone this change. We should
	probably add a GimpMessageDialog to avoid duplicating this code
	every so often.
2004-03-08 16:34:09 +00:00
Dave Neary
ac3b82f5a4 First attempt to resolve bug #107009. This changes the wording on the
2004-03-08  Dave Neary  <bolsh@gimp.org>

        * app/display/gimpdisplayshell.c: First attempt to resolve bug
        #107009. This changes the wording on the buttons to "Discard
        changes" and "Cancel" when closing an insaved image. However I
        think the absence of icons is a but ugly. I would like to add
        respectively the icons from GTK_STOCK_DELETE and GTK_STOCK_CANCEL
        to these two buttons.
2004-03-08 15:12:50 +00:00
Sven Neumann
cdc2f0ded6 check display->shell before using it. It might be NULL if the function is
2004-02-26  Sven Neumann  <sven@gimp.org>

	* app/display/gimpprogress.c (gimp_progress_end): check
	display->shell before using it. It might be NULL if the function
	is being called from gimp_exit().

	* app/app_procs.c (app_exit_after_callback): added back the call
	to exit() but only for stable releases. See my comments in the
	code to understand the reasons.
2004-02-26 14:01:57 +00:00
Michael Natterer
eb7f99bb8f added #defines for GimpCoords' default pressure, tilt and wheel values.
2004-02-23  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added #defines for GimpCoords' default
	pressure, tilt and wheel values.

	* app/display/gimpdisplayshell-callbacks.c
	* app/paint/gimppaintcore-stroke.c
	* app/text/gimptext-vectors.c
	* tools/pdbgen/pdb/paint_tools.pdb: use them. Fixes lots more
	buggy default values for tilt (in fact all of them were wrong).

	* app/pdb/paint_tools_cmds.c: regenerated.
2004-02-23 22:36:50 +00:00
Simon Budig
8b18fc8547 corrected the value ranges and default values for GDK_AXIS_XTILT and
2004-02-23  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: corrected the
	value ranges and default values for GDK_AXIS_XTILT and
	GDK_AXIS_YTILT. Now the ink-tool behaves sane with a mouse
	again  :)
2004-02-23 20:30:44 +00:00
Michael Natterer
02065884f2 return the snapped coordinates as gdouble, not gint because we must not
2004-02-23  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-snap.[ch]: return the snapped coordinates as
	gdouble, not gint because we must not round the unsnapped axis
	if only one axis snapped.

	* app/display/gimpdisplayshell.[ch] (gimp_display_shell_snap_coords):
	changed accordingly. Added boolean return value indicating "snapped".

	* app/display/gimpdisplayshell-cursor.[ch]
	(gimp_display_shell_update_cursor): take both display_x and _x and
	(possibly snapped) image_x and _y. Use the snapped values for the
	statusbar and the unsnapped ones for updating the info_window.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): applied modified patch
	from Simon Budig which moves guide/grid snapping out of the
	button_press/motion/button_release handlers and *always* snaps
	the image_coords if the active_tool wants them to be snapped.
	Makes sure that e.g. the brush preview is drawn at the right
	place and fixes bug #134284.

	Also pass both display_coords and image_coords to
	gimp_display_shell_update_cursor().
2004-02-23 18:23:31 +00:00
Michael Natterer
799ea1f107 themes/Default/images/Makefile.am
2004-02-19  Michael Natterer  <mitch@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-display-filter-16.png
	* themes/Default/images/stock-display-filter-24.png
	* libgimpwidgets/gimpstock.[ch]: added Jimmac's glasses.

	* app/display/gimpdisplayshell-filter-dialog.c
	* app/gui/image-menu.c: and use them.
2004-02-19 16:51:44 +00:00
Simon Budig
097801d7a7 app/config/gimpguiconfig.[ch] Added new GUI option: snapping distance
2004-02-18  Simon Budig  <simon@gimp.org>

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h: Added new GUI option: snapping distance

	* app/gui/preferences-dialog.c: add a preferences widget

	* app/tools/gimpmovetool.c
	* app/display/gimpdisplayshell.c: use it for snapping.
2004-02-18 20:31:11 +00:00
Simon Budig
40ac20ff92 app/display/gimpdisplayshell.c Adjusted snapping distance to 8 pixels,
2004-02-18  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.c
	* app/tools/gimpmovetool.c: Adjusted snapping distance
	to 8 pixels, probably should be a preferences option.

	* app/tools/gimppainttool.c: Do not center the start and end
	of a straight line to the center of an image-pixel unless
	the brush mode is GIMP_BRUSH_HARD. Fixes bug #134410.
2004-02-18 18:37:49 +00:00
Michael Natterer
361369bcfa disconnect from the correct config objects. Fixes bug #134694.
2004-02-18  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_disconnect): disconnect from the correct
	config objects. Fixes bug #134694.
2004-02-18 02:33:49 +00:00
Sven Neumann
1c8b260864 fixed my last change here; of course only the guide GCs need a stipple
2004-02-16  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): fixed my last
	change here; of course only the guide GCs need a stipple pattern.
2004-02-16 12:03:52 +00:00
Michael Natterer
25b81b1570 Fixed lots of QuickMask brokenness by letting the image adjust its
2004-02-14  Michael Natterer  <mitch@gimp.org>

	Fixed lots of QuickMask brokenness by letting the image adjust
	its qmask_state automatically:

	* app/core/gimpimage-qmask.h: #define GIMP_IMAGE_QMASK_NAME "Qmask".
	Use the define in all files below.

	* app/core/gimpimage.[ch]: split gimp_image_drawable_add,_remove()
	into separate handlers for layers and channels. Added a
	"name_changed" handler for all channels. In the channel "add",
	"remove" and "name_changed" handlers, check if it was a channel
	named "Qmask" that was added, removed or renamed and call
	gimp_image_set_qmask_state() accordingly.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]
	* app/core/gimpundo.c: removed all Qmask undo code because the image
	does the right thing without undo interaction now.

	* app/core/gimpimage-qmask.c (gimp_image_set_qmask_state): set
	gimage->qmask_state early so we can return early when called
	recursively. Removed calls to gimp_image_undo_push_image_qmask().
	Returned "removed" callback (it was utterly broken the way it was
	implemented).

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_qmask_toggled): check if the image's
	qmask state needs to be changed before changing it.

	* app/xcf/xcf-load.c (xcf_load_channel): removed code which
	recognized the qmask. GimpImage does this automatically now.

	* app/gui/qmask-commands.c: cleanup.

	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
	destroy the "/Select/By Color" and "/Select/Toggle QuickMask" menu
	items.

	* app/widgets/image-menu.c (image_menu_update): changed accordingly.
2004-02-14 15:37:23 +00:00
Simon Budig
ae81af14f4 make the snapping width a parameter of the snapping functions.
2004-02-13  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-snap.[ch]: make the snapping width a
	parameter of the snapping functions.

	* app/display/gimpdisplayshell.c: make sure that the snapping
	width always is 5 pixels in the view coordinates.

	Fixes bug #134285
2004-02-13 13:31:16 +00:00
Sven Neumann
5f91135389 use GDK_CAP_NOT_LAST as the cap_style for all canvas drawing.
2004-02-12  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): use
	GDK_CAP_NOT_LAST as the cap_style for all canvas drawing.
2004-02-12 16:01:18 +00:00
Sven Neumann
b9f19e30a9 when dropping a color on a text layer, change the text color. This is a
2004-02-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_bucket_fill): when dropping a color on a text
	layer, change the text color. This is a quick hack; we should make
	filling a drawable a virtual method that can be overridden by the
	text layer.
2004-02-11 21:42:22 +00:00
Hans Breuer
5cbb416a91 new file to keep common definitions for the msc build use common
2004-02-07  Hans Breuer  <hans@breuer.org>

	* gimpdefs.msc : new file to keep common definitions for the msc build
	* **/makefile.msc : use common defintions, e.g. GIMP_VER
	* Makefile.am : add the former to EXTRA_DIST
2004-02-07 23:01:33 +00:00
Michael Natterer
9304d27d00 intersect the passed in area with the real area of the image in display
2004-02-07  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-draw.c
	(gimp_display_shell_draw_area): intersect the passed in area with
	the real area of the image in display coordinates and render the
	projection only if there actually is an intersection.
	Use gimp_rectangle_intersect() instead of handmade CLAMP()
	constructs. Fixes bug #113142.
2004-02-07 01:41:30 +00:00
Michael Natterer
bfe203c2e2 removed all drawing functions. The file was still too large.
2004-02-07  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: removed all drawing functions.
	The file was still too large.

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-draw.[ch]: new files containing
	the drawing functions.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/tools/gimpmovetool.c: changed #includes accordingly.

	* app/display/gimpdisplay-handlers.c
	(gimp_display_size_changed_handler): added some #if 0'ed code I'm
	not sure about. Actually, some of the handlers in this file could
	need the same code, so it could be abstracted as
	gimp_display_stop_draw() or something. Please have a look.
2004-02-07 00:16:52 +00:00
Michael Natterer
561a60b010 fixed integer/boolean confusion: s/0/FALSE/.
2004-02-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_mask_bounds):
	fixed integer/boolean confusion: s/0/FALSE/.

	(gimp_display_shell_draw_cursor): draw the cursor only if
	shell->have_cursor is TRUE.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_expose): call the above unconditionally.
2004-02-05 23:55:03 +00:00
Michael Natterer
d88c150c4b use gdouble instead of gfloat for x and y scale factors so gfloat's
2004-02-04  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-render.c (struct RenderInfo)
	(render_image_accelerate_scaling): use gdouble instead of gfloat
	for x and y scale factors so gfloat's limited precision can't add
	up to off-by-one pixel errors. Fixes display artefacts (missing
	updates) at the bottom and right sides of updated areas at certain
	irrational zoom factors like 1:3.
2004-02-04 02:00:04 +00:00
Sven Neumann
0deb5ccf3f improved dialog layout.
2004-02-03  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_dialog): improved dialog layout.
2004-02-03 15:51:25 +00:00
David Odin
99f0b5a4d4 gimp_canvas_draw_segments(): Do not call gdk_draw_segments() with more
* app/display/gimpcanvas.c: gimp_canvas_draw_segments():
	  Do not call gdk_draw_segments() with more than 32000 segments at a
	  time, because XDrawSegments should never be called with more
	  segments than that. This should really be fixed at the gdk level,
	  though.

	This fixes bug #122026.
2004-02-02 18:38:24 +00:00
Simon Budig
1ab2c64a12 initialize variable to avoid stupid compiler warning.
2004-02-01  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-scale.c: initialize variable
	to avoid stupid compiler warning.
2004-02-01 00:36:53 +00:00