Commit Graph

738 Commits

Author SHA1 Message Date
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
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
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
c8ae8f67b4 New function.
2008-08-14  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-draw.[ch]
	(gimp_display_shell_draw_get_scaled_image_size_for_scale): New
	function.

	* app/display/gimpdisplayshell-scale.[ch]
	(gimp_display_shell_scale): When zooming out and the image
	starts to fit the viewport on a given axis, center on that
	axis.

	(gimp_display_shell_scale_image_starts_to_fit): New function.

	(gimp_display_shell_calculate_scale_x_and_y): New function.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_scale_changed): Use
	gimp_display_shell_calculate_scale_x_and_y().

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll_center_image): Bail out if neither
	vertical nor horizontal centering is requested.

svn path=/trunk/; revision=26562
2008-08-14 19:23:28 +00:00
c9dc5bf940 No need to update scrollbars, only rulers. (gimp_display_shell_reconnect):
2008-08-14  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_set_unit): No need to update scrollbars, only
	rulers.
	(gimp_display_shell_reconnect): A
	gimp_display_shell_scroll_clamp_and_update() makes more sense
	here.

svn path=/trunk/; revision=26558
2008-08-14 15:55:56 +00:00
47b34e973d New function.
2008-08-13  Martin Nordholts  <martinn@svn.gnome.org>

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

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): When
	the zoom button is toggled, implicitly do a View -> Fit Image in
	Window if the (scaled) image is within the viewport.

svn path=/trunk/; revision=26529
2008-08-13 17:36:29 +00:00
0847643307 removed calls to scale the image and to update the scrollbars and rulers.
2008-08-12  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
	removed calls to scale the image and to update the scrollbars 
and
	rulers. Doesn't seem to make sense in an empty display and it
	causes a crash.


svn path=/trunk/; revision=26518
2008-08-12 15:17:43 +00:00
5148ff2c9f Recent refactorings seems to have made the centering hack obsolete so use
2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Recent
	refactorings seems to have made the centering hack obsolete so use
	gimp_display_shell_scroll_center_image_on_next_size_allocate()
	instead.

svn path=/trunk/; revision=26488
2008-08-10 14:34:10 +00:00
21a6d735e5 Always center the image after a wrap. I can't think of a case when that
2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
	Always center the image after a wrap. I can't think of a case when
	that shouldn't happen.

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_size_changed_detailed_handler): Centering
	occurs implicitly after wrapping now, no need to do it explicitly.

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll_center_image): Handle the no-image
	case.

svn path=/trunk/; revision=26487
2008-08-10 14:26:29 +00:00
2eacb5cf58 Rename gimp_display_shell_scale_setup() to
2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.[ch]:
	Rename gimp_display_shell_scale_setup() to
	gimp_display_shell_update_scrollbars_and_rulers(), because that's
	exactly what that function does.

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-callbacks.c: Adapt to new name.

svn path=/trunk/; revision=26484
2008-08-10 11:56:29 +00:00
65ff34a540 It makes more sense for gimp_display_shell_get_scaled_image_size() to be
2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.[ch]: It makes more sense
	for gimp_display_shell_get_scaled_image_size() to be moved from
	here to

	* app/display/gimpdisplayshell-draw.[ch]: here, and rename it to
	gimp_display_shell_draw_get_scaled_image_size().

	* app/display/gimpdisplayshell.c: Adapt to name change.

svn path=/trunk/; revision=26479
2008-08-10 10:54:00 +00:00
a736df49e2 Put functions to center the image in the display shell where they belong,
2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	Put functions to center the image in the display shell where they
	belong, and give them proper names.

	* app/display/gimpdisplayshell-scale.[ch]: Get rid of functions
	and use the new names.

	* app/display/gimpdisplayshell-scroll.[ch]: Put the functions here
	and call them gimp_display_shell_scroll_center_image() and
	gimp_display_shell_scroll_center_image_on_next_size_allocate().

	* app/display/gimpdisplayshell.c:
	* app/display/gimpdisplayshell-handlers.c: Use the new names.

svn path=/trunk/; revision=26470
2008-08-10 07:23:14 +00:00
6f8f412fd4 Center the image after connecting to it. This is required if the image we
2008-08-03  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): Center
	the image after connecting to it. This is required if the image we
	connect to is smaller than the initial canvas size.

svn path=/trunk/; revision=26356
2008-08-03 17:57:13 +00:00
9d17a53267 moved last motion stuff to the end
svn path=/trunk/; revision=26233
2008-07-18 11:58:57 +00:00
92661af96c removed delta_time, delta_x, delta_y, distance and random from the
2008-07-18  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h: removed delta_time, delta_x, delta_y,
	distance and random from the GimpCoords struct. These don't need
	to be kept here and they can't be properly interpolated.

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

	* app/xcf/xcf-load.c (xcf_load_vector): the size of the 
GimpCoords
	struct changed.

	* app/display/gimpdisplayshell.[ch] (struct _GimpDisplayShell):
	added some members to store values from the last event that are
	needed in gimp_display_shell_eval_event() and which are not any
	longer part of GimpCoords.

	* app/display/gimpdisplayshell-coords.c
	(gimp_display_shell_eval_event): changed accordingly.
	
	* app/paint/gimppaintoptions.c: calculate a random number when 
one
	is needed.

	* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
	GimpCoords doesn't have a "random" field any longer.


svn path=/trunk/; revision=26232
2008-07-18 11:56:05 +00:00
805a3f5f8b Allow to choose what axes to center on.
2008-07-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scale.[ch]
	(gimp_display_shell_center_image): Allow to choose what axes to
	center on.

	(gimp_display_shell_scale_fill)
	(gimp_display_shell_scale_fit_in): Explicitly center on both axes.

	* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Center
	the image in the filled display shell. Rather hackish, but seems
	to work fine.

svn path=/trunk/; revision=26185
2008-07-13 20:23:15 +00:00
fe0d07de9f Get rid of non-intelligent scrollbar stepper sensitivity code.
2008-07-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): Get rid
	of non-intelligent scrollbar stepper sensitivity code.

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_scroll_clamp_offsets): Add intelligent
	scrollbar stepper sensitivity code.

svn path=/trunk/; revision=26178
2008-07-13 14:48:44 +00:00
121849e7ca Don't ask gimp_display_shell_set_initial_scale() for display size, we
2008-07-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Don't
	ask gimp_display_shell_set_initial_scale() for display size, we
	don't care anyway.

svn path=/trunk/; revision=26167
2008-07-13 06:25:23 +00:00
4aeaa83f9e The following change is conceptually based on a patch by Alexia Death and
2008-07-12  Martin Nordholts  <martinn@svn.gnome.org>

	The following change is conceptually based on a patch by
	Alexia Death and implements the core functionality for
	bug #362915.

	* app/display/gimpdisplayshell-scroll.[ch]
	(gimp_display_shell_scroll_clamp_offsets): Clamp the offsets in
	such a way that allows to scroll beyond the image border.

	(gimp_display_shell_setup_hscrollbar_with_value)
	(gimp_display_shell_setup_vscrollbar_with_value): Put common
	scrollbar range setup code here.

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_setup): Use above helper functions for
	setting up scrollbar range.

	* app/display/gimpdisplayshell-callbacks.c: Handle adjustment of
	the scrollbar range when they are about to change value.

	* app/display/gimpdisplayshell.c: Always keep the scrollbar
	steppers sensitive to user input.

svn path=/trunk/; revision=26166
2008-07-12 14:48:09 +00:00
a33d80107b Kill disp_[xy]offset! We now keep store that information by using negative
2008-07-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell.c: Kill disp_[xy]offset! We now
	keep store that information by using negative values in
	offset_[xy].

	* app/display/gimpdisplayshell-scroll.[ch]
	(gimp_display_shell_scroll_clamp_offsets)
	(gimp_display_shell_get_scaled_image_viewport_offset): Adjust
	accordingly to preserve current behaviour.

	(gimp_display_shell_get_disp_offset): New function to get the old
	disp_[xy]offset based on the new offset_[xy].

	(gimp_display_shell_get_render_start_offset): New function to get
	th old offset_[xy] based on the new offset_[xy].

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-render.c: Get rid of
	disp_[xy]offset and use
	gimp_display_shell_get_render_start_offset() and
	gimp_display_shell_get_disp_offset() instead.

svn path=/trunk/; revision=26146
2008-07-12 07:00:46 +00:00
ae67f09ddd libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2008-05-26  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h

	* libgimpwidgets/gimpruler.[ch]
	* libgimpwidgets/gimphruler.[ch]
	* libgimpwidgets/gimpvruler.[ch]: added ruler widgets. These are
	mostly copied from GTK+ and work as a drop-in replacement for
	GtkRuler and friends.

	* libgimpwidgets/gimpwidgets.def: updated.

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-scale.c
	* app/dialogs/resolution-calibrate-dialog.c
	* plug-ins/imagemap/imap_preview.c
	* plug-ins/gfig/gfig-preview.c: use the GimpRuler widgets.


svn path=/trunk/; revision=25820
2008-05-26 21:20:16 +00:00
7cc4f8c1db added signal "entry-activated".
2008-04-29  Sven Neumann  <sven@gimp.org>

	* app/display/gimpscalecombobox.[ch]: added signal 
"entry-activated".

	* app/display/gimpstatusbar.c (gimp_statusbar_new): connect to 
the
	new signal and move the focus to the canvas.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): 
comment.


svn path=/trunk/; revision=25549
2008-04-29 09:08:53 +00:00
f23d046965 app/widgets/Makefile.am app/widgets/widgets-types.h added GimpWindow class
2008-04-28  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpwindow.[ch]: added GimpWindow class and moved
	key-press-event handler from GimpDock to this class.

	* app/widgets/gimpdock.[ch]:
	* app/display/gimpdisplayshell.[ch]: derive from GimpWindow.


svn path=/trunk/; revision=25541
2008-04-28 16:30:55 +00:00
fea85ea945 app/display/gimpdisplayshell.c (gimp_display_shell_show_tooltip)
2008-04-14  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c 
(gimp_display_shell_show_tooltip)
	* app/display/gimpstatusbar.c (gimp_statusbar_progress_start)
	* app/gui/gui.c (gui_menu_show_tooltip): push a NULL stock-id.


svn path=/trunk/; revision=25479
2008-04-14 07:39:23 +00:00
01a35bddfb unfullscreen the window before doing anything else.
2008-04-11  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
	unfullscreen the window before doing anything else.


svn path=/trunk/; revision=25466
2008-04-11 14:42:43 +00:00
fe11741319 added new function gimp_display_close() which decides if
2008-04-05  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplay.[ch]: added new function
	gimp_display_close() which decides if gimp_display_delete() or
	gimp_display_empty() needs to be called.

	* app/display/gimpdisplay-foreach.[ch]: added new function
	gimp_displays_close() and removed the 'do_quit' parameter from
	gimp_displays_delete().

	* app/gui/gui.c (gui_exit_callback): changed accordingly.

	* app/display/gimpdisplayshell-close.c: removed
	gimp_display_shell_really_close() and call gimp_display_close()
	instead.

	* app/display/gimpdisplayshell.c (gimp_display_shell_empty): 
moved
	code to update the ui managers here.

	* app/actions/file-commands.c (file_save_cmd_callback)
	(file_close_cmd_callback)
	* app/dialogs/file-save-dialog.c (file_save_dialog_response)
	* app/dialogs/quit-dialog.c (quit_close_all_dialog_response):
	close displays instead of deleting them.

	* app/gui/gui-vtable.c (gui_display_delete): call
	gimp_display_close().


svn path=/trunk/; revision=25377
2008-04-05 20:32:24 +00:00
465b4e76c3 never set the dest_inc and src_dec variables to zero.
2008-03-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c 
(gimp_display_shell_scale_changed):
	never set the dest_inc and src_dec variables to zero.


svn path=/trunk/; revision=25313
2008-03-30 16:39:44 +00:00
9acc157a75 added new function gimp_display_shell_unset_cursor().
2008-03-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-cursor.[ch]: added new function
	gimp_display_shell_unset_cursor().
	(gimp_display_shell_real_set_cursor): deal with cursor_type -1 
and
	change the cursor to the default desktop cursor. Fixes warnings 
on
	image load.

	* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
	use gimp_display_shell_unset_cursor().


svn path=/trunk/; revision=25312
2008-03-30 16:09:55 +00:00
be216eea27 added an arbitrary number to the minimum height.
2008-03-27  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
	added an arbitrary number to the minimum height.

svn path=/trunk/; revision=25259
2008-03-27 12:08:55 +00:00
bfa3e92155 make sure that the statusbar frame requests enough space to hold it's
2008-03-27  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.c: make sure that the statusbar frame
	requests enough space to hold it's children, also the invisible ones.

	* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
	don't add 1 pixel here, this spacing is gone.

svn path=/trunk/; revision=25258
2008-03-27 11:38:45 +00:00
81c46c382b derive GimpStatusbar from GtkStatusbar. Use the normal statusbar label for
2008-03-27  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.[ch]: derive GimpStatusbar from
	GtkStatusbar. Use the normal statusbar label for statusbar
	messages and only show the progressbar when progress is active.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
	spacing from the main vertical box.

svn path=/trunk/; revision=25257
2008-03-27 10:43:55 +00:00
ccb8239a26 improve tooltip here too.
2008-03-26  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
	improve tooltip here too.


svn path=/trunk/; revision=25247
2008-03-26 18:26:13 +00:00
7dadaee825 install wilber.png.
2008-03-26  Sven Neumann  <sven@gimp.org>

	* data/images/Makefile.am: install wilber.png.

	* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): try to
	load "wilber.png" from $prefix/share/gimp/2.0/images.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new):
	improved tooltip.

svn path=/trunk/; revision=25242
2008-03-26 14:08:45 +00:00
7301aaaeae improve wilber scaling and remove the drop zone layout.
2008-03-26  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.[ch]: improve wilber scaling and remove
	the drop zone layout.

	* app/display/gimpdisplayshell.c: add a tooltip instead.


svn path=/trunk/; revision=25241
2008-03-26 13:49:27 +00:00
bfd94e8e6b app/display/Makefile.am split icon code to its own file.
2008-03-25  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-icon.[ch]: split icon code to its
	own file.

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

svn path=/trunk/; revision=25227
2008-03-25 16:13:17 +00:00
f7a49c83e9 added gimp_statusbar_peek(), a method to access the contents of the
2008-03-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.[ch]: added gimp_statusbar_peek(), a
	method to access the contents of the statusbar.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_window_state_event): when the iconfied state
	changes, call gimp_display_shell_progress_window_state_changed().

	* app/display/gimpdisplayshell-progress.[ch]: when the image
	window is iconified, display the progress message in the window
	title so that it appears in the task bar.

	* app/menus/plug-in-menus.c: formatting.

svn path=/trunk/; revision=25224
2008-03-25 14:07:10 +00:00
7de3392e26 remove the window state callback here...
2008-03-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.[ch]: remove the window
	state callback here...

	* app/display/gimpdisplayshell.c: ...add it here and turn it into
	a GtkWidget::window_state_event() implementation instead of a
	signal callback.


svn path=/trunk/; revision=25223
2008-03-25 13:42:40 +00:00
7c3819d467 moved handling of window state events to a separate callback.
2008-03-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.[ch]: 
	* app/display/gimpdisplayshell.c (gimp_display_shell_init): moved
	handling of window state events to a separate callback.

svn path=/trunk/; revision=25221
2008-03-25 13:12:36 +00:00
90c932f705 fix to work without menubar, don't reset GDK_HINT_USER_POS.
2008-03-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
	fix to work without menubar, don't reset GDK_HINT_USER_POS.


svn path=/trunk/; revision=25217
2008-03-25 10:08:19 +00:00
a8d42d6fa6 center the empty image window on first startup.
2008-03-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): center
	the empty image window on first startup.

svn path=/trunk/; revision=25214
2008-03-25 09:19:11 +00:00
ce4f0ec23d use the right GimpDisplayOptions to set the initial visibility of the
2008-03-23  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): use the
	right GimpDisplayOptions to set the initial visibility of the
	shell's widgets.


svn path=/trunk/; revision=25183
2008-03-23 16:24:35 +00:00
a12167bec4 implement GtkWidget::size_request() and also consider the children which
2008-03-23  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.c: implement GtkWidget::size_request()
	and also consider the children which can be invisible when the
	display is empty.

	* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
	set the minimum height of the display to menubar + statusbar
	height.


svn path=/trunk/; revision=25182
2008-03-23 16:10:03 +00:00
9af8a16ead app/dialogs/dialogs.c changed "gimp-no-image-window" to
2008-03-23  Sven Neumann  <sven@gimp.org>

	* app/dialogs/dialogs.c
	* app/display/gimpdisplayshell.c: changed "gimp-no-image-window" 
to
	"gimp-empty-image-window".


svn path=/trunk/; revision=25180
2008-03-23 15:39:09 +00:00
f8e5aa31bd Never shrink the empty display when filling it, only grow:
2008-03-23  Michael Natterer  <mitch@gimp.org>

	Never shrink the empty display when filling it, only grow:

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-scale.[ch]: add "gboolean
	grow_only" parameters to shrink_wrap() APIs which restricts
	resizing of the window to growing.

	* app/display/gimpdisplayshell-scale.[ch]
	(gimp_displaY_shell_scale_resize): remove boolean "redisplay"
	parameter because is was always passed as TRUE. Add boolean
	"grow_only" instead and pass it on to shrink_wrap()

	* app/actions/view-commands.c
	* app/display/gimpdisplayshell-handlers.c: pass grow_only = FALSE.

	* app/display/gimpdisplayshell.c (gimp_display_shell_idle_fill):
	pass grow_only = TRUE.


svn path=/trunk/; revision=25178
2008-03-23 15:16:44 +00:00
54d306e8ea added a dialog factory for displays and register "gimp-no-image-window"
2008-03-23  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/dialogs.[ch]: added a dialog factory for displays
	and register "gimp-no-image-window" with it.

	* app/display/gimpdisplay.[ch]: add a GimpDialogFactory parameter
	to gimp_display_new() and pass it on to gimp_display_shell_new().

	* app/display/gimpdisplayshell.[ch]: keep the passed
	GimpDialogFactory around. When the shell becomes empty, add it to
	the dialog factory and resize it to the remembered size; when it
	becomes non-empty, remove it from the dialog factory again.

	* app/gui/gui-vtable.c: pass the display dialog factory to
	gimp_display_new().


svn path=/trunk/; revision=25177
2008-03-23 13:40:39 +00:00
15c7937fc3 moved defines to the header file and changed to 640x400 which is actually
2008-03-21  Sven Neumann  <sven@gimp.org>

	* app/core/gimptemplate.[ch]: moved defines to the header file 
and
	changed to 640x400 which is actually almost the golden mean as
	claimed by the comment.

	* app/display/gimpdisplayshell.c: use the defines here.


svn path=/trunk/; revision=25165
2008-03-21 22:09:23 +00:00
81521fde6c gtk_window_present() the image window to make sure that images aren't
2008-03-21  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_fill_idle):
	gtk_window_present() the image window to make sure that images
	aren't opened into a minimized image window.


svn path=/trunk/; revision=25161
2008-03-21 21:15:21 +00:00
2b43fd7535 create the empty display before the other windows.
2008-03-20  Sven Neumann  <sven@gimp.org>

	* app/gui/gui.c (gui_restore_after_callback): create the empty
	display before the other windows.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): center
	the empty window and create additional image windows under the
	mouse cursor. Just an experiment ...

svn path=/trunk/; revision=25143
2008-03-20 15:22:57 +00:00
b0bcb37eb8 make it work when called with display->image == NULL. Use a randomly
2008-03-20  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): make it
	work when called with display->image == NULL. Use a randomly
	picked canvas size for now, more later.

	(gimp_display_shell_fill): add missing call to
	gimp_display_shell_scale_changed().

	* app/gui/gui.c (gui_restore_after_callback): create an empty
	display.


svn path=/trunk/; revision=25141
2008-03-20 13:27:49 +00:00
4aa6416c72 shrink-wrap the newly filled empty display in an idle function.
2008-03-20  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: shrink-wrap the newly filled
	empty display in an idle function.


svn path=/trunk/; revision=25138
2008-03-20 10:37:43 +00:00