mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-04 06:12:07 +01:00
Hide window from taskbar when "minimize to tray" active by making window into Tool window
This commit is contained in:
committed by
Luke Dashjr
parent
0ae535cdb2
commit
e20417c333
@@ -55,7 +55,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
|
||||
QMainWindow(parent),
|
||||
clientModel(0),
|
||||
walletModel(0),
|
||||
dummyWidget(0),
|
||||
encryptWalletAction(0),
|
||||
changePassphraseAction(0),
|
||||
aboutQtAction(0),
|
||||
@@ -85,9 +84,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
|
||||
// Create the tray icon (or setup the dock icon)
|
||||
createTrayIcon();
|
||||
|
||||
// Dummy widget used when restoring window state after minimization
|
||||
dummyWidget = new QWidget();
|
||||
|
||||
// Create tabs
|
||||
overviewPage = new OverviewPage();
|
||||
|
||||
@@ -161,7 +157,6 @@ BitcoinGUI::~BitcoinGUI()
|
||||
#ifdef Q_WS_MAC
|
||||
delete appMenuBar;
|
||||
#endif
|
||||
delete dummyWidget;
|
||||
}
|
||||
|
||||
void BitcoinGUI::createActions()
|
||||
@@ -387,14 +382,6 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason)
|
||||
}
|
||||
#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()
|
||||
{
|
||||
if(!clientModel || !clientModel->getOptionsModel())
|
||||
@@ -541,15 +528,19 @@ void BitcoinGUI::changeEvent(QEvent *e)
|
||||
{
|
||||
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
|
||||
setParent(dummyWidget, Qt::SubWindow);
|
||||
// Minimized, hide the window from taskbar
|
||||
setWindowFlags(windowFlags() | Qt::Tool);
|
||||
return;
|
||||
}
|
||||
else
|
||||
else if(wasMinimized && !isMinimized)
|
||||
{
|
||||
showNormal();
|
||||
// Unminimized, show the window in taskbar
|
||||
setWindowFlags(windowFlags() &~ Qt::Tool);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,8 +54,6 @@ private:
|
||||
|
||||
QStackedWidget *centralWidget;
|
||||
|
||||
QWidget *dummyWidget;
|
||||
|
||||
OverviewPage *overviewPage;
|
||||
QWidget *transactionsPage;
|
||||
AddressBookPage *addressBookPage;
|
||||
@@ -109,8 +107,6 @@ public slots:
|
||||
*/
|
||||
void askFee(qint64 nFeeRequired, bool *payFee);
|
||||
|
||||
void showNormal();
|
||||
|
||||
private slots:
|
||||
// UI pages
|
||||
void gotoOverviewPage();
|
||||
|
||||
Reference in New Issue
Block a user