|
|
@ -58,7 +58,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): |
|
|
|
QMainWindow(parent), |
|
|
|
QMainWindow(parent), |
|
|
|
clientModel(0), |
|
|
|
clientModel(0), |
|
|
|
walletModel(0), |
|
|
|
walletModel(0), |
|
|
|
dummyWidget(0), |
|
|
|
|
|
|
|
encryptWalletAction(0), |
|
|
|
encryptWalletAction(0), |
|
|
|
changePassphraseAction(0), |
|
|
|
changePassphraseAction(0), |
|
|
|
aboutQtAction(0), |
|
|
|
aboutQtAction(0), |
|
|
@ -88,9 +87,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): |
|
|
|
// Create the tray icon (or setup the dock icon)
|
|
|
|
// Create the tray icon (or setup the dock icon)
|
|
|
|
createTrayIcon(); |
|
|
|
createTrayIcon(); |
|
|
|
|
|
|
|
|
|
|
|
// Dummy widget used when restoring window state after minimization
|
|
|
|
|
|
|
|
dummyWidget = new QWidget(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Create tabs
|
|
|
|
// Create tabs
|
|
|
|
overviewPage = new OverviewPage(); |
|
|
|
overviewPage = new OverviewPage(); |
|
|
|
|
|
|
|
|
|
|
@ -170,7 +166,6 @@ BitcoinGUI::~BitcoinGUI() |
|
|
|
#ifdef Q_WS_MAC |
|
|
|
#ifdef Q_WS_MAC |
|
|
|
delete appMenuBar; |
|
|
|
delete appMenuBar; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
delete dummyWidget; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void BitcoinGUI::createActions() |
|
|
|
void BitcoinGUI::createActions() |
|
|
@ -214,17 +209,17 @@ void BitcoinGUI::createActions() |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
tabGroup->addAction(messageAction); |
|
|
|
tabGroup->addAction(messageAction); |
|
|
|
|
|
|
|
|
|
|
|
connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage())); |
|
|
|
connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage())); |
|
|
|
connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage())); |
|
|
|
connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage())); |
|
|
|
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage())); |
|
|
|
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage())); |
|
|
|
connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage())); |
|
|
|
connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage())); |
|
|
|
connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage())); |
|
|
|
connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage())); |
|
|
|
connect(messageAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(messageAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(messageAction, SIGNAL(triggered()), this, SLOT(gotoMessagePage())); |
|
|
|
connect(messageAction, SIGNAL(triggered()), this, SLOT(gotoMessagePage())); |
|
|
|
|
|
|
|
|
|
|
|
quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this); |
|
|
|
quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this); |
|
|
@ -256,7 +251,7 @@ void BitcoinGUI::createActions() |
|
|
|
connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked())); |
|
|
|
connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked())); |
|
|
|
connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); |
|
|
|
connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); |
|
|
|
connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); |
|
|
|
connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); |
|
|
|
connect(openBitcoinAction, SIGNAL(triggered()), this, SLOT(showNormal())); |
|
|
|
connect(openBitcoinAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); |
|
|
|
connect(encryptWalletAction, SIGNAL(triggered(bool)), this, SLOT(encryptWallet(bool))); |
|
|
|
connect(encryptWalletAction, SIGNAL(triggered(bool)), this, SLOT(encryptWallet(bool))); |
|
|
|
connect(backupWalletAction, SIGNAL(triggered()), this, SLOT(backupWallet())); |
|
|
|
connect(backupWalletAction, SIGNAL(triggered()), this, SLOT(backupWallet())); |
|
|
|
connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase())); |
|
|
|
connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase())); |
|
|
@ -422,14 +417,6 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
void BitcoinGUI::showNormal() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
// Reparent window to the desktop (in case it was hidden on minimize)
|
|
|
|
|
|
|
|
if(parent() != NULL) |
|
|
|
|
|
|
|
setParent(NULL, Qt::Window); |
|
|
|
|
|
|
|
QMainWindow::showNormal(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void BitcoinGUI::optionsClicked() |
|
|
|
void BitcoinGUI::optionsClicked() |
|
|
|
{ |
|
|
|
{ |
|
|
|
if(!clientModel || !clientModel->getOptionsModel()) |
|
|
|
if(!clientModel || !clientModel->getOptionsModel()) |
|
|
@ -576,15 +563,19 @@ void BitcoinGUI::changeEvent(QEvent *e) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if(clientModel && clientModel->getOptionsModel()->getMinimizeToTray()) |
|
|
|
if(clientModel && clientModel->getOptionsModel()->getMinimizeToTray()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if(isMinimized()) |
|
|
|
QWindowStateChangeEvent *wsevt = static_cast<QWindowStateChangeEvent*>(e); |
|
|
|
|
|
|
|
bool wasMinimized = wsevt->oldState() & Qt::WindowMinimized; |
|
|
|
|
|
|
|
bool isMinimized = windowState() & Qt::WindowMinimized; |
|
|
|
|
|
|
|
if(!wasMinimized && isMinimized) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// Hiding the window from taskbar
|
|
|
|
// Minimized, hide the window from taskbar
|
|
|
|
setParent(dummyWidget, Qt::SubWindow); |
|
|
|
setWindowFlags(windowFlags() | Qt::Tool); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else if(wasMinimized && !isMinimized) |
|
|
|
{ |
|
|
|
{ |
|
|
|
showNormal(); |
|
|
|
// Unminimized, show the window in taskbar
|
|
|
|
|
|
|
|
setWindowFlags(windowFlags() &~ Qt::Tool); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -822,3 +813,11 @@ void BitcoinGUI::unlockWallet() |
|
|
|
dlg.exec(); |
|
|
|
dlg.exec(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void BitcoinGUI::showNormalIfMinimized() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if(!isVisible()) // Show, if hidden
|
|
|
|
|
|
|
|
show(); |
|
|
|
|
|
|
|
if(isMinimized()) // Unminimize, if minimized
|
|
|
|
|
|
|
|
showNormal(); |
|
|
|
|
|
|
|
} |
|
|
|