Make the Identity Manager a peer of the library and develop
It was reachable only from the library header, which made it a side trip rather than a mode. It is now reachable from develop's header too, beside the way back, because that is the same kind of move -- leaving this photograph for somewhere else in the library -- and a screen you can only reach from one of the other two is not a peer of them. Leaving returns to whichever screen opened it, and the button says which. A back button that read "Library" while returning to develop would be lying about the one thing a back button has to be right about. The develop session is only hidden, never torn down, so returning to it costs nothing and keeps the photographer's place. The header now matches the other two screens rather than using a close cross: three screens whose headers disagree read as three applications. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -46,6 +46,7 @@ component StatusBar inherits Rectangle {
|
||||
in property <bool> can-redo: false;
|
||||
|
||||
callback back-to-library();
|
||||
callback open-people();
|
||||
callback open-settings();
|
||||
callback toggle-panel();
|
||||
callback export-image();
|
||||
@@ -99,6 +100,18 @@ component StatusBar inherits Rectangle {
|
||||
clicked => { root.back-to-library(); }
|
||||
}
|
||||
|
||||
// The third screen, reachable from the second. Beside the way back
|
||||
// because it is the same kind of move — leaving this photograph for
|
||||
// somewhere else in the library — and because a mode you can only
|
||||
// reach from one of the other two is not a peer of them, whatever the
|
||||
// navigation model says.
|
||||
Button {
|
||||
text: "Identity";
|
||||
y: (parent.height - self.height) / 2;
|
||||
visible: root.can-return-to-library;
|
||||
clicked => { root.open-people(); }
|
||||
}
|
||||
|
||||
Value { text: root.filename; compact: true; overflow: elide; }
|
||||
|
||||
Caption { text: root.position; }
|
||||
@@ -534,6 +547,7 @@ export component AppWindow inherits Window {
|
||||
in property <bool> identity-indexing: false;
|
||||
in property <string> identity-indexing-status;
|
||||
in property <bool> identity-model-missing: false;
|
||||
in property <string> identity-back-label: "‹ Library";
|
||||
in property <string> identity-coverage;
|
||||
in property <bool> identity-coverage-complete: false;
|
||||
in property <int> identity-picked: 0;
|
||||
@@ -1287,6 +1301,7 @@ in property <bool> panel-visible: true;
|
||||
indexing-status: root.identity-indexing-status;
|
||||
model-missing: root.identity-model-missing;
|
||||
picked-count: root.identity-picked;
|
||||
back-label: root.identity-back-label;
|
||||
coverage: root.identity-coverage;
|
||||
coverage-complete: root.identity-coverage-complete;
|
||||
|
||||
@@ -1578,6 +1593,7 @@ in property <bool> panel-visible: true;
|
||||
can-undo: root.can-undo;
|
||||
can-redo: root.can-redo;
|
||||
back-to-library() => { root.back-to-library(); }
|
||||
open-people() => { root.identity-open(); }
|
||||
open-settings() => { root.settings-open(); }
|
||||
toggle-panel() => { root.toggle-panel(); }
|
||||
export-image() => { root.export-image(); }
|
||||
|
||||
Reference in New Issue
Block a user