Commit Graph

183 Commits

Author SHA1 Message Date
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
80997a8646 Remove most GTK_ADJUSTMENT() and (GtkAdjutment *) casts
they are obsolete in GTK+ 3.x because GtkAdjustment cannot be passed
around as GtkObject any longer, GtkObject is gone.
2018-06-24 18:15:16 +02:00
2dd2f1509b Enable and fix smooth scrolling and zooming
- Fix gimp_scroll_adjustment_values() for smooth scroll events
- Set GDK_SMOOTH_SCROLL_MASK on all widgets where we set GDK_SCROLL_MASK
- Add GIMP_ZOOM_SMOOTH to enum GimpZoomType
- Add "gdouble delta" to gimp_zoom_model_step()
- Change the meaning of the "scale" parameter to "scale or delta" in
  all functions that take GimpZoomType and a scale factor.
2018-05-20 21:06:34 +02:00
e4d05a4758 app: use gimp_scroll_adjustment_values() in GimpNavigationEditor
and change signature of GimpNavigationView::scroll() to have
a GdkEventScroll instead of a GdkScrollDirection.
2018-05-20 21:06:34 +02:00
1d8696cd80 Get rid of gdk_flush() globally, use gdk_display_flush() 2018-05-20 21:06:34 +02:00
7f3f1afa28 app: port gimp_navigation_editor_popup() to GdkMonitor's workarea 2018-05-20 21:06:33 +02:00
251d2f494e app: port some stuff to gdk_seat_grab/ungrab 2018-05-20 21:06:30 +02:00
8bb1637013 app: port GimpNavigationEditor to GtkStyleContext 2018-05-20 21:06:29 +02:00
539927ebfa app: replace all g_assert() by the newly added gimp_assert()
which is just a #define to g_assert for now, but can now easily be
turned into something that does some nicer debugging using our new
stack trace infrastructure. This commit also reverts all constructed()
functions to use assert again.
2018-02-11 22:23:10 +01:00
dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Ell
cd767505fc app: make GimpNavigationView rotation aware
Rotate the viewport marker to correctly reflect the visible part
of the image.
2016-07-21 21:25:49 +00:00
af976a75c3 app: add a GimpColorConfig to GimpDisplayShell
Use the shell's color config for color managing the display and
various auxiliary widgets attached to it, like the notebook tab widget
and navigation popup.

The config is currently just a reference to the global prefs config,
so no behavior changed.
2016-05-14 00:56:26 +02:00
32104b116d app: some cleanup in gimpdisplayshell-scroll.[ch]
Use more proper transform functions, formatting, make stuff static and
shorten function names.
2016-01-05 15:50:09 +01:00
51d41b2d61 app: fix GimpNavigationView and GimpNavigationEditor for rotated canvases
by changing it to always deal with the center of the viewport instead of
its upper-left corner.

Fix gimp_display_shell_scroll_center_image_coordinate() to use the
proper transform functions like in the last commit.
2016-01-05 15:14:08 +01:00
19b9bfd189 libgimpwidgets: add gtk_scale_new() to gimp3migration.[ch]
and use it all over the place. Also change some GtkObject* variables
to GtkAdjustment*.
2011-10-02 14:36:41 +02:00
3e336199b9 app: use gtk_box_new() 2011-09-30 11:29:11 +02:00
008a845aea app: Undeprecate GimpNavigationEditor 2011-07-05 22:13:18 +02:00
ab0b88b5db app: replace the last GtkObject members by GtkAdjustment
Also get rid of some unneeded GTK_ADJUSTMENT() casts and replace some
local GtkObject veriables by GtkAdjustment.
2011-05-15 17:00:41 +02:00
27ac2a3c38 app: Make GimpEditor instance members private 2011-04-10 12:12:01 +02:00
dea9176121 app: fix initial navigation popup position
so it doean't jump around on first mouse movement.
2011-04-03 18:00:12 +02:00
0e17e44ba4 app: move code from GtkObject::destroy() to GObject::dispose() 2010-09-26 22:35:49 +02:00
0985274e8c app: don't call scale functions on an empty display shell 2010-08-12 00:32:34 +02:00
e2cc191c92 Use GtkAdjustment's accessors 2009-10-08 20:05:12 +02:00
c5b856f16f Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
7d878f6f4b Use the GimpDisplayConfig from GimpDisplay where possible
...instead of going via display->gimp and casting.
2009-10-04 20:22:06 +02:00
ac98c2c234 Use gimp_display_get_shell() instead of directly accessing it 2009-10-04 19:56:39 +02:00
4da5ed3a8b Use gtk_widget_get_window() instead of widget->window 2009-07-15 15:02:31 +02:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
60424fa0af Clean up and simplify little.
* app/display/gimpnavigationeditor.c: Clean up and simplify
little.

svn path=/trunk/; revision=27588
2008-11-09 20:01:44 +00:00
5503e6a055 Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

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

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.


svn path=/trunk/; revision=27202
2008-10-09 20:24:04 +00:00
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
8ec1d65a4a removed trailing whitespace
svn path=/trunk/; revision=26852
2008-09-04 08:37:32 +00:00
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
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
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
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
b9f66d0489 gimp_display_shell_ -> gimp_display_shell_scroll_ for functions that are
2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.[ch]: gimp_display_shell_ ->
	gimp_display_shell_scroll_ for functions that are scroll
	related. Also did some other minor renamings.

	* app/display/gimpnavigationeditor.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c 
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell-callbacks.c: Adapt to the name
	changes.

svn path=/trunk/; revision=26476
2008-08-10 09:08:11 +00:00
aa27ae1bd0 Don't expose implementation details and extend the interface with trivial
2008-07-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/widgets/gimpnavigationview.[ch]: Don't expose implementation
	details and extend the interface with trivial new functions.

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_popup): Use the new interface instead of
	directly accessing the members of the navigation view.

svn path=/trunk/; revision=26236
2008-07-19 19:00:08 +00:00
a93373fdd9 BORDER_PEN_WIDTH is a normal constant, no need for voodoo.
2008-07-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_popup): BORDER_PEN_WIDTH is a normal
	constant, no need for voodoo.

svn path=/trunk/; revision=26170
2008-07-13 09:11:42 +00:00
9f5c347d4e Replace gimp_display_shell_scroll() with
2008-07-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c:
	Replace gimp_display_shell_scroll() with
	gimp_display_shell_center_around_image_coordinate() since that is
	easier to map to something sensible when we allow to scroll beyond
	image border.

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_marker_changed): Adapt to the new
	interface.

svn path=/trunk/; revision=26162
2008-07-12 14:20:54 +00:00
2e86bdab85 Added VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE marshaller.
2008-07-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/core/gimpmarshal.list: Added
	VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE marshaller.

	* app/widgets/gimpnavigationview.c: Make the "marker-changed"
	signal also pass the marker width and height as parameters.

	* app/display/gimpnavigationeditor.c: Updated accordingly.

svn path=/trunk/; revision=26160
2008-07-12 13:53:31 +00:00
06bd569012 Extend the interface with this function.
2008-07-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.[ch]
	(gimp_display_shell_get_viewport): Extend the interface with this
	function.

	* app/display/gimpnavigationeditor.c
	(gimp_navigation_editor_update_marker): Use it here.

svn path=/trunk/; revision=26114
2008-07-11 03:20:17 +00:00
8f21264592 Make gimp_display_shell_scroll() a sane public interface for scrolling and
2008-07-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.[ch]: Make
	gimp_display_shell_scroll() a sane public interface for scrolling
	and call the old version gimp_display_shell_scroll_private()

	* app/display/gimpnavigationeditor.c: Adapt to the saner version
	of gimp_display_shell_scroll()

	* app/display/gimpdisplayshell-callbacks.c: 
	* app/display/gimpdisplayshell-autoscroll.c: Use the private
	version of gimp_display_shell_scroll()

	* app/display/Makefile.am: Added gimpdisplayshell-private.h

svn path=/trunk/; revision=26110
2008-07-10 19:23:22 +00:00
6aa62a907b app/dialogs/channel-options-dialog.c app/dialogs/palette-import-dialog.c
2008-06-29  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/channel-options-dialog.c
	* app/dialogs/palette-import-dialog.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpnavigationeditor.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpscalebutton.c: replace adjustment->value by
	gtk_adjustment_get_value (adjustment).


svn path=/trunk/; revision=26019
2008-06-29 13:41:24 +00:00
8c66ea4b19 app/actions/layers-commands.c app/actions/view-actions.c
2008-06-28  Michael Natterer  <mitch@gimp.org>

	* app/actions/layers-commands.c
	* app/actions/view-actions.c
	* app/dialogs/about-dialog.c
	* app/dialogs/layer-options-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/display/gimpcanvas.c
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpnavigationeditor.c
	* modules/colorsel_water.c: use accessors instead of accessing
	members of GTK+ widgets directly.


svn path=/trunk/; revision=26006
2008-06-28 15:12:13 +00:00
cee3baea0f First draft of the "no image open" window, which is implemented as a
2008-03-18  Michael Natterer  <mitch@gimp.org>

	First draft of the "no image open" window, which is implemented as
	a display without image (a view with NULL model). Didn't change
	the display's appearance yet so I can first make sure the display
	without image works properly in all details before hiding these
	details.

	* app/core/gimp-gui.[ch]: add "gimp" parameter to display_create()
	and allow "image" to be NULL.

	* app/core/gimpcontext.c (gimp_context_real_set_display): a
	display's image can be NULL now.

	* app/display/gimpdisplay.[ch]: add Gimp and GimpDisplayConfig
	members.  Add Gimp parameter to gimp_display_shell_new(). Changed
	gimp_display_reconnect() to gimp_display_set_image() and allow to
	set a NULL image.

	* app/gui/gui-vtable.c (gui_display_create): if there is a single
	display without an image, call gimp_display_set_image() on that
	display instead of creating a new one.

	* app/display/gimpdisplayshell-close.c: if the last display is
	closed, don't close it but make it empty. Factored out that code
	to gimp_display_shell_really_close().

	* app/display/gimpdisplayshell-dnd.c: when dropping uris on an
	empty display, open the first one into that display and the other
	ones as layers of the newly opened image. This is consistent with
	dropping on an existing image but maybe needs some discussion.

	* app/display/gimpdisplayshell-callbacks.c: bail out early in the
	tool event callback so tools never have to deal with empty
	displays. In expose(), draw the drop zone on the empty display.

	* app/display/gimpdisplayshell-title.c: set the empty display's
	title to "Gimp - Drop Files".

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-autoscroll.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell-preview.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpnavigationeditor.c
	* app/display/gimpstatusbar.c: use display->gimp and
	display->config instead of going via the image. Guard against
	empty displays in some few places (most places can't be
	called). Where needed, use the canvas' dimensions instead of the
	image's dimensions so scroll offsets and scrollbars still have
	sane values instead of the last image's ones.

	* app/actions/actions.c (action_data_get_gimp)
	(action_data_get_context): use display->gimp instead of
	display->image->gimp.

	* app/actions/edit-commands.c (edit_paste_cmd_callback): redirect
	to "paste as new" if there is an empty display.

	* app/actions/tools-commands.c (tools_select_cmd_callback): don't
	initialize the new tool on an empty display.

	* app/actions/view-actions.c (view_actions_update): changed lots
	of sensitivity settings to be insensitive when there is no image
	(instead of no display).

	* app/actions/view-commands.c: use the display's config object
	instead of gimp's.


svn path=/trunk/; revision=25113
2008-03-18 21:22:21 +00:00
325d7d0f8f minor cleanup.
2007-12-18  Sven Neumann  <sven@gimp.org>

	* app/display/gimpnavigationeditor.c: minor cleanup.

	* app/widgets/gimpnavigationview.c
	(gimp_navigation_view_motion_notify): fixed handling of motion
	events that broke when I introduced the call to
	gdk_event_request_motions().

svn path=/trunk/; revision=24394
2007-12-18 17:43:01 +00:00
6d92a4a67f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimphelp-ids.h
	* app/display/gimpdisplayshell-scale.[ch]
	* app/display/gimpnavigationeditor.[ch]
	* app/actions/view-commands.[ch]
	* app/actions/view-commands.c:

	Changed "Fit Image to Window" to "Fill Window", and changed
	"fit-to" to "fill" in all the related things.  Fixes
	bug #490364.

svn path=/trunk/; revision=24370
2007-12-16 02:06:15 +00:00
b95ead41e3 renamed newly added members to scale_x and scale_y and removed the
2007-03-14  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]: renamed newly added members
	to scale_x and scale_y and removed the SCALEFACTOR macros.

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpnavigationeditor.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimprectangletool.c: changed accordingly.


svn path=/trunk/; revision=22120
2007-03-14 10:26:19 +00:00
74927c03a4 cache the display scale factors in the GimpDisplayShell struct and
2007-03-14  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]: cache the display scale
	factors in the GimpDisplayShell struct and recalculate it in
	gimp_display_shell_scale_factor_changed().

	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_set_dot_for_dot)
	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_resolution_changed_handler)
	(gimp_display_shell_monitor_res_notify_handler): update the scale
	factors by calling gimp_display_shell_scale_factor_changed().

	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpnavigationeditor.c: code cleanup.


svn path=/trunk/; revision=22118
2007-03-14 10:01:08 +00:00