diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-17 11:44:09 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-17 11:44:09 +0200 |
| commit | 629ec29e33506a9bf96f552dcc2e6b6cd0560916 (patch) | |
| tree | 5d7ff9fd4b938764a4f9a98cc09b03b5fb2fdc6c /gui/internal/ui/plan.go | |
| parent | 0e56395aaa46359974a5eb21acaab32b2ea02a0f (diff) | |
| download | krino-629ec29e33506a9bf96f552dcc2e6b6cd0560916.tar.gz krino-629ec29e33506a9bf96f552dcc2e6b6cd0560916.zip | |
gui: the toolbar in the order things happen, and an About block
The Plan bar now reads left to right as the work does: which
directory, how it should be listed, what of it, where it is on disk -
then Scan, and only then what to do with what came back. Scan carries
the theme's accent, being the button that starts everything.
Settings ends with About: the program and the version it was built
as, what it is in a sentence, the licence, and who to write to. The
text is model.About so it is tested; ui.Version is stamped by main.
leak-check knows krino's own contact address, so the address check
stays useful without a per-clone setting.
Diffstat (limited to 'gui/internal/ui/plan.go')
| -rw-r--r-- | gui/internal/ui/plan.go | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gui/internal/ui/plan.go b/gui/internal/ui/plan.go index 5daba6a..fe99a18 100644 --- a/gui/internal/ui/plan.go +++ b/gui/internal/ui/plan.go @@ -92,6 +92,10 @@ func newPlanView(w *Window) *planView { p.path.SetMaxWidthChars(20) p.dirs.Connect("notify::selected", p.showPath) p.scan = gtk.NewButtonWithLabel("Scan") + // The one button that starts everything, so it carries the theme's + // accent like Apply does (his request, 2026-09-17). + p.scan.AddCSSClass("suggested-action") + p.scan.SetTooltipText("read the directory and work out what would happen to each file; nothing is touched until Apply") p.selAll = gtk.NewButtonWithLabel("Select all") p.selNone = gtk.NewButtonWithLabel("None") p.apply = gtk.NewButtonWithLabel("Apply") @@ -104,26 +108,28 @@ func newPlanView(w *Window) *planView { bar.SetMarginStart(6) bar.SetMarginEnd(6) bar.SetMarginBottom(6) - bar.Append(gtk.NewLabel("Directory")) - bar.Append(p.dirs) - bar.Append(p.scan) // A filter over the plan: type a few letters of a name, as fzf does, - // and act on what is left. It sits by the Scan button, where the eye - // starts (his request, 2026-09-17). + // and act on what is left. p.filter = gtk.NewSearchEntry() p.filter.SetPlaceholderText("filter") p.filter.SetTooltipText("show only the files whose name or rule has these letters, in order; Select all then checks those") p.filter.SetSizeRequest(200, -1) - bar.Append(p.filter) // The order the plan is read in. It starts as the settings say and can // be changed for this window alone (his request, 2026-09-17). p.sort = gtk.NewDropDownFromStrings(sortItems()) p.sort.SetTooltipText("the order the plan is listed in; Settings has the one a new window starts with") + + // The bar reads as the order of operations: which directory, how it + // will be listed, what of it, where it is on disk - then Scan, and only + // then what to do with what comes back (his request, 2026-09-17). + bar.Append(gtk.NewLabel("Directory")) + bar.Append(p.dirs) bar.Append(gtk.NewLabel("sort")) bar.Append(p.sort) - + bar.Append(p.filter) bar.Append(p.path) + bar.Append(p.scan) bar.Append(p.selAll) bar.Append(p.selNone) bar.Append(p.checkedMenu()) |
