darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.54k stars 1.13k forks source link

Collections: support selection of multiple values #10068

Closed arntanguy closed 1 year ago

arntanguy commented 2 years ago

Is your feature request related to a problem? Please describe.

Currently, the collection module filters all accept only one selected element, or in case of numerical values a combination of operator and value (number range [X;Y], >= X, etc). For each filter, a list/tree view of elements is shown (great). However, it is generally not possible to select multiple distinct elements from this list.

Examples:

Describe the solution you'd like

I think it'd be both quicker and more consistent to handle selection of multiple distinct elements for a single filter where it makes sense. For example:

This is of course a very minor suggestion, and it would complicate a bit the implementation. In most cases that'd resume to using expression IN ( x, y, z, ...) in SQL queries, and slightly complicate the list/tree view selection and filtering code. I'm not 100% sure if it's really worth it as everything is already achievable as-is (albeit with a bit of GUI fiddling involved to add all the desired filters) doesn't happen all that often), and creating new collections doesn't happen all that often. If people like the idea, I could see about implementing it.

Visual example based on my open PR #10030

Selecting the non-contiguous range of ratings -1;1;3;4 currently requires to do some combination of filters. Either select the whole range [-1;4] and then narrow it down by rejecting <> 0 and <> 2; or adding an individual filter for -1, 1, 3 4. Screenshot from 2021-09-23 19-21-00

Instead we could Ctrl-click on the rating entries in the list and generate the filter -1;1;3;4 in just 4 clicks (I haven't drawn the selected state here, but -1, 1, 3 and 4 rows would be selected). Screenshot from 2021-09-23 19-21-42

quovadit commented 2 years ago

It would be great to have multi-select for all collection-criteria.

For numerical values, the benefit for me would be limited, because range-selection makes sense most of the time. (why would I want to select rating 1 + 3 without 2?)

BUT: For non-numerical values there is no quick way at the moment to select more than one entry. This could be tags, but also creator, camera, folder, ...

I'm not sure, if semicolon (;) is the best choice to separate the list of distinct entries, because that's the current separator for ranges.

github-actions[bot] commented 2 years ago

This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

github-actions[bot] commented 1 year ago

This issue was closed because it has been stalled for 300 days with no activity. Please check if the newest release or nightly build has it fixed. Please, create a new issue if the issue is not fixed.