Cabana: save & restore splitter state (#26526)

save & restore splitter state
old-commit-hash: b6de850dd7
taco
Dean Lee 3 years ago committed by GitHub
parent 78a2c19d0b
commit 9aee43274f
  1. 4
      tools/cabana/mainwin.cc
  2. 2
      tools/cabana/settings.cc
  3. 2
      tools/cabana/settings.h

@ -55,6 +55,9 @@ MainWindow::MainWindow() : QMainWindow() {
charts_widget = new ChartsWidget(this);
detail_widget = new DetailWidget(charts_widget, this);
splitter->addWidget(detail_widget);
if (!settings.splitter_state.isEmpty()) {
splitter->restoreState(settings.splitter_state);
}
main_layout->addWidget(splitter);
// right widgets
@ -247,6 +250,7 @@ void MainWindow::closeEvent(QCloseEvent *event) {
if (floating_window)
floating_window->deleteLater();
settings.splitter_state = splitter->saveState();
settings.save();
QWidget::closeEvent(event);
}

@ -21,6 +21,7 @@ void Settings::save() {
s.setValue("chart_theme", chart_theme);
s.setValue("max_chart_x_range", max_chart_x_range);
s.setValue("last_dir", last_dir);
s.setValue("splitter_state", splitter_state);
}
void Settings::load() {
@ -32,6 +33,7 @@ void Settings::load() {
chart_theme = s.value("chart_theme", 0).toInt();
max_chart_x_range = s.value("max_chart_x_range", 3 * 60).toInt();
last_dir = s.value("last_dir", QDir::homePath()).toString();
splitter_state = s.value("splitter_state").toByteArray();
}
// SettingsDlg

@ -1,5 +1,6 @@
#pragma once
#include <QByteArray>
#include <QComboBox>
#include <QDialog>
#include <QSpinBox>
@ -19,6 +20,7 @@ public:
int chart_theme = 0;
int max_chart_x_range = 3 * 60; // 3 minutes
QString last_dir;
QByteArray splitter_state;
signals:
void changed();

Loading…
Cancel
Save