From 6bb85c65b856d6412a05a7699983906f252206f3 Mon Sep 17 00:00:00 2001 From: krepa098 Date: Mon, 11 Aug 2014 14:07:27 +0200 Subject: [PATCH] save/restore status of the splitter --- mainwindow.ui | 2 +- settings.cpp | 12 ++++++++++++ settings.h | 4 ++++ widget/widget.cpp | 6 ++++-- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/mainwindow.ui b/mainwindow.ui index 3509b23d6..8622e3d68 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -225,7 +225,7 @@ - + 0 diff --git a/settings.cpp b/settings.cpp index 19e9e1f93..7d7571a14 100644 --- a/settings.cpp +++ b/settings.cpp @@ -106,6 +106,7 @@ void Settings::load() useNativeDecoration = s.value("nativeDecoration", true).toBool(); windowGeometry = s.value("windowGeometry", QByteArray()).toByteArray(); windowState = s.value("windowState", QByteArray()).toByteArray(); + splitterState = s.value("splitterState", QByteArray()).toByteArray(); s.endGroup(); s.beginGroup("Privacy"); @@ -166,6 +167,7 @@ void Settings::save(QString path) s.setValue("nativeDecoration", useNativeDecoration); s.setValue("windowGeometry", windowGeometry); s.setValue("windowState", windowState); + s.setValue("splitterState", splitterState); s.endGroup(); s.beginGroup("Privacy"); @@ -383,6 +385,16 @@ void Settings::setWindowState(const QByteArray &value) windowState = value; } +QByteArray Settings::getSplitterState() const +{ + return splitterState; +} + +void Settings::setSplitterState(const QByteArray &value) +{ + splitterState = value; +} + bool Settings::isMinimizeOnCloseEnabled() const { return minimizeOnClose; diff --git a/settings.h b/settings.h index a514350d5..c32203f41 100644 --- a/settings.h +++ b/settings.h @@ -124,6 +124,9 @@ public: QByteArray getWindowState() const; void setWindowState(const QByteArray &value); + QByteArray getSplitterState() const; + void setSplitterState(const QByteArray &value); + private: Settings(); Settings(Settings &settings) = delete; @@ -163,6 +166,7 @@ private: bool useNativeDecoration; QByteArray windowGeometry; QByteArray windowState; + QByteArray splitterState; // ChatView int firstColumnHandlePos; diff --git a/widget/widget.cpp b/widget/widget.cpp index e9281a891..6b4353368 100644 --- a/widget/widget.cpp +++ b/widget/widget.cpp @@ -55,6 +55,7 @@ Widget::Widget(QWidget *parent) //restore window state restoreGeometry(Settings::getInstance().getWindowGeometry()); restoreState(Settings::getInstance().getWindowState()); + ui->mainSplitter->restoreState(Settings::getInstance().getSplitterState()); if (Settings::getInstance().getUseNativeDecoration()) { @@ -147,8 +148,8 @@ Widget::Widget(QWidget *parent) //ui->friendList->viewport()->installEventFilter(this); // disable proportional scaling - ui->centralWidget->setStretchFactor(0,0); - ui->centralWidget->setStretchFactor(1,1); + ui->mainSplitter->setStretchFactor(0,0); + ui->mainSplitter->setStretchFactor(1,1); ui->statusButton->setObjectName("offline"); ui->statusButton->style()->polish(ui->statusButton); @@ -253,6 +254,7 @@ void Widget::closeEvent(QCloseEvent *event) { Settings::getInstance().setWindowGeometry(saveGeometry()); Settings::getInstance().setWindowState(saveState()); + Settings::getInstance().setSplitterState(ui->mainSplitter->saveState()); QWidget::closeEvent(event); }