From 9db5e4a49c24855aea74b65ec3f4738ffe331530 Mon Sep 17 00:00:00 2001 From: Martino Ferrari Date: Tue, 3 Nov 2026 07:15:38 +0100 Subject: [PATCH] ui: tour and help describe the events block The dock tour stop names the Events block (one click replays, Manage opens the list) and the event-history and record hints point at the page and the dock instead of a left pane. Co-Authored-By: Claude Sonnet 4.6 --- src/ui_context_help.cpp | 12 +++++++----- src/ui_tour.cpp | 9 +++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/ui_context_help.cpp b/src/ui_context_help.cpp index 1096255..7d5211a 100644 --- a/src/ui_context_help.cpp +++ b/src/ui_context_help.cpp @@ -64,7 +64,7 @@ struct HelpHint { /// The table, which is the whole of the curation: a new surface is a row, and the heading row it /// names must already exist in `App` (that is what `ui_app.hpp`'s help-layer fields are for). /// -/// The trigger, cursors, measurements and signals headings live on slide-over pages, which exist +/// The trigger, cursors, measurements, events and signals headings live on slide-over pages, which exist /// (unmapped) whether or not the page is open: their hints are attached all the time and drawn while /// the page is on screen, so the dock needs no hint of its own and the layer has one code path. constexpr HelpHint kHelpHints[] = { @@ -100,14 +100,16 @@ constexpr HelpHint kHelpHints[] = { "measurement editor. A signal's badge, dragged onto a plot, draws it there.", "G", &App::signals_head}, {"events", "The event history", - "Every triggered acquisition the cache keeps, with a picture of each. Open one to read it as a " - "file, or select two or four and have them compared in two plots or overlaid in one.", + "Every triggered acquisition the cache keeps, with a picture of each. A double click on one " + "replays it, or select two or four and have them compared in two plots or overlaid in one. The " + "dock keeps a short list of the newest, where one click replays; its Manage button opens this " + "page.", "", &App::events_head}, {"events_record", "Recording events", "With this on, every acquisition the trigger latches is written to the event cache -- the " "samples around it and a picture of it -- so an event can be read again long after it has left " - "the live buffer. It is the switch beside it, and the same one the events pane shows the result " - "of.", + "the live buffer. It is the switch beside it, and the same one the dock's Events block and the " + "events page show the result of.", "", &App::trigger_record_row}, {"trigger_advanced", "The trigger's finer settings", "Pre-trigger share is how much of the event window is kept *before* the crossing, and hold-off " diff --git a/src/ui_tour.cpp b/src/ui_tour.cpp index bb73c84..d967bd6 100644 --- a/src/ui_tour.cpp +++ b/src/ui_tour.cpp @@ -456,9 +456,10 @@ constexpr TourStep kTourSteps[] = { &App::trigger_body}, {"side", nullptr, "The dock", "The dock beside the plot is a read-only copy of the cursors and of every measurement, in a " - "fixed width. Edit, beside each heading, opens that instrument's full panel over the plot; a " - "click on a measurement opens its dialog. The side-panel button in the bar above shows and hides " - "the dock.", + "fixed width, with the recorded events below them: one row per latched event, newest first, and " + "one click on a row replays it. Edit, beside each heading, opens that instrument's full panel " + "over the plot, Manage opens the full list of events; a click on a measurement opens its " + "dialog. The side-panel button in the bar above shows and hides the dock.", &App::side_box}, {"signals", "signals", "Adding a signal", "What can be added: the signals the source declares that are not acquired yet, each with the " @@ -504,7 +505,7 @@ void start_tour(App& app) { app.settings.tour_seen = true; (void)save_settings(app.settings); } - // The main window has no page stack (the dock holds only the readouts): its pages are the slide-over's, and + // The main window has no page stack (the dock holds the readouts and the events block): its pages are the slide-over's, and // the view's `on_page` hook opens one (or closes the panel for a stop with no page), replacing the // `page_stack` mechanism the chooser keeps. app.tour.on_page = tour_open_page;