| 260 | }; |
| 261 | |
| 262 | std::array<PanelToggle, 3> panelToggles(Ui::MainWindow* ui) { |
| 263 | // Material's "Dock to Left" / "Dock to Right" glyphs fill the half |
| 264 | // of the frame opposite to the side they nominally dock toward, so |
| 265 | // the left-panel toggle reads correctly with the panel_right.svg |
| 266 | // asset and vice versa. |
| 267 | return {{ |
| 268 | {ui->tabbedPlotWidget->leftPanelButton(), ui->leftColumn, ":/resources/svg/panel_right.svg", |
| 269 | ":/resources/svg/panel_right_off.svg"}, |
| 270 | // Toggle target is timelineStrip, NOT the whole bottomPanel — the |
| 271 | // playback strip (timelineWidget) sits above the strip in the same |
| 272 | // panel and must remain visible at all times. Resize of the |
| 273 | // bottomPanel via the splitter handle grows the strip; the playback |
| 274 | // keeps its fixed height (sizePolicy Fixed-vertical in MainWindow.ui). |
| 275 | {ui->tabbedPlotWidget->bottomPanelButton(), ui->timelineStrip, ":/resources/svg/panel_bottom.svg", |
| 276 | ":/resources/svg/panel_bottom_off.svg"}, |
| 277 | {ui->tabbedPlotWidget->rightPanelButton(), ui->localToolbarWidget, ":/resources/svg/panel_left.svg", |
| 278 | ":/resources/svg/panel_left_off.svg"}, |
| 279 | }}; |
| 280 | } |
| 281 | |
| 282 | QUrl registryUrlFromSettings() { |
| 283 | const QString raw = QSettings().value(kRegistryUrlSettingsKey, kDefaultRegistryUrl).toString(); |
no test coverage detected