OSDN Git Service

Updated the window initialization.
authortkawata <takuji.kawata@gmail.com>
Fri, 1 Jun 2012 12:47:08 +0000 (21:47 +0900)
committertkawata <takuji.kawata@gmail.com>
Fri, 1 Jun 2012 12:47:08 +0000 (21:47 +0900)
Remember geometory of the window.

Source/DNSettings.cpp
Source/DNSettings.h
Source/QtDennco/mainwindow.cpp

index cfd977c..31aa719 100644 (file)
@@ -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";
index aace18a..f1d4e43 100644 (file)
@@ -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;
index 515b656..9ad19da 100644 (file)
@@ -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);
 }