ui: Arm is disabled with trigger mode off, and the redundant Go-live button is gone
**`Arm` is now disabled while trigger mode is off**, and labelled `Arm` again: it is the one control in that pane that is *runtime* rather than setting, so with no engine running there is nothing to arm. It is also the only thing in the body that stays disabled — the settings themselves stay editable, which is the point of the previous commit. `arm sensitive with the trigger off=0` is the reading. **`Go live (trigger off)` is deleted.** Its handler was `trigger_toggle → FALSE`, i.e. exactly the toolbar's trigger switch and the pane's own switch, which is what it was for: "the way out of trigger mode, from inside the panel that froze the view: it is the toolbar's trigger switch, so there is exactly one piece of state." With that switch now in the pane's own heading, the button was the same control drawn a third time. The status line that told users about it says "or switch the trigger off to stream" instead. The events pane's own `events_live` button is a different button on a different path — the file view restore — and is untouched. **And one silent regression this work uncovered.** The `trigger panel:` frame reading had been walking the *wrapper* box the app puts around the `.ui`'s panel (heading row + locked summary + panel) ever since the heading moved out of the file in the lock commit, so it reported `boxes=2 … search_inside=0/4` against a panel that was entirely correct. It reads `trigger_body` — the file's own panel — again, and now says so in its comment, because a reading that can silently start describing the wrong widget is the failure it exists to catch. Verified: `trigger panel: boxes=15 controls_inside=15/15 search_widgets=4/4 search_inside=4/4` (the documented shape, restored); `arm sensitive with the trigger off=0`; `trigger panel sensitive …=1`; `panes:`/`panel switches:`/`pane edits:` unchanged; `make test-ui` 14 files; zero `Gtk-CRITICAL`.
This commit is contained in:
1 parent
796dda4ad5
commit
d8705a369f
6 files changed
+40
-36
No files matched your search
@@ -1169,6 +1169,9 @@ its pane.
|
||||
a trigger is configured before it is switched on — so this reads `1` always, and a `0` means the
|
||||
settings have been made unreachable again. The *cursors'* body is disabled with the cursors, and that
|
||||
is the pane whose readout has nothing to show.
|
||||
- **`arm sensitive with the trigger off=0`** is the one exception inside that body: `Arm` is a *runtime*
|
||||
control, so with trigger mode off there is no engine to arm and it is disabled (and labelled `Arm`
|
||||
again). `1` here is an Arm button that does nothing when clicked.
|
||||
- **`summary`** is the locked trigger pane's whole content, as `key: value` pairs separated by ` |`. The
|
||||
pane draws it as a small definition list — `signal`, `condition`, `level`, `mode` on four lines, and
|
||||
then only the figures that are *not* at their defaults (`noise band`, `HF reject`, `pre-trigger`,
|
||||
@@ -1348,7 +1351,11 @@ through one row type, for the reason in `invariants-gtk-and-chrome.md`. The form
|
||||
[udpscope] trigger panel: boxes=15 controls_inside=15/15 search_widgets=4/4 search_inside=4/4
|
||||
```
|
||||
|
||||
The trigger panel's frame, read from the window: `boxes` is the row boxes the `.ui` holds, `controls_inside`
|
||||
The trigger panel's frame, read from the window: **the `.ui`'s own panel** (`trigger_body`), not the box
|
||||
this app wraps it in — the heading row and the locked summary are the code's arrangement, and reading the
|
||||
*wrapper* made this line report `boxes=2 … search_inside=0/4` the moment the heading moved out of the file.
|
||||
That is the failure this line is for, so it is worth knowing it can happen to itself. `boxes` is the row
|
||||
boxes the `.ui` holds, `controls_inside`
|
||||
counts the fifteen controls the code built and then appended into those rows -- the last two being the
|
||||
noise band and the HF reject, whose rows arrived with the noise-rejection work, `search_widgets` is the four
|
||||
search buttons having resolved by id, and `search_inside` is those four being inside the block the expander
|
||||
|
||||
Reference in new issue
Block a user