Commit Graph

254 Commits

Author SHA1 Message Date
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
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
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 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
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 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 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 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
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
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
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 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
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 613e328f13 added boolean return value to GimpTool::initialize(). Returning FALSE
2004-01-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]: added boolean return value to
	GimpTool::initialize(). Returning FALSE means the tool could not
	be initialized and doesn't want to receive button events.
	Return TRUE from the default implementation.

	* app/tools/tool_manager.[ch]: added boolean return value to
	tool_manager_initialize_active(). Don't set the tool's display or
	drawable if initialize() returns FALSE.

	* app/display/gimpdisplayshell-callbacks.c: don't send button
	events to the tool if initialize() returns FALSE.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: return FALSE for NULL and indexed
	drawables.

	* app/tools/gimpimagemaptool.c: always return TRUE because our
	subclasses already checked if the active drawable is OK.

	* app/tools/gimptransformtool.c: return FALSE for layers with
	masks. Fixes bug #132089. Some random cleanups.
2004-01-21 16:07:48 +00:00
Sven Neumann 1bc30847cc switch off fullscreen mode on Escape key press events only. The shell
2003-12-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_events):
	switch off fullscreen mode on Escape key press events only. The shell
	should not react on the key release event it gets when a dialog is
	closed using the Escape key.
2003-12-11 12:43:48 +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
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 d456168ad9 added gimp_canvas_set_clip_region().
2003-11-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch]: added gimp_canvas_set_clip_region().

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_expose): if gimp_display_shell_pause()
	would cause a redraw, make sure that no XOR drawing happens on
	areas that have already been cleared by the windowing system.
	Fixes bug #115712.
2003-11-11 17:07:41 +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
Michael Natterer 78bf44ddb6 update shell->popup_factory only if this is the active display or we will
2003-11-11  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-appearance.c: update
	shell->popup_factory only if this is the active display or we will
	change another display's options when creating a new display.
	Fixes bug #126668.

	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/view-commands.c
	* app/tools/gimpimagemaptool.c: do the same here. Can't really
	happen in these places but it's more correct to have the check
	for the active display.

	* app/display/gimpdisplay.c (gimp_display_flush_whenever): get the
	active display from the user_context, not the current_context.

	* app/gui/image-menu.c (image_menu_update): removed unused code.
2003-11-11 13:09:50 +00:00
Michael Natterer 729ff4faac removed the "Move to Screen" hack.
2003-11-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: removed the
	"Move to Screen" hack.

	* app/gui/dialogs-commands.[ch]
	* app/gui/view-commands.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/image-menu.c: added proper menu items to the
	<Image>/View and the <Dialogs> menus so all image windows and
	docks can be sent to other screens. Hide the menu items when
	there is just one screen.

	* app/widgets/gimphelp-ids.h: new help IDd for the new menu items.
2003-11-10 00:24:33 +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 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 df318a0d74 use the 2nd mouse wheel for horizontal scrolling. Fixes bug #126288.
2003-11-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): use the 2nd mouse wheel
	for horizontal scrolling. Fixes bug #126288.
2003-11-05 15:49:42 +00:00
Sven Neumann c590c6aa15 app/display/gimpdisplayshell-callbacks.c
2003-10-28  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimphistogramview.c
	* app/widgets/gimpnavigationpreview.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppickbutton.c: use multihead safe variants of
	the unsafe functions gdk_pointer_ungrab(), gdk_keyboard_ungrab()
	and gdk_device_get_core_pointer().

	* plug-ins/libgck/gck/gck.h
	* plug-ins/libgck/gck/gckcolor.c: made libgck multi-head safe.

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_preview.c
	* plug-ins/MapObject/mapobject_ui.c: changed accordingly.

	* plug-ins/common/animationplay.c
	* plug-ins/common/curve_bend.c
	* plug-ins/gfig/gfig.c
	* plug-ins/imagemap/imap_preview.c: use multihead safe GDK API.
2003-10-29 20:57:21 +00:00
Michael Natterer 0df20a05f4 call tool_manager_oper_active_update() also on GDK_ENTER_NOTIFY,
2003-10-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_tool_events): call
	tool_manager_oper_active_update() also on GDK_ENTER_NOTIFY,
	GDK_LEAVE_NOTIFY, GDK_PROXIMITY_IN and GDK_PROXIMITY_OUT so the
	active tool's state is updated when the current device
	enters/leaves the canvas area.

	* app/tools/gimpmovetool.[ch]: added GimpTool::oper_update() and
	prelight the guide which will be moved there. Prelight the guide
	only while the while the cursor is in the guide's sensitive area,
	not until another guide is selected.
	Feels better and fixes bug #125474.

	Removed "guide_disp" member from the GimpMoveTool because
	GipmTool::oper_update() is called reliably now and we don't need
	to worry about guide prelighting across different displays any
	more.

	(gimp_move_tool_cursor_update): removed guide prelighting code,
	cleaned up and simplified.

	(gimp_move_tool_button_press): never activate the tool after
	calling init_edit_selection(). Fixes more tool control warnings.

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_check_valid().
2003-10-29 15:03:56 +00:00
Henrik Brix Andersen 879d2c2864 changed PROP_SHOW_ACTIVE_LAYER to PROP_SHOW_LAYER_BOUNDARY to be
2003-10-23 Henrik Brix Andersen <brix@gimp.org>

* gimp/app/display/gimpdisplayoptions.[ch]: changed
PROP_SHOW_ACTIVE_LAYER to PROP_SHOW_LAYER_BOUNDARY to be
consistent with the user interface

* gimp/app/display/gimpdisplayshell-appearance.c
* gimp/app/display/gimpdisplayshell-callbacks.c
* gimp/app/gui/preferences-dialog.c
* gimp/app/gui/image-menu.c: changed accordingly
2003-10-23 07:33:16 +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
Michael Natterer 10760d3cb1 guard callbacks against being invoked during display destruction. Fixes
2003-10-06  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: guard callbacks
	against being invoked during display destruction. Fixes crashes
	when closing/opening images. Also fixes the crash reported by
	Pedro Gimeno in the comment to bug #117884, but doesn't fix
	#117884 since it's a different issue.
2003-10-06 11:25:59 +00:00
Michael Natterer 9a8d07832d #include "widgets/gimpwidgets-utils.h" for gimp_button_menu_position().
2003-09-26  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c: #include
	"widgets/gimpwidgets-utils.h" for gimp_button_menu_position().
2003-09-26 16:25:24 +00:00
Sven Neumann e0f2efdc29 added a utility function that positions a menu that pops up from a button
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added a utility function
	that positions a menu that pops up from a button widget.

	* app/display/gimpdisplayshell-callbacks.c
	* app/widgets/gimpdockable.c: use the new utility function instead
	of duplicating the code.
2003-09-23 20:27:12 +00:00
Sven Neumann a52de434be added the title pango layout to the GimpDockable struct. Made
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]: added the title pango layout to
	the GimpDockable struct. Made gimp_dockable_menu_position() handle
	RTL layout correctly.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_menu_position): handle RTL layout.
2003-09-23 18:11:09 +00:00
Michael Natterer 6b2ca702ad app/paint/Makefile.am removed... ...and added.
2003-09-18  Michael Natterer  <mitch@gimp.org>

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: removed...
	* app/paint/gimp-paint.[ch]: ...and added.

	* app/core/gimp.c: changed accordingly.

	* app/tools/Makefile.am
	* app/tools/tools.[ch]: removed...

	* app/tools/gimp-tools.[ch]: ...and added. Added
	gimp_tools_restore() and gimp_tools_save() and moved the entire
	tool registering and tool_options loading/saving code here. Call
	tool_manager_init() from gimp_tools_init() and tool_manager_exit()
	from gimp_tools_exit().

	* app/tools/tool_manager.[ch]: removed the code which now lives
	in gimp-tools.[ch]. The tool manager now has no knowledge about
	individual tools any more and just handles the active_tool
	and the tool part of tool <-> display interaction.
	Removed tool_manager_get_info_by_type().

	* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
	tool's identifier is "gimp-vector-tool", not "gimp-path-tool".

	* app/app_procs.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/vectors-commands.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-09-18 13:51:10 +00:00
Michael Natterer a0d33a531d Added support for permanently showing the visible vectors, not only when
2003-09-12  Michael Natterer  <mitch@gimp.org>

	Added support for permanently showing the visible vectors, not
	only when the vectors tool is active:

	* app/display/gimpdisplayshell.[ch]: added
	gimp_display_shell_draw_vector() which draws a single GimpVectors
	object and gimp_display_shell_draw_vectors() which draws all
	visible ones. Added "gint paused_count" and new functions
	gimp_display_shell_paunse()/resume(). Pause/resume the active tool
	and draw/undraw the visible vectors when paused_count changes from
	0 to 1 and from 1 to 0.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c: call the new
	freeze()/thaw() functions instead of calling the tool_manager
	directly. Removes the tools/ sependency from the scale and scroll
	files. Also draw the vectors once when the canvas is realized so
	XOR drawing is in the correct state.

	* app/display/gimpdisplayshell-handlers.c: connect to
	image->vectors' "add" and "remove" signal and to the "freeze",
	"thaw" and "visibility_changed" signals of all vectors in
	image->vectors and update vectors drawing accordingly.
2003-09-11 22:24:30 +00:00
Sven Neumann 56438a7b9b app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.c
2003-09-09  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpnavigationview.c
	* app/gui/resolution-calibrate-dialog.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpwidgets-utils.c: get the size from the current
	screen, not always from the default one.

	* plug-ins/common/wmf.c: ask GIMP for the monitor resolution instead
	of taking the value from GDK.
2003-09-09 11:35:27 +00:00
Michael Natterer fd61d33c5e made the layer cycling circular. Removed the static layer_select variable
2003-08-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-layer-select.[ch]: made the layer
	cycling circular. Removed the static layer_select variable and
	allocate a new struct for each use. Made it use Ctrl+Tab for
	forward cycling and Ctrl+Shift+Tab for backward so it doesn't use
	Alt any more. Cleanup.

	* app/display/gimpdisplayshell-callbacks.c: changed it from Alt to
	Ctrl here, too.

	Fixes all the stuff mentioned in bug #119236.
2003-08-17 16:58:39 +00:00
Michael Natterer a4823e99c7 if the canvas has no focus on button_press, set it explicitly instead of
2003-08-16  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): if the canvas has no
	focus on button_press, set it explicitly instead of asuming that
	focus_in will follow anyway. Should once more fix bug #85202.

	Grab the keyboard while button1 is down so the focus can't go away
	while the tool can't receive modifier events. Should fix more
	#85202-alike bugs.
2003-08-16 21:07:13 +00:00
Michael Natterer d9440b4136 skip double clicks by checking event->type == GDK_BUTTON_PRESS. Brings
2003-07-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_[hv]ruler_button_press): skip double clicks by
	checking event->type == GDK_BUTTON_PRESS. Brings press and release
	events sent to the move tool back in sync and fixes bug #75351.
2003-07-29 14:36:18 +00:00
Michael Natterer bc77f1e3ff app/config/gimprc-blurbs.h added separate properties for the fullscreen
2003-07-18  Michael Natterer  <mitch@gimp.org>

	* app/config/gimprc-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: added separate properties for
	the fullscreen appearance of the display (menubar, rulers,
	scrollbars, statusbar and padding). Default to everything
	invisible and black padding.

	* app/display/gimpdisplayshell.[ch]: renamed struct
	GimpDisplayShellVisibility to GimpDisplayShellAppearance and added
	the canvas padding stuff.

	* app/display/gimpdisplayshell-appearance.[ch]: made
	gimp_display_shell_set_padding() fullscreen-aware. Added
	gimp_display_shell_get_padding().

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/gui/image-menu.c: changed addordingly.

	* app/gui/preferences-dialog.c: added the new options and moved
	the display appearance stuff to its own page. Minor cleanups.
2003-07-17 22:30:13 +00:00
Michael Natterer 69539fc5c4 added GimpMenuPositionFunc typedef.
2003-07-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: added GimpMenuPositionFunc typedef.

	* app/widgets/gimpwidgets-utils.[ch]: made gimp_menu_position()
	a GimpMenuPositionFunc.

	* app/widgets/gimpitemfactory.[ch]
	(gimp_item_factory_popup_with_data): added position_func and
	position_data parameters. Use gimp_menu_position() if no
	position_func is given.

	* app/display/gimpdisplayshell-callbacks.c: removed
	gimp_display_shell_origin_menu_popup() and call
	gimp_item_factory_popup_with_data() directly from
	gimp_display_shell_popup_menu(), using
	gimp_display_shell_origin_menu_position() as position_func.

	* app/widgets/gimpeditor.[ch]: added a GtkWidget::popup_menu()
	implementation so all context menus are keyboard accessible.
	Added "gpointer factory_data" member so the menu can be popped up
	in the right context.

	* app/gui/channels-menu.c
	* app/gui/layers-menu.c
	* app/gui/vectors-menu.c: make them work without an active image
	since they can be popped up at any time now.

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: cleanup.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: pass NULL, NULL as
	position_func and position_data so the default implementation is
	used.
2003-07-02 12:03:56 +00:00