ui: the signal badge is the drag handle (to a plot row, or to reorder); the list rows stop dragging
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
f27925da59
commit
ca10dfb323
9 files changed
+230
-109
No files matched your search
+4
-11
@@ -531,9 +531,6 @@ struct App {
|
||||
/// True while `sync_panel_switches()` is writing the switches: setting a `GtkSwitch` emits its own
|
||||
/// `notify::active`, and without this the program's own write would come back as a click.
|
||||
bool panel_switch_sync = false;
|
||||
/// True while a drag has the overlaid sidebar hidden: what it was showing before, so `drag-end` puts it
|
||||
/// back rather than guessing.
|
||||
bool sidebar_hidden_for_drag = false;
|
||||
/// The channel a session's trigger names, until `rebuild_trigger_signals()` can resolve it: the
|
||||
/// file stores a *name* and the trigger needs an index into the acquired channels, which do not
|
||||
/// exist until the stream has been described. Empty means "nothing pending".
|
||||
@@ -1166,11 +1163,11 @@ struct App {
|
||||
/// of them are streamed signals. The `MATH` divider and the math channels account for the rest, and
|
||||
/// `rows == signals + 1 + math` is the invariant the dump checks -- a list that lost its `+`.
|
||||
int dbg_signal_rows = 0;
|
||||
/// How many rows of the list carry a `GtkDragSource`: `rows - 1`, the divider not being draggable.
|
||||
/// How many rows of the list carry a `GtkDragSource`: 0 -- the signal badges are the drag handles now.
|
||||
int dbg_signal_drag_sources = -1;
|
||||
/// The drag-with-an-overlaid-sidebar pair: the sidebar hid for the drag, and came back after it.
|
||||
int dbg_drag_hid_sidebar = -1;
|
||||
int dbg_drag_restored_sidebar = -1;
|
||||
/// A drag begun through the first signal badge's source closed the open slide-over (1), or did not (0);
|
||||
/// -1 when there is no badge to drag.
|
||||
int dbg_drag_closed_slideover = -1;
|
||||
std::size_t dbg_signal_plain = 0;
|
||||
int dbg_side_column_after_hide = 1;
|
||||
std::string dbg_mode_triggered;
|
||||
@@ -1852,10 +1849,6 @@ const char* trigger_mode_text(TriggerMode m);
|
||||
TriggerMode trigger_mode_from_text(const std::string& s);
|
||||
/// The panel's controls from the model, and the session's trigger into both.
|
||||
void write_trigger_widgets(App& app);
|
||||
/// Hides the sidebar for the length of a drag when it is *overlaid*, and puts it back after. With the
|
||||
/// split view collapsed the sidebar covers the plot, so a drag that starts in the signal list has nowhere
|
||||
/// to land: the pointer is over the sidebar, not over a drop target.
|
||||
void row_drag_sidebar(App& app, bool dragging);
|
||||
/// The compact line the trigger pane shows while it is locked, and the lock itself: the panes'
|
||||
/// bodies, their [edit] buttons and the signal list's rows all follow from `trigger_locked` and
|
||||
/// `signals_locked`.
|
||||
|
||||
Reference in new issue
Block a user