mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 20:03:53 +08:00
Cabana: save & restore splitter state (#26526)
save & restore splitter state
old-commit-hash: b6de850dd7
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user