diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-03-29 01:40:32 -0700 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-03-29 01:40:32 -0700 |
commit | 8142ac2c18eda6550058c930151908682ebec350 (patch) | |
tree | 63a0138e93e2a9a7491251abe5d0e0b34f4371df /src/qt/bitcoingui.cpp | |
parent | 792f9c81eb80fc68d868dcc1e494d2b5d899073f (diff) | |
parent | f688056f9d4958b50911933496bf1fa2e602d396 (diff) |
Merge pull request #2393 from r000n/staging
Staging - GUI fixes for upstream
Diffstat (limited to 'src/qt/bitcoingui.cpp')
-rw-r--r-- | src/qt/bitcoingui.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0d951718bb..b9cd7f51d2 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -54,6 +54,8 @@ #include <QUrl> #include <QMimeData> #include <QStyle> +#include <QSettings> +#include <QDesktopWidget> #include <iostream> @@ -69,7 +71,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): rpcConsole(0), prevBlocks(0) { - resize(850, 550); + restoreWindowGeometry(); setWindowTitle(tr("Bitcoin") + " - " + tr("Wallet")); #ifndef Q_OS_MAC qApp->setWindowIcon(QIcon(":icons/bitcoin")); @@ -187,6 +189,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): BitcoinGUI::~BitcoinGUI() { + saveWindowGeometry(); if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu) trayIcon->hide(); #ifdef Q_OS_MAC @@ -468,6 +471,28 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) } #endif +void BitcoinGUI::saveWindowGeometry() +{ + QSettings settings; + settings.setValue("nWindowPos", pos()); + settings.setValue("nWindowSize", size()); +} + +void BitcoinGUI::restoreWindowGeometry() +{ + QSettings settings; + QPoint pos = settings.value("nWindowPos").toPoint(); + QSize size = settings.value("nWindowSize", QSize(850, 550)).toSize(); + if (!pos.x() && !pos.y()) + { + QRect screen = qApp->desktop()->screenGeometry(); + pos.setX((screen.width()-size.width())/2); + pos.setY((screen.height()-size.height())/2); + } + resize(size); + move(pos); +} + void BitcoinGUI::optionsClicked() { if(!clientModel || !clientModel->getOptionsModel()) |