Commit graph

1597 commits

Author SHA1 Message Date
Michael Natterer
62e7dcc640 reorder sections consistently. Remove redundant CFLAGS.
2008-10-07  Michael Natterer  <mitch@gimp.org>

	* app/*/Makefile.am: reorder sections consistently. Remove
	redundant CFLAGS.


svn path=/trunk/; revision=27163
2008-10-07 11:58:14 +00:00
Hans Breuer
d94419a9fd updated include <string.h> for memcmp() include <string.h> for strcmp()
2008-10-03  Hans Breuer  <hans@breuer.org>

	* **/makefie.msc gimpdefs.msc app/gimpcore.def : updated
	* app/core/gimpcurve.c : include <string.h> for memcmp()
	* app/gegl/gimpcurvesconfig.c : include <string.h> for strcmp()

svn path=/trunk/; revision=27118
2008-10-03 19:27:54 +00:00
Sven Neumann
632b8d3fba bail out early if shell->display is NULL. Fixes crash reported on the
2008-10-03  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_update_scrollbars)
	(gimp_display_shell_scale_update_rulers): bail out early if
	shell->display is NULL. Fixes crash reported on the 
mailing-list.


svn path=/trunk/; revision=27117
2008-10-03 19:20:46 +00:00
Martin Nordholts
259801e34e Bug 553534 – centering issues after image scaling and setting zoom
to 100%

* app/display/display-enums.h: Added a GimpZoomFocus enum with
'best guess', 'pointer' or 'image center' values.

* app/display/gimpdisplayshell-scale.[ch]
(gimp_display_shell_scale): Take a GimpZoomFocus parameter and
pass it on to

(gimp_display_shell_scale_get_zoom_focus): which returns the
requested zoom focus point if one was given, else makes a best
guess.

* app/actions/view-commands.c
* app/display/gimpstatusbar.c
* app/display/gimpnavigationeditor.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale-dialog.c: For explicit-zoom
commands like "zoom to 100%", always use the image center as the
zoom focus point. For all other zooming, continue to use the
best-guess method.

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

svn path=/trunk/; revision=27104
2008-10-02 14:53:35 +00:00
Martin Nordholts
958de4c297 Bug 554125 – Tab key doesn't hide utility windows when there is no
image open.
	
* app/widgets/gimpdialogfactory.[ch]: Add 'toggle_visibility' to
GimpDialogFactory and as a parameter to gimp_dialog_factory_new(),
and set it there.

(gimp_dialog_factories_hide_foreach): Don't hide dialogs belonging
to factories with toggle_visibility FALSE.

* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): Move no-image event
handling to a new helper function, and make pressing Tab hide
windows.

* app/dialogs/dialogs.c (dialogs_init): Allow toggling visibility
for all factories except the display-factory.

svn path=/trunk/; revision=27077
2008-09-29 15:42:56 +00:00
Sven Neumann
5d13567424 reduced default window height to give a window aspect ratio of roughly 3:1
2008-09-29  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): 
reduced
	default window height to give a window aspect ratio of roughly 
3:1
	as requested by Peter.


svn path=/trunk/; revision=27072
2008-09-29 09:48:32 +00:00
Michael Natterer
4a91523321 use the new helper function here too.
2008-09-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_pixbuf): use the new helper function here
	too.


svn path=/trunk/; revision=27060
2008-09-25 16:59:02 +00:00
Sven Neumann
92a5eec265 moved duplicate code to a helper function.
2008-09-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_component)
	(gimp_display_shell_drop_drawable): moved duplicate code to a
	helper function.


svn path=/trunk/; revision=27058
2008-09-25 15:41:57 +00:00
Michael Natterer
68c21b49e9 Revert the change which adds GError parameters to
2008-09-17  Michael Natterer  <mitch@gimp.org>

	Revert the change which adds GError parameters to
	gimp_image_add_{channel,layer,vectors}():

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer-floating-sel.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c: revert.

	Instead, fix it at the PDB level:

	* app/core/gimpimage.c: turn the "added to wrong image" warning
	into a g_return_val_if_fail() assertion.

	* app/pdb/gimppdb-utils.[ch] (gimp_pdb_item_is_floating): add a
	"dest_image" parameter and fail if the passed item is not for this
	image.

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paths.pdb: pass the dest image to
	gimp_pdb_item_is_floating().

	* app/pdb/image-cmds.c
	* app/pdb/layer-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=26970
2008-09-17 11:41:54 +00:00
Michael Natterer
b0dab70de8 add GError parameter to gimp_image_add_{channel,layer,vectors}() and
2008-09-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: add GError parameter to
	gimp_image_add_{channel,layer,vectors}() and remove calls to
	g_warning(). Changed checks to be possible failures at all.

	* app/widgets/gimpitemtreeview.h (GimpAddItemFunc): add the GError
	here too.

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c: pass a NULL error.

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/paths.pdb: pass the error.

	* app/pdb/image-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=26963
2008-09-17 08:27:35 +00:00
Sven Neumann
8172ba88a1 improved the new DND code.
2008-09-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-dnd.c: improved the new DND code.


svn path=/trunk/; revision=26867
2008-09-04 18:14:56 +00:00
Sven Neumann
05e7e9dc54 handle drops on the empty image window.
2008-09-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_drawable) 
(gimp_display_shell_drop_pixbuf):
	handle drops on the empty image window.


svn path=/trunk/; revision=26864
2008-09-04 15:45:23 +00:00
Sven Neumann
8ec1d65a4a removed trailing whitespace
svn path=/trunk/; revision=26852
2008-09-04 08:37:32 +00:00
Michael Natterer
435f6e3974 app/display/gimpdisplayshell-callbacks.c libgimpwidgets/gimpcolorselect.c
2008-09-03  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* libgimpwidgets/gimpcolorselect.c
	* modules/color-selector-water.c
	* plug-ins/ifs-compose/ifs-compose.c: instead of using
	gdk_window_get_pointer() if GdkEventMotion::is_hint is TRUE,
	simply always use the coords from the event and call
	gdk_event_request_motions() to ask for more motion events. This is
	the recommended way and also works for events from devices other
	than the core pointer.

	* plug-ins/ifs-compose/ifs-compose.c (design_area_motion): some
	code cleanup while i was at it.


svn path=/trunk/; revision=26843
2008-09-03 19:24:51 +00:00
Michael Natterer
9d18f2aa9e use gtk_widget_get_style() instead of widget->style.
2008-09-02  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.c: use gtk_widget_get_style() instead
	of widget->style.


svn path=/trunk/; revision=26837
2008-09-02 12:55:46 +00:00
Martin Nordholts
1d7e141c2d We need to set the scale before using it. Fixes at least
2008-08-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_set_initial_scale): We need to set the scale
	before using it. Fixes at least gimp_display_shell_fill() and
	Image -> Duplicate giving weird initial scales.

svn path=/trunk/; revision=26823
2008-08-31 09:12:55 +00:00
Michael Natterer
edcd1e7810 libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2008-08-29  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimphruler.[ch]
	* libgimpwidgets/gimpvruler.[ch]: remove separate H/VRuler classes.

	* libgimpwidgets/gimpruler.[ch]: add an "orientation" property
	instead. Add gimp_ruler_new().

	* libgimpwidgets/gimpwidgets.def: changed accordingly.

	* app/dialogs/resolution-calibrate-dialog.c
	* app/display/gimpdisplayshell.c
	* plug-ins/gfig/gfig-preview.c
	* plug-ins/imagemap/imap_preview.c: ditto.


svn path=/trunk/; revision=26810
2008-08-29 10:25:29 +00:00
Martin Nordholts
3cfd2a33c0 Canonically calculate scale to use for zoom-focus calculations so that it
2008-08-28  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_to): Canonically calculate scale to use
	for zoom-focus calculations so that it also works when not in Dot
	by dot-mode.

svn path=/trunk/; revision=26805
2008-08-28 19:35:14 +00:00
Martin Nordholts
2975f815a8 Make the size-changed-detailed signal also contain previous image size.
2008-08-28  Martin Nordholts  <martinn@svn.gnome.org>

	* app/core/gimpimage.[ch]: Make the size-changed-detailed signal
	also contain previous image size.

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_size_changed_detailed_handler): Take the
	previous image size into account and center the image if it starts
	to fit (axis indepentently) in the viewport due to the resize.

	* app/core/gimpundo.h
	* app/core/gimpimage-undo.c
	* app/core/gimpimageundo.[ch]
	* app/core/gimpimage-undo-push.[ch]: Manage the
	previous-size-information.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-resize.c: Propagate previous size to the
	size-changed-detailed signal emission and the undo-system.

svn path=/trunk/; revision=26804
2008-08-28 19:12:03 +00:00
Martin Nordholts
b5b51b475f libgimpwidgets/gimpwidgets.c
2008-08-26  Martin Nordholts  <martinn@svn.gnome.org>

	* libgimpwidgets/gimpwidgets.c

	* plug-ins/common/file-xbm.c
	* plug-ins/common/file-wmf.c
	* plug-ins/common/file-svg.c
	* plug-ins/common/file-gih.c
	* plug-ins/common/blur-motion.c
	* plug-ins/file-jpeg/jpeg-save.c
	* plug-ins/lighting/lighting-ui.c
	* plug-ins/map-object/map-object-ui.c

	* app/tools/gimpsheartool.c
	* app/tools/gimpaligntool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimplevelstool.c
	* app/dialogs/resize-dialog.c
	* app/dialogs/offset-dialog.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpcolormapeditor.c
	* app/dialogs/layer-options-dialog.c
	* app/display/gimpdisplayshell-scale-dialog.c: Pass page_size = 0
	to gimp_spin_button_new() to adapt to new and correct value
	clamping in GTK+.

svn path=/trunk/; revision=26778
2008-08-26 19:32:14 +00:00
Martin Nordholts
d9e5942ec6 Fix stupid slip-up in my last commit
svn path=/trunk/; revision=26777
2008-08-26 18:59:23 +00:00
Martin Nordholts
dd672dde70 New function.
2008-08-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll_unoverscrollify): New function.

	* app/display/gimpdisplayshell-autoscroll.c
	(gimp_display_shell_autoscroll_timeout): Make sure the autoscroll
	does not result in overscroll. This more or less finalizes the
	implementation of the enhancement request in bug #362915.

svn path=/trunk/; revision=26775
2008-08-26 18:50:54 +00:00
Martin Nordholts
ad693bbf9e If no scroll should be applied we can return early.
2008-08-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll): If no scroll should be applied we can
	return early.

svn path=/trunk/; revision=26774
2008-08-26 17:53:54 +00:00
Martin Nordholts
fb56170667 Pass the scroll amount in variables that we can modify as we please before
2008-08-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-autoscroll.c
	(gimp_display_shell_autoscroll_timeout): Pass the scroll amount in
	variables that we can modify as we please before they actually
	reach gimp_display_shell_scroll().

svn path=/trunk/; revision=26773
2008-08-26 17:47:30 +00:00
Sven Neumann
35980b2291 formatting.
2008-08-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c 
(render_image_tile_fault):
	formatting.


svn path=/trunk/; revision=26756
2008-08-25 12:40:46 +00:00
Martin Nordholts
8f5adb2f62 Prevent the popup from being positioned far away from the click position.
2008-08-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_popup): Prevent the popup from being
	positioned far away from the click position. This is further work
	on bug #362915.

svn path=/trunk/; revision=26741
2008-08-24 08:56:02 +00:00
Martin Nordholts
f50037c474 Further clarify and simplify.
2008-08-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_popup): Further clarify and simplify.

svn path=/trunk/; revision=26740
2008-08-24 08:31:45 +00:00
Martin Nordholts
f887047d6e Correct the positioning calculation (while still retaining current overall
2008-08-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_popup): Correct the positioning
	calculation (while still retaining current overall behaviour).

svn path=/trunk/; revision=26739
2008-08-24 08:05:07 +00:00
Martin Nordholts
9a52100e44 Align static function prototypes.
2008-08-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpnavigationeditor.c: Align static function
	prototypes.

svn path=/trunk/; revision=26715
2008-08-22 18:51:36 +00:00
Michael Natterer
ce00697368 #define GIMP_CANVAS_EVENT_MASK.
2008-08-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.h: #define GIMP_CANVAS_EVENT_MASK.

	* app/display/gimpcanvas.c (gimp_canvas_realize): use it here.


svn path=/trunk/; revision=26713
2008-08-22 16:05:46 +00:00
Michael Natterer
c1e13e2c5d add gimp_canvas_scroll() which scrolls the canvas and makes the result
2008-08-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.[ch]: add gimp_canvas_scroll() which
	scrolls the canvas and makes the result visible immediately.

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll): use the new function.


svn path=/trunk/; revision=26712
2008-08-22 15:57:41 +00:00
Michael Natterer
041fd8e125 turn into a GtkContainer subclass mainly to reduce the diff to a local
2008-08-21  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.[ch]: turn into a GtkContainer subclass
	mainly to reduce the diff to a local hack I'm at. Also swallow
	some code that used to be called on the canvas widget externally.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): remove
	the swallowed code.

	* app/display/gimpdisplayshell-callbacks.h: remove canvas event
	mask define.


svn path=/trunk/; revision=26708
2008-08-21 23:55:58 +00:00
Martin Nordholts
120b65469f Fix typo in last commit
svn path=/trunk/; revision=26686
2008-08-20 20:01:45 +00:00
Martin Nordholts
ec0849dce8 Use a constant for the minimum step amount for scrollbars.
2008-08-20  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c: Use a constant for the
	minimum step amount for scrollbars.

svn path=/trunk/; revision=26685
2008-08-20 19:46:58 +00:00
Michael Natterer
d51c50820f Bug 496772 – Position shown in the statusbar needs more precision (for
2008-08-20  Michael Natterer  <mitch@gimp.org>

	Bug 496772 – Position shown in the statusbar needs more
	precision (for some tools)

	* app/display/display-enums.[ch]: add enum GimpCursorPrecision
	which can be one of { PIXEL_CENTER, PIXEL_BORDER, SUBPIXEL }.

	* app/display/gimpdisplayshell-cursor.[ch]: add "precision"
	parameter to gimp_display_shell_update_cursor() and pass it
	on to the statusbar.

	* app/display/gimpstatusbar.[ch]: add "precision" parameters to
	the cursor coordinates APIs, offset the passed coords accordingly
	and display them with one decimal point if SUBPIXEL is requested
	and the display's unit is PIXEL. Keep a second floating-point
	format string around at any time.

	* app/tools/gimptoolcontrol.[ch]: add a "precision" member and API
	so tools can configure the precision they need. Defalt to
	PIXEL_CENTER since that's right for almost all tools.

	* app/display/gimpdisplayshell-callbacks.c: pass the tool's
	precision to gimp_display_shell_update_cursor().

	* app/tools/gimptool.[ch]: add "precision" parameter to
	gimp_tool_push_status_coords() and pass it on to the statusbar.

	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: set precision in init() where
	needed. Adjust the precision in the fly when needed, e.g. while
	moving guides or when toggling hard-edge on paint tools. Also pass
	an appropriate precision to gimp_tool_push_status_coords(), which
	is not always the tool's precision as used for cursor display.


svn path=/trunk/; revision=26681
2008-08-20 16:22:09 +00:00
Martin Nordholts
a07760dea5 Simpliy.
2008-08-17  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_size_allocate): Simpliy.

svn path=/trunk/; revision=26614
2008-08-17 10:48:49 +00:00
Martin Nordholts
a4a05e8c59 If the image ends up below or to the right of the viewport top and left
2008-08-17  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_size_allocate): If the image ends up
	below or to the right of the viewport top and left edges, and the
	image is not centered on a given axis, align the top left image
	edge with the top left viewport edge. This is basically the best
	we can do without an API for start and end of a window resize
	cycle using the mouse.

svn path=/trunk/; revision=26613
2008-08-17 07:38:25 +00:00
Martin Nordholts
9311a413fa Don't apply the centering logic on zoom_on_resize.
2008-08-17  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_size_allocate): Don't apply the
	centering logic on zoom_on_resize.

svn path=/trunk/; revision=26612
2008-08-17 07:29:48 +00:00
Martin Nordholts
384df24b80 When applying the centering logic we need to know the size of the new
2008-08-17  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.[ch]
	(gimp_display_shell_configure_event): When applying the centering
	logic we need to know the size of the new canvas, so instead of
	having it here, only make sure that this logic is run on the next
	canvas size-allocate.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_size_allocate): If the size-allocate
	comes from a top level window resize, apply centering logic.

svn path=/trunk/; revision=26611
2008-08-17 07:21:41 +00:00
Martin Nordholts
7902305706 Oops, correct parameter order.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll_center_image_on_next_size_allocate):
	Oops, correct parameter order.

svn path=/trunk/; revision=26609
2008-08-16 19:18:31 +00:00
Martin Nordholts
f45897f6c7 Support axis independence.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.[ch]
	(gimp_display_shell_scroll_center_image_on_next_size_allocate):
	Support axis independence.

	* app/display/gimpdisplayshell.c: Adapt.

svn path=/trunk/; revision=26608
2008-08-16 18:50:38 +00:00
Martin Nordholts
80ff2e82c3 Explain that this function needs to be used with care since it is risky.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll_center_image_on_next_size_allocate):
	Explain that this function needs to be used with care since it is
	risky.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_new)
	(gimp_display_shell_fill): Clarify that it is safe to use the
	risky function.

	(gimp_display_shell_configure_event): Make proper comparisions (<=
	not =) and explain that usage of the risky function is safe.

	(gimp_display_shell_shrink_wrap): Always call
	gimp_display_shell_scroll_center_image() and let size-requests be
	handled by GimpDisplayShell::configure_event().

	* app/actions/view-commands.c (view_shrink_wrap_cmd_callback): No
	need to center anything explicitly any longer.

svn path=/trunk/; revision=26607
2008-08-16 18:25:32 +00:00
Martin Nordholts
ec15a39b14 Remove the centering logic because we do not always want to run it when
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_size_allocate): Remove the centering
	logic because we do not always want to run it when the canvas size
	changes. For example, the canvas size changes if rulers are
	toggled on/off.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_configure_event): Implement
	GtkWidget::configure_event() for the display shell and put the
	image centering logic here instead, since this class function is
	run when the top level window size changes. Run it only if the
	size (not position) of the window changes.

svn path=/trunk/; revision=26599
2008-08-16 16:52:05 +00:00
Sven Neumann
750a56ef74 removed unused includes
svn path=/trunk/; revision=26591
2008-08-16 11:54:25 +00:00
Sven Neumann
f9ebb8c9fd app/display/Makefile.am app/display/gimpdisplayshell-scale.[ch] split
2008-08-16  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-scale.[ch]
	* app/display/gimpdisplayshell-scale-dialog.[ch]: split scale
	dialog into a new file.

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

svn path=/trunk/; revision=26590
2008-08-16 11:51:10 +00:00
Martin Nordholts
1250993fe1 New function.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_viewport_coord_almost_centered): New
	function.

	(gimp_display_shell_scale): Center the image on zoom also if it is
	almost centered. This makes the image centered all the way when
	zooming out far away.

svn path=/trunk/; revision=26589
2008-08-16 10:25:50 +00:00
Martin Nordholts
8d7b13ae01 Reimplement to increase readability.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_to): Reimplement to increase
	readability.

svn path=/trunk/; revision=26587
2008-08-16 08:59:58 +00:00
Martin Nordholts
46f7ce1a01 Nice-ify.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_to): Nice-ify.

svn path=/trunk/; revision=26586
2008-08-16 07:15:33 +00:00
Martin Nordholts
ab419f2e70 Support axis independence.
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.[ch]
	(gimp_display_shell_scale_get_zoom_focus)
	(gimp_display_shell_scale_image_is_within_viewport): Support axis
	independence.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_zoom_button_callback): Adapt to new
	gimp_display_shell_scale_image_is_within_viewport().

svn path=/trunk/; revision=26585
2008-08-16 07:06:26 +00:00
Martin Nordholts
aaa6336664 Make proper tests (>= not >)...
2008-08-16  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_image_is_within_viewport): Make proper
	tests (>= not >)...

svn path=/trunk/; revision=26584
2008-08-16 05:45:41 +00:00