Gimp/app/display
Michael Natterer 2f629072f1 Bug 787919 - Tool options are lost when switching device
GimpDeviceInfo is the only way to store per-device settings like
color, brush etc. It used to be derived from GimpContext and therefore
limited to the context's properties, causing everything else (all
tool-individual options) to be lost on device change.

Derive it from GimpToolPreset instead, so it's capable of storing
arbitrary tool options.

Adapt things to the new class hierarchy and add a bunch of signal
handlers that make sure the active device's GimpDeviceInfo is updated
properly when the tool changes. Also change device switching
accordingly.

Change GimpDeviceStatus to only show the stuff that is relevant to
each device's tool.

And various small changes to make things work properly...
2018-05-16 02:09:19 +02:00
..
.gitignore enums: add intermediate generated enum files to .gitignore 2017-08-24 15:35:27 -04:00
display-enums.c app: add dashed canvas handle types 2017-10-09 12:48:49 -04:00
display-enums.h app: add dashed canvas handle types 2017-10-09 12:48:49 -04:00
display-types.h app: move all propgui files from app/widgets/ to new folder app/propgui/ 2017-07-03 12:29:41 +02:00
gimpcanvas-style.c app: improve drawing of sample points so they are always visible 2018-04-19 16:20:41 +02:00
gimpcanvas-style.h Bug 761270 - layer boundary not re-drawn correctly on scrolling 2016-03-26 22:50:10 +01:00
gimpcanvas.c Bug 795557 - Misc. typo fixes in source, comments and doxygen (pt3) 2018-04-25 23:49:06 +02:00
gimpcanvas.h Bug 677375: tools do not strictly follow mouse... 2012-06-10 17:22:33 +02:00
gimpcanvasarc.c app: avoid scaling GimpCanvasArc to zero, it causes a non-invertable matrix 2018-05-04 11:48:44 +02:00
gimpcanvasarc.h app: add gimp_canvas_arc_set() 2017-06-27 00:46:24 +02:00
gimpcanvasboundary.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpcanvasboundary.h app: BoundSeg -> GimpBoundSeg, boundary_foo() -> gimp_boundary_foo() 2012-05-02 17:46:02 +02:00
gimpcanvasbufferpreview.c app: some cleanup in GimpCanvasBufferPreview 2015-03-01 00:18:10 +01:00
gimpcanvasbufferpreview.h app: add canvas buffer preview 2015-02-27 20:21:52 +01:00
gimpcanvascorner.c app: add gimp_canvas_corner_set() which sets everything except the anchor 2017-06-24 19:48:09 +02:00
gimpcanvascorner.h app: add gimp_canvas_corner_set() which sets everything except the anchor 2017-06-24 19:48:09 +02:00
gimpcanvascursor.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvascursor.h app: add and use more GimpCanvasItem setters 2011-03-28 15:15:43 +02:00
gimpcanvasgrid.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpcanvasgrid.h app: add a canvas grid item class and use it to draw the grid 2010-10-02 20:57:40 +02:00
gimpcanvasgroup.c app: properly remove the children when a GimpCanvasGroup gets destroyed 2017-06-10 22:08:09 +02:00
gimpcanvasgroup.h Bug 735810 - performance shrinkage of Paths tool 2016-01-24 00:57:16 +01:00
gimpcanvasguide.c Bug 761270 - layer boundary not re-drawn correctly on scrolling 2016-03-26 22:50:10 +01:00
gimpcanvasguide.h app: move all guide styling to gimpcanvas-style. 2016-02-03 19:38:32 +01:00
gimpcanvashandle.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpcanvashandle.h app: add utility function gimp_canvas_handle_calc_size() 2017-06-20 01:02:23 +02:00
gimpcanvasitem-utils.c app: add various handle and vectors hit tests to gimpcanvasitems-utils.[ch] 2017-06-21 23:21:26 +02:00
gimpcanvasitem-utils.h app: add various handle and vectors hit tests to gimpcanvasitems-utils.[ch] 2017-06-21 23:21:26 +02:00
gimpcanvasitem.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpcanvasitem.h app: add gimp_canvas_item_transform_distance() and transform_distance_square() 2017-06-10 21:55:40 +02:00
gimpcanvaslayerboundary.c app: rename more stuff from "floating sel" to "floating selection" 2016-05-20 16:46:26 +02:00
gimpcanvaslayerboundary.h app: add a layer boundary canvas item class 2010-10-03 00:28:40 +02:00
gimpcanvasline.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvasline.h app: change GimpCanvasItem setters to take GimpCanvasItem* 2011-03-28 12:20:36 +02:00
gimpcanvaspassepartout.c Bug 770689 - Custom transparency controller for dark... 2018-01-02 14:33:27 +01:00
gimpcanvaspassepartout.h app/display: add new canvas item GimpCanvasPassePartout 2010-10-18 22:17:27 +02:00
gimpcanvaspath.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvaspath.h app: Fix broken header guards. 2014-05-25 20:50:56 -04:00
gimpcanvaspen.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvaspen.h app: whitespace fix in gimpcanvaspen.h 2013-04-30 17:18:28 +02:00
gimpcanvaspolygon.c app: use gimp_transform_polygon() in GimpCanvasPolygon 2018-02-03 05:58:41 -05:00
gimpcanvaspolygon.h app: add gimp_canvas_polygon_set_points() 2017-06-23 01:40:35 +02:00
gimpcanvasprogress.c app: throttle GimpCanvasProgress updates 2018-03-16 04:34:00 -04:00
gimpcanvasprogress.h app: add GimpCanvasProgress, an on-canvas progress item 2010-11-09 19:35:04 +01:00
gimpcanvasproxygroup.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpcanvasproxygroup.h app: add a "shell" property to GimpCanvasItem 2010-10-01 14:13:45 +02:00
gimpcanvasrectangle.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvasrectangle.h app: port GimpMagnifyTool away from draw_tool_pause()/resume() 2011-03-28 12:22:29 +02:00
gimpcanvasrectangleguides.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvasrectangleguides.h app: add "n-lines" property to GimpCanvasRectangleGuides 2011-07-24 17:49:31 +02:00
gimpcanvassamplepoint.c app: improve drawing of sample points so they are always visible 2018-04-19 16:20:41 +02:00
gimpcanvassamplepoint.h app: gimp_canvas_sample_point_set(): x and y are integers not doubles 2011-04-03 23:42:26 +02:00
gimpcanvastextcursor.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvastextcursor.h app: add a "shell" property to GimpCanvasItem 2010-10-01 14:13:45 +02:00
gimpcanvastransformguides.c app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
gimpcanvastransformguides.h app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
gimpcanvastransformpreview.c app: pass near-plane z-coordinate to gegl:transform 2018-01-28 16:37:34 -05:00
gimpcanvastransformpreview.h app: use matrix to determine if doing perspective transform in preview 2017-11-14 11:24:56 -05:00
gimpcursorview.c Bug 772126 - Make GimpColorFrame handle very long numbers 2018-04-03 01:47:53 +02:00
gimpcursorview.h Bug 647957 - GimpColorFrame's CMYK mode is not color managed 2016-10-18 22:48:04 +02:00
gimpdisplay-foreach.c app: fix implicit enum casting 2015-01-10 00:02:28 +01:00
gimpdisplay-foreach.h
gimpdisplay-handlers.c
gimpdisplay-handlers.h
gimpdisplay.c app: align display paint area to a coarse grid 2018-04-08 09:42:47 -04:00
gimpdisplay.h app: get rid of including menus/ stuff from widgets/ and other places 2016-11-23 19:38:44 +01:00
gimpdisplayshell-actions.c app: add gimp_display_shell_set_action_sensitive() 2016-05-16 13:00:27 +02:00
gimpdisplayshell-actions.h app: add gimp_display_shell_set_action_sensitive() 2016-05-16 13:00:27 +02:00
gimpdisplayshell-appearance.c app: add gimpdisplayshell-actions.[ch] 2016-05-14 22:54:11 +02:00
gimpdisplayshell-appearance.h app: turn the transform preview into a GimpCanvasItem 2011-03-27 16:40:41 +02:00
gimpdisplayshell-autoscroll.c app: add gimp_context_get_foreground,background_pixel() 2012-05-02 17:50:41 +02:00
gimpdisplayshell-autoscroll.h
gimpdisplayshell-callbacks.c Bug 794356 - Rulers always shown for subsequent image views 2018-04-03 22:36:17 +02:00
gimpdisplayshell-callbacks.h Bug 794356 - Rulers always shown for subsequent image views 2018-04-03 22:36:17 +02:00
gimpdisplayshell-close.c Deprecate stock items for good and change all icon defines to GIMP_ICON_* 2017-03-05 16:01:59 +01:00
gimpdisplayshell-close.h
gimpdisplayshell-cursor.c app: add GimpDockContainer::get_dialog_factory() 2016-11-25 13:26:08 +01:00
gimpdisplayshell-cursor.h app: rename the functions dealing with GimpDisplayShell's software cursor 2011-02-20 14:46:52 +01:00
gimpdisplayshell-dnd.c app: remove non-cut/copy/paste functions from gimp-edit.[ch] 2018-04-18 23:48:33 +02:00
gimpdisplayshell-dnd.h
gimpdisplayshell-draw.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpdisplayshell-draw.h app: remove rectangle parameters from gimp_display_shell_draw_checkerboard() 2013-04-20 10:47:13 +02:00
gimpdisplayshell-expose.c Bug 735810 - performance shrinkage of Paths tool 2016-01-24 00:59:33 +01:00
gimpdisplayshell-expose.h app: remove the unused gimp_display_shell_expose_vectors() 2010-11-13 23:02:07 +01:00
gimpdisplayshell-filter-dialog.c app: use a propgui for display filters that return a NULL config widget 2017-11-02 16:12:33 -04:00
gimpdisplayshell-filter-dialog.h
gimpdisplayshell-filter.c app: avoid unnecessary work when all display filters are disabled 2017-11-05 09:03:04 -05:00
gimpdisplayshell-filter.h app: add a GimpColorConfig to GimpDisplayShell 2016-05-14 00:56:26 +02:00
gimpdisplayshell-grab.c Bug 702369 - foreground selection doesnt work with image precision >8 bit 2013-06-22 22:26:46 +02:00
gimpdisplayshell-grab.h app: sprinkle const qualifiers in the tool event callback functions 2011-05-31 23:18:11 +02:00
gimpdisplayshell-handlers.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpdisplayshell-handlers.h
gimpdisplayshell-icon.c app: use the new icons 2015-10-26 08:14:05 +01:00
gimpdisplayshell-icon.h
gimpdisplayshell-items.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpdisplayshell-items.h app: add an unrotated canvas item group to GimpDisplayShell 2013-04-24 00:01:01 +02:00
gimpdisplayshell-layer-select.c Bug 793951 - Fix crashes when some external APIs fail 2018-03-26 21:27:42 +02:00
gimpdisplayshell-layer-select.h
gimpdisplayshell-profile.c app: don't upscale preallocated display buffers by GIMP_DISPLAY_RENDER_MAX_SCALE 2017-12-31 11:57:22 -05:00
gimpdisplayshell-profile.h app: remove gimp_display_shell_profile_convert_buffer() 2016-05-30 01:26:50 +02:00
gimpdisplayshell-progress.c app: add GIMP_MESSAGE_BUG_WARNING + GIMP_MESSAGE_BUG_CRITICAL severity. 2018-02-12 18:22:15 +01:00
gimpdisplayshell-progress.h
gimpdisplayshell-render.c app: fix formatting in previous commit 2018-03-28 00:44:33 +02:00
gimpdisplayshell-render.h Bug 759287 - Canvas Tearing While in Rotated Canvas View 2017-12-09 05:01:30 -05:00
gimpdisplayshell-rotate-dialog.c Deprecate stock items for good and change all icon defines to GIMP_ICON_* 2017-03-05 16:01:59 +01:00
gimpdisplayshell-rotate-dialog.h app: add a rotate dialog to rotate to exact degrees 2013-04-20 23:22:14 +02:00
gimpdisplayshell-rotate.c Bug 768726 - Canvas rotation, flipping applied in image space ... 2016-07-21 21:24:06 +00:00
gimpdisplayshell-rotate.h Bug 758049 - Please add canvas flipping 2015-11-13 18:51:32 +01:00
gimpdisplayshell-rulers.c app: avoid expensive rotated scale calculation when scale_x == scale_y 2016-08-09 22:28:21 +00:00
gimpdisplayshell-rulers.h app: move the code to update scrollbars and rulers to their own files 2016-01-05 18:05:38 +01:00
gimpdisplayshell-scale-dialog.c app: get rid of icons in dialog buttons (use labels not stock IDs) 2017-02-12 16:18:54 +01:00
gimpdisplayshell-scale-dialog.h
gimpdisplayshell-scale.c app: fix comment typos. 2017-11-14 04:45:13 +01:00
gimpdisplayshell-scale.h app: allow to zoom with middle mouse button + control + drag up/down 2016-11-16 14:41:30 +01:00
gimpdisplayshell-scroll.c app: code layout/typo fixes 2016-08-09 21:55:19 +00:00
gimpdisplayshell-scroll.h app: move the code to update scrollbars and rulers to their own files 2016-01-05 18:05:38 +01:00
gimpdisplayshell-scrollbars.c app: make rulers rotation aware 2016-08-09 21:31:07 +00:00
gimpdisplayshell-scrollbars.h app: add gimp_display_shell_scrollbars_update_steppers() 2016-01-05 20:53:34 +01:00
gimpdisplayshell-selection.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpdisplayshell-selection.h app: get rid of selection_control() in core/ and display/ 2010-10-09 20:28:37 +02:00
gimpdisplayshell-title.c app: more gimp_unit_get_scaled_digits() usage. 2017-01-24 00:28:33 +01:00
gimpdisplayshell-title.h
gimpdisplayshell-tool-events.c Bug 787919 - Tool options are lost when switching device 2018-05-16 02:09:19 +02:00
gimpdisplayshell-tool-events.h Bug 732160 - menu activation with alt-somekey makes tools stay... 2016-04-15 00:22:25 +01:00
gimpdisplayshell-transform.c Bug 795557 - Misc. typo fixes in source, comments and doxygen (pt3) 2018-04-25 23:49:06 +02:00
gimpdisplayshell-transform.h Bug 791741 - Transparent rectangles when image is drawn 2017-12-19 15:04:51 -05:00
gimpdisplayshell-utils.c app: new gimp_display_shell_get_line_status(). 2017-12-22 23:24:24 +01:00
gimpdisplayshell-utils.h app: new gimp_display_shell_get_line_status(). 2017-12-22 23:24:24 +01:00
gimpdisplayshell.c Bug 794996 - Misc. typo fixes in comments in app/ 2018-04-08 21:25:56 +02:00
gimpdisplayshell.h Bug 724692 - Canvas rotation stuck with specific order of actions. 2018-04-14 15:36:08 +02:00
gimpdisplayxfer.c app: improvements in code executed a lot while painting. 2018-03-31 00:18:46 +02:00
gimpdisplayxfer.h app: make projection chunk size and display render chunk size configurable 2014-06-04 01:23:41 +02:00
gimpimagewindow.c Bug 794996 - Misc. typo fixes in comments in app/ 2018-04-08 21:25:56 +02:00
gimpimagewindow.h app: get rid of including menus/ stuff from widgets/ and other places 2016-11-23 19:38:44 +01:00
gimpmotionbuffer.c Bug 794996 - Misc. typo fixes in comments in app/ 2018-04-08 21:25:56 +02:00
gimpmotionbuffer.h Bug 794996 - Misc. typo fixes in comments in app/ 2018-04-08 21:25:56 +02:00
gimpmultiwindowstrategy.c app: make things behave more reasonable with multiple monitors 2014-05-02 03:01:23 +02:00
gimpmultiwindowstrategy.h app: Make positioning of new dockables depend on window mode 2011-07-03 21:20:36 +02:00
gimpnavigationeditor.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpnavigationeditor.h app: Undeprecate GimpNavigationEditor 2011-07-05 22:13:18 +02:00
gimpscalecombobox.c app: GimpScaleComboBox resized appropriately with its contents. 2017-11-14 05:08:02 +01:00
gimpscalecombobox.h app: GimpScaleComboBox: don't derive from GtkComboBoxEntry 2011-04-18 21:49:23 +02:00
gimpsinglewindowstrategy.c app: make things behave more reasonable with multiple monitors 2014-05-02 03:01:23 +02:00
gimpsinglewindowstrategy.h app: Make positioning of new dockables depend on window mode 2011-07-03 21:20:36 +02:00
gimpstatusbar.c app: throttle statusbar progress updates 2018-04-07 12:05:59 -04:00
gimpstatusbar.h app: throttle statusbar progress updates 2018-04-07 12:05:59 -04:00
gimptoolcompass.c app: fix GimpToolCompass for one perfectly vertical line 2018-01-28 15:24:29 +01:00
gimptoolcompass.h app: add GimpToolCompass, which is the entire canvas GUI of the measure tool 2017-06-11 23:38:55 +02:00
gimptooldialog.c app: rename GimpToolInfo's "blurb" and "help" members 2017-07-04 21:58:11 +02:00
gimptooldialog.h app: bring dialog titles and help IDs to GEGL filter dialogs 2016-01-17 20:17:07 +01:00
gimptoolgui.c app: get rid of a few forgotten stock-ids and new_from_stock() 2018-04-29 04:50:17 +02:00
gimptoolgui.h app: add "title", "icon_name" and "help_id" to gimp_tool_gui_new() 2016-01-22 23:41:45 +01:00
gimptoolgyroscope.c app: various fixes in GimpToolGyroscope 2018-04-11 04:53:26 -04:00
gimptoolgyroscope.h app: add GimpToolGyroscope 2018-04-10 10:18:48 -04:00
gimptoolhandlegrid.c app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
gimptoolhandlegrid.h app: add new GimpToolTransformGrid subclass GimpToolHandleGrid 2017-06-19 01:21:06 +02:00
gimptoolline.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimptoolline.h app: add handle-clicked signal to GimpToolLine 2017-10-09 12:48:50 -04:00
gimptoolpath.c app: gimp_tool_widget_get_cursor(): rename "cursor_modifier" to just "modifier" 2017-06-26 22:13:00 +02:00
gimptoolpath.h app: add GimpToolWidget subclass GimpToolPath, a complete vectors editor 2017-06-21 23:27:20 +02:00
gimptoolpolygon.c app: constrain line angles in display space, not image space 2017-12-22 06:32:24 -05:00
gimptoolpolygon.h app: add a generic GimpToolWidget::response() signal 2017-06-25 23:23:27 +02:00
gimptoolrectangle.c Source and trivial typos 2018-05-12 23:44:47 +02:00
gimptoolrectangle.h app: improve button release behavior or GimpToolRectangle a lot 2017-06-29 20:01:08 +02:00
gimptoolrotategrid.c app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptoolrotategrid.h app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptoolsheargrid.c app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptoolsheargrid.h app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptooltransformgrid.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimptooltransformgrid.h app: manage the transform tools' grid properties in GimpTransformTool 2017-06-19 23:06:39 +02:00
gimptoolwidget.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimptoolwidget.h app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
Makefile.am app: add GimpToolGyroscope 2018-04-10 10:18:48 -04:00