Browse Source

Save & restore window size and position

0.8
Roman Mindalev 12 years ago
parent
commit
e11f1806b6
  1. 20
      src/qt/bitcoingui.cpp
  2. 4
      src/qt/bitcoingui.h

20
src/qt/bitcoingui.cpp

@ -54,6 +54,7 @@
#include <QUrl> #include <QUrl>
#include <QMimeData> #include <QMimeData>
#include <QStyle> #include <QStyle>
#include <QSettings>
#include <iostream> #include <iostream>
@ -69,7 +70,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
rpcConsole(0), rpcConsole(0),
prevBlocks(0) prevBlocks(0)
{ {
resize(850, 550); restoreWindowGeometry();
setWindowTitle(tr("Bitcoin") + " - " + tr("Wallet")); setWindowTitle(tr("Bitcoin") + " - " + tr("Wallet"));
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
qApp->setWindowIcon(QIcon(":icons/bitcoin")); qApp->setWindowIcon(QIcon(":icons/bitcoin"));
@ -185,6 +186,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
BitcoinGUI::~BitcoinGUI() BitcoinGUI::~BitcoinGUI()
{ {
saveWindowGeometry();
if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu) if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu)
trayIcon->hide(); trayIcon->hide();
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
@ -466,6 +468,22 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason)
} }
#endif #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();
resize(size);
move(pos);
}
void BitcoinGUI::optionsClicked() void BitcoinGUI::optionsClicked()
{ {
if(!clientModel || !clientModel->getOptionsModel()) if(!clientModel || !clientModel->getOptionsModel())

4
src/qt/bitcoingui.h

@ -108,6 +108,10 @@ private:
void createTrayIcon(); void createTrayIcon();
/** Create system tray menu (or setup the dock menu) */ /** Create system tray menu (or setup the dock menu) */
void createTrayIconMenu(); void createTrayIconMenu();
/** Save window size and position */
void saveWindowGeometry();
/** Restore window size and position */
void restoreWindowGeometry();
public slots: public slots:
/** Set number of connections shown in the UI */ /** Set number of connections shown in the UI */

Loading…
Cancel
Save