feat(bandmap): drag the width, and remember it
Both band maps were pinned to a hardcoded width — 300px docked beside the tables, 260px per card in the Band map tab. On a busy band the map could not be given more room, and on a quiet one the log could not take it back. The docked map becomes a resizable grid column with the grip in the gap between the panes, so the handle costs no space; the tab cards share one width with the grip on their right edge. Side-by-side columns of different widths read as a mistake rather than a choice, which is why the tab has one width and not one per card. Double-click either grip to return to the default. The drag measures from the pointer's START position rather than the container, so the same helper serves both edges — the docked map sits on the left or the right depending on the operator's setting, and the grip is on its inner edge either way. Pointer capture, like the main splitter: without it the map or the grid under the cursor swallows the moves. Both widths are persisted through writeUiPref and registered as portable, so they travel with the data folder like the main splitter and the rest of the layout.
This commit is contained in:
@@ -39,6 +39,8 @@ const PORTABLE_KEYS = [
|
||||
'opslog.clusterModeFilter', 'opslog.clusterSearch', 'opslog.clusterHideWorked',
|
||||
'opslog.activeTab', // last selected tab
|
||||
'opslog.mainSplit', // Main tab: width share of the left pane (percent)
|
||||
'opslog.bandMapWidth', // docked band map: column width (px)
|
||||
'opslog.bandMapTabWidth', // Band map tab: shared card width (px)
|
||||
// NOTE: 'hamlog.awardColsShown' and the grid column layouts are NOT listed here.
|
||||
// They are handled by lib/gridPrefs, which scopes the localStorage cache PER
|
||||
// PROFILE and mirrors to the DB (already per-profile) itself — mirroring them
|
||||
|
||||
Reference in New Issue
Block a user