Commit Graph

2574 Commits

Author SHA1 Message Date
a9eb0c5120 app: Fix a typo in an unused function
Found by wt on irc.
2013-09-05 13:20:03 +02:00
4c8399ec0b Bug 701090: reorder the shells too when tabs are reordered.
This allows to not lose the tab order after we come back from multi-window mode.
2013-08-29 18:48:19 +12:00
34a197e304 Bug 701090: allowing to reorder shell tabs by drag'n drop in single-window-mode. 2013-08-29 18:36:13 +12:00
0df8ae52fb Bug 704065 - Snap default preferences are now settable in the preferences.
Along with this change, the snap preferences have been moved from
GimpDisplayConfig to GimpDisplayOptions, where it makes much more sense.
One of the consequences is that there is no need to duplicate these
values in GimpDisplayShell anymore to differenciate defaults and
current settings.
2013-08-27 23:31:22 +12:00
55a70729ae app: add some function stubs to GimpOverlayDialog
and move the TODO comments from GimpToolGui to the stubs.
2013-08-03 02:32:02 +02:00
fb078df6fb Bug 704432 - Warning occurs when using a tool with a GimpToolGui
gimp_tool_gui_update_buttons(): set the alternative order on the
buttons only if it was already provided.
2013-07-23 08:55:13 +02:00
816f651b82 Bug 675436 - Tabs always present when docks shown and absent when docks hidden
The main change is that even with only 1 image in single window mode,
there is now a tab.
Also whatever the number of images when you hide docks with Tab, no tabs
are shown.
2013-07-22 01:19:32 +09:00
de8dc1c96a app: simplify config access in GimpImageWindow
We have a "gimp" member, no need to go via factory->context->gimp.
2013-07-20 15:25:33 +02:00
5b39be5605 Bug 679195 - Foreground Select Tool Mask Inverted
gimp_display_shell_render(): invert the mask so it masks what is *not*
the foreground object.
2013-07-15 01:57:00 +02:00
7e513faa50 Bug 703787 - Crash during switch from multi to single window mode
Shells can now travel from one window to another. Canvas position code
should therefore not keep track of the image window for a specific shell
but must use whatever is the current window for this shell (even though
it may be a different one before and after the size-allocate).
This also partly fixes some positioning issue during mode switch.
2013-07-13 09:15:21 +09:00
112fa53730 Bug 703736: when switching from multi to single window mode, tab order is lost. 2013-07-08 09:34:09 +09:00
31e9cc2ad9 Bug 702369 - foreground selection doesnt work with image precision >8 bit
This removes the obsolete check which makes the tool fail from
gimp_display_shell_set_mask(). Also change the foreground select tool
and the display mask from using GimpChannel to GeglBuffer, because
that's what it needs, simply buffers. Most changed files simply newly
include <gegl.h> because a GeglBuffer appeared in two headers.
2013-06-22 22:26:46 +02:00
7a0f8ad78e Bug 701410 - Small artifacts appear when performing a selection
Do not allow negative radius.
2013-06-21 20:17:01 +02:00
6ad70e33e6 app: gimp_display_shell_selection_init(): fix declaration after statement 2013-06-21 14:37:56 +02:00
cfd360aa03 app: g_return_if_fail (shell_selection) on the public API in gimpdisplayshell-selection.c, move free null check to gimpdisplayshell's dispose() 2013-06-16 20:21:32 +02:00
934edb75ab app: redo commit "make sure overlay widgets are keyboard navigatable"
Letting just tab presses bubble up when an overlay canvas child didn't
handle a key event isn't enough. Instead, let all key presses and
releases bubble up if the canvas itself doesn't have the focus.
Read: don't make assumptions.
2013-06-08 17:27:05 +02:00
25cc5922b6 app: add gimp_tool_gui_set_focus_on_map() and use it 2013-06-08 15:34:23 +02:00
2d68b1d4f9 app: make sure overlay widgets are keyboard navigatable
Tab key events are not handled by the widget itself, they are supposed
to bubble up until they hit the generic keyboard navigation code
that knows about the focus chain, therefore:

gimp_display_shell_canvas_tool_events(): if an overlay widget is
focussed, don't handle Tab events and toggle dock visibility. Instead,
simply bail out with FALSE so the event reaches te keyboard navigation
code.

Also treat GDK_KEY_KP_Tab like GDK_KEY_Tab all over the place.
2013-06-08 15:27:14 +02:00
1982cf1db7 app: add gimp_tool_gui_set,get_overlay()
which allow to toggle embedded and dialog style gui.
2013-06-08 01:32:34 +02:00
ad8d12ed69 app: add "response" signal to GimpToolGui
and connect to it instead of to gimp_tool_gui_get_dialog()'s signal.
One more step towards on-the-fly embedding/detaching.
2013-06-07 23:45:11 +02:00
e7bb2805c2 app: keep around all settable stuff in GimpToolGui
so the gui can be recreated when switching from embedded to detached
or vice versa.
2013-06-07 23:20:20 +02:00
0afa7d30f0 app: add gimp_tool_gui_set_description() and use it 2013-06-07 17:01:39 +02:00
9a811d276e app: add gimp_tool_gui_set_alternative_button_order() and use it
Also make some of GimpToolGui's memory management proper, there was
no leak but it needs to be proper in order to add runtime switching
between dialog and overlay.
2013-06-07 15:18:24 +02:00
170b987b99 app: put tool overlays into the canvas upper-right corner 2013-06-07 12:21:38 +02:00
88387d6e8d app: remove the "shell" parameter from gimp_tool_dialog_new() and gui_new() 2013-06-07 12:19:42 +02:00
3def3a1ade app: raise the dialog if already visible in gimp_tool_gui_show() 2013-06-07 12:12:28 +02:00
60b7dc15f1 app: add gimp_tool_gui_set_default_response() 2013-06-07 11:39:24 +02:00
761ddf0835 app: add gimp_tool_gui_set_response_sensitive() 2013-06-07 11:02:42 +02:00
ebde92ccb6 app: allow a NULL shell in gimp_tool_dialog_set_shell() 2013-06-07 10:26:34 +02:00
2876e43d00 app: add new helper object GimpToolGui
which delegates a tool's dialog to either a GimpToolDialog or an
embedded GimpOverlayDialog.
2013-06-07 10:24:51 +02:00
ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
a078ca3f5f app: change serialization of the right docks width in SWM (again)
Use "right-docks-width" and always a positive value instead of
"right-docks-position" (as opponsed to "left-docks-width", that
distinction is a GtkPaned implementation detail and does not belong
into a config file). Parse all old values too. Also fix a glitch in
the deserialization code which might fix bug #700147.
2013-05-13 00:00:57 +02:00
6008c2019b Bug 664584: WM DELETE event in single window mode is synonym to file-quit.
In multi-window mode, closing an image window is only meant to close
the current image (unless this is the last empty window).
In single window mode though, you are meaning to close the whole program.

Thanks to Niels Martignène for the original patch.
2013-05-12 04:56:15 +09:00
8940b25c6d app: don't crash when adjusting quality during an export to jpeg
with preview enabled
2013-05-04 18:13:19 +02:00
5bdadcc17d app: whitespace fix in gimpcanvaspen.h 2013-04-30 17:18:28 +02:00
c7879266d4 app: fix GimpDisplayShell mask drawing, again 2013-04-29 23:15:37 +02:00
87584d2f82 Bug 699100 - Move tool: space-bar inhibits function of Move tool
Don't try to switch to the move tool if the move tool is already active.
Also never bail out early from gimp_display_shell_space_pressed() so we
don't end up in an inconsistent state.
2013-04-28 15:28:18 +02:00
77e70f3550 app: remove the manual double buffering from the canvas
It is messing with overlay widgets. Is was effectively disabled since
cairo tool drawing was introduced, but not completely.
2013-04-28 14:56:07 +02:00
915b0f3eec app: re-enable and port the display shell mask rendering code
for the ported foreground select tool. Untested!
2013-04-26 10:33:10 +02:00
89081075f3 app: don't subtract the offset twice in zoom_xy() and transform_xy() 2013-04-25 09:13:30 +02:00
5d0450e4ea app: draw guides across the entire canvas also when rotated 2013-04-25 09:12:35 +02:00
37d589335f app: consolidate all transform API in gimpdisplayshell-transform.[ch]
Added complete API for zoom/unzoom (scale and scroll) and
rotate/unrotate, with the same set of functions as the existing
transform/untransform. Moved some special case functions to the
namespaces they belong.
2013-04-25 00:29:58 +02:00
aea94211b1 app: add an unrotated canvas item group to GimpDisplayShell
and put the software cursor and the tool progress there.
2013-04-24 00:01:01 +02:00
a4d8ce6d11 app: update the rotate dialog's spinbutton when the view is rotated 2013-04-22 23:18:27 +02:00
3643551280 Bug 697530 - zoom during mouse-pan focuses on wrong location
Block all key events while middle-mouse panning, to prevent
accelerators from being invoked.
2013-04-21 20:00:28 +02:00
3972da5256 app: add signal GimpDisplayShell::rotated and use it to update the menu 2013-04-21 03:15:22 +02:00
b4a2cf9432 app: remove useless real_new_scale variable from gimp_display_shell_scale() 2013-04-21 03:14:36 +02:00
ca9a9fb498 app: reset the rotation to zero when the shell is emptied
so the next image doesn't appear rotated.
2013-04-21 02:46:17 +02:00
81e293cb06 app: don't leak the rotate transform matrices when destroying the shell 2013-04-21 02:40:41 +02:00
ee2e5fb517 app: fix image rendering atifacts in rotated views
- stroke around the drawn area to work around the impossibility of
  tiling antialiased stuff.
- don't use the display xfer stuff because if we overdraw we must
  not have anything in the source pattern outside the drawn region
2013-04-21 02:10:36 +02:00