From 59917c51833a9f67d658a4d30a0c7ee37fbd6f7c Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Sat, 5 Sep 2026 18:29:08 +0200 Subject: [PATCH] Call the tool Compose, since that is what its panel says MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rail entry read "Crop" while the panel it opens is headed COMPOSE and the button leaving it said "Done Cropping". One mode, three names, and the odd one out was named after a single control rather than after the decision — which is what made cropping look like a category of its own in the first place. Straightening, the quarter turns and the flips are already in that panel, and perspective will be. `ViewMode.crop` keeps its name: it identifies a canvas interaction, which is exactly what it still is. Found by looking at the running application rather than by reading, which is also how the two halves of this were noticed to disagree at all. Co-Authored-By: Claude Opus 5 (1M context) --- ui/dr-ui/ui/app.slint | 8 +++++++- ui/dr-ui/ui/toolrail.slint | 10 +++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ui/dr-ui/ui/app.slint b/ui/dr-ui/ui/app.slint index d9a76bd..7c1388b 100644 --- a/ui/dr-ui/ui/app.slint +++ b/ui/dr-ui/ui/app.slint @@ -2248,8 +2248,14 @@ in property panel-visible: true; // Names the mode being left rather than saying // "Done", which was unambiguous while there was // one mode and would not be with two. + // "Composing", matching what the rail entry and + // the panel both call this mode. It said "Done + // Cropping" while the tool said Crop; naming the + // exit after one of the mode's controls, when the + // rail beside it named the mode, would be the same + // control answering to two words. text: root.cropping - ? "Done Cropping" + ? "Done Composing" : (root.repairing ? "Done Repairing" : "Done Masking"); active: true; clicked => { root.mode-picked(ViewMode.photo); } diff --git a/ui/dr-ui/ui/toolrail.slint b/ui/dr-ui/ui/toolrail.slint index 883bc0b..cf00f5a 100644 --- a/ui/dr-ui/ui/toolrail.slint +++ b/ui/dr-ui/ui/toolrail.slint @@ -140,7 +140,15 @@ export component ToolRail inherits Rectangle { // arrives this file's share of the work is one line. private property <[Tool]> tools: [ { icon: "photo", label: "Photo", mode: ViewMode.photo }, - { icon: "crop", label: "Crop", mode: ViewMode.crop }, + // "Compose", not "Crop", and the panel it opens says the same. The + // tool arms a crop gesture, but what it is *for* is deciding the + // frame — straightening, the quarter turns and the flips are in that + // panel too, and perspective will be. Naming the tool after one of its + // controls was what made cropping look like a category of its own. + // + // `ViewMode.crop` keeps its name: it identifies a canvas interaction, + // which is exactly what it still is. + { icon: "crop", label: "Compose", mode: ViewMode.crop }, { icon: "mask", label: "Local", mode: ViewMode.local }, { icon: "repair", label: "Repair", mode: ViewMode.spots }, ];