From d384b37d0599d0795b095a54afbcf21011bc15e2 Mon Sep 17 00:00:00 2001 From: tkawata Date: Fri, 1 Jun 2012 21:47:08 +0900 Subject: [PATCH] Updated the window initialization. Remember geometory of the window. --- Source/DNSettings.cpp | 1 + Source/DNSettings.h | 1 + Source/QtDennco/mainwindow.cpp | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/Source/DNSettings.cpp b/Source/DNSettings.cpp index cfd977c..31aa719 100644 --- a/Source/DNSettings.cpp +++ b/Source/DNSettings.cpp @@ -21,6 +21,7 @@ const char *DNSettings::CONTEXT_PATH = "content_path"; const char *DNSettings::WINDOWLAYOUT = "windowlayout"; +const char *DNSettings::WINDOWGEOMETORY = "windowgeometory"; const char *DNSettings::SERIAL_PORTNAME = "serial portName"; const char *DNSettings::SERIAL_RATE = "serial rate"; const char *DNSettings::SERIAL_DATABITS = "serial databits"; diff --git a/Source/DNSettings.h b/Source/DNSettings.h index aace18a..f1d4e43 100644 --- a/Source/DNSettings.h +++ b/Source/DNSettings.h @@ -26,6 +26,7 @@ class DNSettings public: static const char *CONTEXT_PATH; static const char *WINDOWLAYOUT; + static const char *WINDOWGEOMETORY; static const char *SERIAL_PORTNAME; static const char *SERIAL_RATE; diff --git a/Source/QtDennco/mainwindow.cpp b/Source/QtDennco/mainwindow.cpp index 515b656..9ad19da 100644 --- a/Source/QtDennco/mainwindow.cpp +++ b/Source/QtDennco/mainwindow.cpp @@ -64,6 +64,10 @@ MainWindow::MainWindow(QWidget *parent) : std::string savedWindowStateStr = DNSettings::getValue(DNSettings::WINDOWLAYOUT,""); QByteArray savedWindowStateQArray(savedWindowStateStr.c_str()); restoreState(QByteArray::fromHex(savedWindowStateQArray)); + + std::string savedWindowGeometoryStr = DNSettings::getValue(DNSettings::WINDOWGEOMETORY,""); + QByteArray savedWindowGeometoryQArray(savedWindowGeometoryStr.c_str()); + restoreGeometry(QByteArray::fromHex(savedWindowGeometoryQArray)); } MainWindow::~MainWindow() @@ -77,6 +81,9 @@ void MainWindow::closeEvent(QCloseEvent *event) QByteArray savingWindowStateQArray = saveState().toHex(); DNSettings::setValue(DNSettings::WINDOWLAYOUT, savingWindowStateQArray.constData()); + QByteArray savingWindowGeometoryQArray = saveGeometry().toHex(); + DNSettings::setValue(DNSettings::WINDOWGEOMETORY, savingWindowGeometoryQArray.constData()); + stopEngine(); deleteCurrentEngine(); QMainWindow::closeEvent(event); @@ -186,6 +193,8 @@ void MainWindow::adjustWindowSize() { int hadjust = ui->webView->page()->mainFrame()->scrollBarMaximum(Qt::Horizontal); int vadjust = ui->webView->page()->mainFrame()->scrollBarMaximum(Qt::Vertical); + hadjust = hadjust > 0 ? hadjust : 0; + vadjust = vadjust > 0 ? vadjust : 0; QSize currentSize = size(); resize(currentSize.width() + hadjust, currentSize.height() + vadjust); } -- 2.11.0