Color picker button (color selector widget) needs to be context-aware

Bug #1086217 reported by su_v
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
Medium
Unassigned

Bug Description

Extension dialogs can reuse the color selector widget from Fill&Stroke. The newly added button to pick a color (special 'one-time' usage of the dropper tool) is also active in the extensions dialog, but instead of picking a color value and updating the color values in the dialog, all currently selected objects on-canvas are modified instead.

Sample test case:
1) draw a few shapes with varying colors, select them
2) open 'Filters > Shadows and Glows > Drop Shadow…'
3) on the 'Blur Color' tab, click on the color picker button to pick a color from the current drawing to be used for the drop shadow

Expected result:
A color from the current drawing is picked, and the values are filled into the color selector widget. No objects on-canvas are modified.

Actual result:
The color of the currently selected objects is modified.

Either the color picker button needs to be disabled in contexts where it is not supposed to edit a selection, or it needs to be enhanced to fill the picked color into the color selector widget, instead of modifying objects in the current selection directly.

The same problem applies to other places where the color selector widget is reused, e.g.
- Document properties: page background, grid & guides color,
- Preferences: default grid color, node tool path outline,

Tags: color ui
su_v (suv-lp)
description: updated
Revision history for this message
jazzynico (jazzynico) wrote :

Confirmed, the color should not be applied before the user clicks on the Apply button.

Changed in inkscape:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
su_v (suv-lp) wrote :

JazzyNico wrote:
> Confirmed, the color should not be applied before the user
> clicks on the Apply button

In my understanding that would not solve the reported problem: even if (for the color chooser in INX-based dialogs) it is only applied after clicking 'Apply'. the color is then applied to the object itself instead e.g. to the feFlood filter primitive for a drop shadow... In other places (changing e.g. the color for the document background, or the colors for grid lines and guides), there is no 'Apply' button at all.

Revision history for this message
Guiu Rocafort Ferrer (guiu.rocafort.ferrer) wrote :

I believe this is part of a more general case, where the color selector widget tool is re-used. The problem is that the way it is reused justs enables the dropper tool as if it was selected by the user, and performs the same way.

The dropper tool is not aware that it was activated from the Drop Shadow color picker ( for example ).
I find that the same happens with the fill-and-stroke Stoke tab. If you go to the "Stoke paint" tab, and use the dropper, the selected color is asigned to the fill of the object. I think it should feel the stoke color since it is the selected tab and the origin of the color picker activation.

I don't know for sure but probabily there is the same problem in other places.

One solution might be adding some ability to specify which value should the Dropper tool fill in case we use the tool from a specific place.

information type: Public → Public Security
information type: Public Security → Public
Revision history for this message
Guiu Rocafort Ferrer (guiu.rocafort.ferrer) wrote :

sorry about the information type change, it was made accidentally :(

Revision history for this message
Jonathan Hofinger (jhofinger) wrote :

Closing because the issue is not replicated in Inkscape 1.2alpha. When using the dropper in an extensions/filters dialog, no object is modified.

Closed by: https://gitlab.com/jhofinger

Changed in inkscape:
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.