Show and set colour labels in the grid and develop, and filter by them
Colour labels could be read from a Lightroom sidecar and queried by the selector, but nothing drew one or set one, so the only labels a library held were ones another program had written. Every mark carries its label's initial on its colour — R, Y, G, B, P — so a label is read without telling red from green, which is what NFR-A11Y-3 asks of colour labels by name. A grid cell shows the mark before its filename. In the grid, 6, 7, 8 and 9 set red, yellow, green and blue as Lightroom's keys do, on the photograph under the pointer or on the selection by the rule the star keys follow; the same key again takes the label off, and over a mixed selection it sets it on all. The selection bar gains Label, which opens the six choices — each a mark and a name — and purple, which has no key, is there. In develop the top bar says "Label: Green" beside the mark, opens the same choices, and 6-9 label the open photograph. Each gesture is one catalog transaction, then the grid, the counts and both sidecars are written as a rating's are. The filter bar gains a chip per label, its mark and its name with a count, one at a time; the filter is one SQL term, travels in the place record, and "All" clears it.
This commit is contained in:
@@ -19,7 +19,7 @@ use crate::{AppWindow, Library, LibraryCell};
|
||||
use super::controller::{stop, LibraryController, LibraryFacts};
|
||||
use super::filter_bar::period_headings;
|
||||
use super::offline::{collection_images, refresh_offline, scope_is_pinned};
|
||||
use super::ratings_keywords::{refresh_rating_counts, sync_ratings};
|
||||
use super::ratings_keywords::{refresh_label_counts, refresh_rating_counts, sync_ratings};
|
||||
use super::sync::start_sweep;
|
||||
use super::timeline::{civil_from_unix, format_date, refresh_timeline, restore_position};
|
||||
|
||||
@@ -367,6 +367,7 @@ pub(super) fn load_window(window: &AppWindow, ctl: &Rc<LibraryController>) {
|
||||
// window, not one per cell.
|
||||
rating: 0,
|
||||
flag: 0,
|
||||
label: 0,
|
||||
// And by `bursts::sync_badges`, in one more query for the
|
||||
// window. Zero is "not in a burst", which is what almost every
|
||||
// photograph in a library is.
|
||||
@@ -424,6 +425,7 @@ pub(super) fn load_window(window: &AppWindow, ctl: &Rc<LibraryController>) {
|
||||
// so a cull still watches its own chips move.
|
||||
if describes_something_new {
|
||||
refresh_rating_counts(window, catalog);
|
||||
refresh_label_counts(window, catalog);
|
||||
}
|
||||
|
||||
// The library got shorter while the view was looking at it — a delete.
|
||||
|
||||
Reference in New Issue
Block a user