Commit Graph

328 Commits

Author SHA1 Message Date
Sven Neumann 2670ce0bf8 libgimpwidgets/gimpwidgets.[ch] added new utility function
2004-06-21  Sven Neumann  <sven@gimp.org>

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

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

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

	* plug-ins/common/jpeg.c: display the file size in italic.
2004-06-21 13:18:50 +00:00
Sven Neumann 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 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 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 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
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
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 a08d648a47 added a stock icon for "view-zoom-1-1".
2004-05-10  Sven Neumann  <sven@gimp.org>

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

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

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

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

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

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

	* app/display/gimpstatusbar.[ch]
	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c: do not explicitely resize
	the statusbar cursor label, connect to GimpDisplayShell::scaled
	instead. Added a GimpScaleComboBox to the status bar.
2004-05-10 10:33:21 +00:00
Michael Natterer 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
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 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 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
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
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
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
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
Simon Budig 645a1ab652 Store the zoom factor as float, not as a ratio.
2004-01-29  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
	float, not as a ratio.

	* app/display/gimpdisplayshell-scale.[ch]: change the API to
	expose the Float instead a weirdly encoded integer. Implement
	functions to get a ratio from the scale factor. Implement a set
	as presets as discussed on the mailinglist. Changed Zoom->Other
	dialog to enable entering a float.

	* app/display/gimpdisplayshell-title.c
	* app/display/gimpnavigationview.c
	* app/gui/image-menu.c
	* app/gui/info-window.c
	* app/tools/gimpmagnifytool.c: changed accordingly.

	* app/core/gimp.[ch]
	* app/display/gimpdisplay.[ch]
	* app/gui/gui-vtable.c
	* app/widgets/widgets-enums.h: Made the various display-creating
	functions accept a float for the scale. Introduce a new
	GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
	floats instead of weird integers.

	* app/core/gimp-edit.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/file/file-open.c
	* app/gui/image-commands.c
	* app/gui/view-commands.[ch]
	* tools/pdbgen/pdb/display.pdb
	* app/widgets/gimpimageview.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly

	* app/pdb/display_cmds.c: regenerated
2004-01-29 22:22:29 +00:00
Michael Natterer dfe0d687d7 some cosmetics while reviewing the code.
2004-01-03  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c: some cosmetics while reviewing
	the code.
2004-01-03 20:51:36 +00:00
Michael Natterer 92a3a65e8e added gimp_display_shell_drop_svg() (untested because there is no place to
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.[ch]: added
	gimp_display_shell_drop_svg() (untested because there is no place
	to drag an SVG from yet...).

	* app/display/gimpdisplayshell.c (gimp_display_shell_init):
	connect SVG drops to the new callback.
2003-12-21 22:09:03 +00:00
Sven Neumann 5bfda5661f set filter_idle_id to 0, not NULL.
2003-11-24  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_destroy):
	set filter_idle_id to 0, not NULL.
2003-11-24 12:43:59 +00:00
Michael Natterer 32bc599dc3 forgot to declare gimp_color_display_stack_clone().
2003-11-21  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolordisplaystack.h: forgot to declare
	gimp_color_display_stack_clone().

	* app/display/gimpdisplayshell.[ch]: replaced the GList of
	GimpColorDisplays by a single GimpColorDisplayStack.

	* app/display/gimpdisplayshell-render.c
	(gimp_display_shell_render): changed accordingly.

	* app/display/gimpdisplayshell-filter.[ch]: reduced API to a
	single function, gimp_display_shell_filter_set(), which exchanges
	the whole filter stack. Idle update the display on
	GimpColorDisplayStack::update().

	* app/display/gimpdisplayshell-filter-dialog.[ch]: changed
	accordingly.  Return the created dialog instead of assigning
	shell->filters_dialog.

	* app/gui/view-commands.c (view_display_filters_cmd_callback): set
	shell->filters_dialog here and raise it it if already
	exists. Don't use the dialog factory to create it because it's a
	transient dialog for the display which does not need to be session
	managed.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: removed display filter dialog stuff.
2003-11-21 22:52:36 +00:00
Sven Neumann 565aaa5271 app/config/gimpdisplayconfig.[ch] added a new gimprc option
2003-11-20  Sven Neumann  <sven@gimp.org>

	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimprc-blurbs.h: added a new gimprc option
	"activate-on-focus" that allows to configure GIMP to activate an
	image when the image window receives the focus. Useful for window
	managers using click-to-focus. Defaults to TRUE on OS_WIN32.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c: implemented the new behaviour.
2003-11-20 17:13:02 +00:00
Sven Neumann 986c831838 shrink to the size of the monitor, not to the size of the screen (for
2003-11-19  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
	shrink to the size of the monitor, not to the size of the screen
	(for Xinerama setups). Fixes bug #121796.
2003-11-19 18:34:04 +00:00
Michael Natterer 0bcda70c66 removed newlines from messages, removed trailing whitespace.
2003-11-15  Michael Natterer  <mitch@gimp.org>

	* libgimpmodule/gimpmodule.c: removed newlines from messages,
	removed trailing whitespace.

	* libgimpmodule/gimpmoduledb.c: removed trailing whitespace.

	* libgimpwidgets/gimpcolorbutton.c: added mnemonics to the
	button's popup menu.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): added
	mnemonics to the padding button's additional menu items.
2003-11-15 12:36:09 +00:00
Michael Natterer 6eb772946b libgimpwidgets/gimpquerybox.c configure the labels in the message dialog
2003-11-14  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpquerybox.c
	* app/widgets/gimpwidgets-utils.c: configure the labels in the
	message dialog and the query boxes to do automatic word wrapping
	to be HIG compliant.

	* app/app_procs.c
	* app/batch.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-utils.c
	* app/config/gimpconfigwriter.c
	* app/config/gimpscanner.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdatafactory.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpselection.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/gui/brush-select.c
	* app/gui/dialogs-commands.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/palette-select.c
	* app/gui/palettes-commands.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/select-commands.c
	* app/gui/stroke-dialog.c
	* app/gui/tool-options-menu.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/image.pdb: removed explicit newlines from
	messages. Reduced number of translatable strings by making many
	file error messages the same. Quote single words and filenames
	with 'foo', not "foo". Replaced some more "drawable" by "layer".
	General message cleanup and consistency check.

	* app/pdb/image_cmds.c: regenerated.
2003-11-14 15:33:40 +00:00
Michael Natterer 99eb1fca6b app/display/gimpdisplayshell.c app/widgets/gimplayertreeview.c replaced
2003-11-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimphelp-ids.h: replaced the last few html help
	links in app/ by help IDs.
2003-11-12 13:35:06 +00:00
Michael Natterer e34358d8c3 added new API gimp_color_button_[get|set]_update() which configures the
2003-11-11  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolorbutton.[ch]: added new API
	gimp_color_button_[get|set]_update() which configures the button
	to emit "color_changed" continuously while the color in the color
	selection dialog is being changed. Fixes bug #90091.

	Renamed GimpColorButton struct member
	"GtkItemFactory *item_factory" to a /*< private >*/ member named
	"gpointer popup_menu". This is ugly but fixes bug #125115,

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

	* libgimpwidgets/gimpcolorbutton.c: use a GimpColorSelection
	with a handmade GimpDialog instead of GtkColorSelectionDialog.

	Enabled module loading for plug-ins so the color selection
	can show the color selectors which are implemented in modules:

	* libgimpwidgets/gimpwidgets-private.[ch]: added
	GimpEnsureModlesFunc which can be called by modules users.

	* app/gui/gui.c (gui_libs_init): pass NULL as
	GimpEnsureModulesFunc since the core loads the modules itself.

	* libgimp/gimpui.c (gimp_ui_init): pass new private function
	gimp_ensure_modules() which will load the modules upon first
	invocation.

	* libgimp/Makefile.am: link libgimpui against libgimpmodule.

	* libgimpwidgets/gimpcolorselection.c: call
	_gimp_ensure_modules_func() if it is non-NULL so color selector
	modules are available for plug-ins.

	* tools/pdbgen/pdb/gimprc.pdb: added new PDB wrapper
	gimp_get_module_load_inhibit().

	* app/pdb/gimprc_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpgimprc_pdb.[ch]: regenerated.
2003-11-11 17:55:45 +00:00
Sven Neumann 4b165b472c app/display/Makefile.am removed this file.
2003-11-11  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-marching-ants.h: removed this file.

	* app/display/gimpcanvas.[ch]: generalized creation of GCs. Added
	styles for drawing the selection and layer boundaries. Also added
	support for changing stipple masks as was used by an older
	implementation of the marching ants (see below).

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c: don't create the Selection when
	the canvas is realized but only once when it is created.

	* app/display/gimpdisplayshell-selection.[ch]: removed all GC code
	and draw by means of GimpCanvas. Also resurrected a different
	implementation of the marching ants that was lost since 1.2
	(#undef USE_DRAWPOINTS).
2003-11-11 14:50:07 +00:00
Sven Neumann 058764f4ba app/display/gimpcanvas.[ch] moved GC from the the draw tool to GimpCanvas.
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch]
	* app/tools/gimpdrawtool.[ch]: moved GC from the the draw tool to
	GimpCanvas. Added wrappers around GDK drawing functions and do all
	canvas drawing by means of these new functions.

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpfuzzyselecttool.c: draw using the new GimpCanvas
	functions.
2003-11-10 19:35:56 +00:00
Sven Neumann cf842d8761 app/display/gimpcanvas.[ch] moved GdkGCs to GimpCanvas; still work in
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch]
	* app/display/gimpdisplayshell.c: moved GdkGCs to GimpCanvas;
	still work in progress...
2003-11-10 01:10:46 +00:00
Sven Neumann 621c5832db app/display/Makefile.am app/display/display-types.h added GimpCanvas,
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpcanvas.[ch]: added GimpCanvas, derived from
	GtkDrawingArea.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]
2003-11-09 23:24:40 +00:00
Michael Natterer c947f0b297 remember the "create_tearoff" passed to gimp_item_factory_new() in the
2003-11-08  Michael Natterer  <mitch@gimp.org>

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

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

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): create
	the menu bar without tearoff entries. It is very confusing to have
	both the popup menu (which is global and works on the active
	display) and the menu bar submenus (which are specific to this
	display) be torn off at the same time.
2003-11-08 18:07:33 +00:00
Michael Natterer bcd9794a99 To be multihead safe, each new window or menu needs to be associated with
2003-11-08  Michael Natterer  <mitch@gimp.org>

	To be multihead safe, each new window or menu needs to be
	associated with a GdkScreen or it will pop up on the default
	screen.

	* libgimpwidgets/gimpquerybox.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptooldialog.[ch]
	* app/widgets/gimpviewabledialog.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/edit-commands.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/templates-commands.[ch]
	* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
	paramaters to all functions which create menus, popups or windows
	and pass "parent" to gimp_dialog_new() or one of the various
	wrappers around it. As a side effect, this fixes bug #61092.

	* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
	instead of "parent" here since there are no possible parent
	windows on startup.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_button_press): added a quick hack to
	send a display to another screen: click the origin button with the
	middle mouse button.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_screen_changed): don't chain up
	undonditionally (don't crash).

	* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
	dialog's screen from a non-GtkWidget parent widget. The rest of
	non-window parent widget handling is still unimplemented.

	* libgimpwidgets/gimpcolorbutton.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpnavigationview.c
	* app/gui/module-browser.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/qmask-commands.c
	* app/gui/select-commands.c
	* app/gui/tool-options-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: changed addordingly. Changed all
	menu_position funcs to place the menu on the right screen.
2003-11-08 15:29:47 +00:00
Michael Natterer efd9a3e14a added "wm_name", "wm_class", "display_name" and "monitor_number" to the
2003-11-07  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
	"display_name" and "monitor_number" to the GPConfig message.
	Increased protocol version number.

	* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
	message and remember them.
	Added public accessors for the new config values.

	* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
	gtk_init() and export the display/screen to use to the
	environment.

	* app/core/gimp.[ch]: added vtable entries to get the values
	from the GUI.

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

	* app/plug-in/plug-in-run.c: fill in the GPConfig values using
	the new Gimp vtable functions.

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/channels-commands.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/grid-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/splash.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tips-dialog.c
	* app/gui/vectors-commands.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpdock.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c
	* plug-ins/helpbrowser/dialog.c
	* plug-ins/ifscompose/ifscompose.c: replaced all calls to
	gtk_window_set_wmclass() by gtk_window_set_role() and all
	"const gchar *wmclass_name" parameters by "const gchar *role".
	Cleaned up the window role strings.
2003-11-07 17:29:02 +00:00
Sven Neumann e3480536f3 app/display/Makefile.am new files that implement a GimpConfig object with
2003-10-22  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayoptions.[ch]: new files that implement
	a GimpConfig object with GimpDisplayShell and GimpCanvas options.
	Actually two classes, one for the normal view, a derived one with
	different default values for fullscreen mode.

	* app/display/display-enums.[ch]: renamed GimpDisplayPadding enum
	to GimpCanvasPadding.

	* app/config/config-types.h: added the GimpDisplayOptions typedef.

	* app/config/gimprc-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: replaced a bunch of properties
	with two instances of GimpDisplayOptions.

	* app/display/gimpdisplayshell.[ch]: replaced the
	GimpDisplayShellAppearance struct with GimpDisplayOptions.

	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.[ch]
	* app/gui/image-menu.c: changed accordingly.

	* app/gui/preferences-dialog.c: added a convenience function that
	creates a view on a GimpDisplayOptions object. Not all values are
	configurable here yet.

	* docs/gimprc-1.3.5.in
	* etc/gimprc: regenerated to document the gimprc format changes.
2003-10-22 14:46:05 +00:00
Michael Natterer b19deeb311 Refactored modifier handling of displays and tools. Hopefully finally
2003-10-14  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

	(gimp_display_shell_tool_events):

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

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

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

	- Removed most static variables and use the new members of
	  GimpDisplayShell. Don't remember any old modifier states since
	  GimpTool does that by itself now.
2003-10-14 11:14:28 +00:00
Henrik Brix Andersen 4ac8c82501 removed the grid parasite related functions from here ...
2003-10-10 Henrik Brix Andersen <brix@gimp.org>

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

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

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

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

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

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

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

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

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

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

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

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

* app/display/gimpdisplayshell.c (gimp_display_shell_init):
... but the grid entries should be disabled by default
2003-10-10 14:11:47 +00:00
Michael Natterer 96e9f052a2 Fixed bug #119423. There was no speed regression with the actual painting,
2003-10-08  Michael Natterer  <mitch@gimp.org>

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

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

	* app/display/gimpdisplay.c (gimp_display_flush_whenever): pass
	the "now" we got passed to the function above, so calling
	gimp_display_flush_now() really flushes *now* again.
2003-10-08 14:50:26 +00:00