Pull request #21: windows fixes/cleanup by Matoking
This commit is contained in:
parent
cf9195c808
commit
94723e27ad
3 changed files with 53 additions and 21 deletions
|
@ -5,7 +5,6 @@
|
|||
#include "clientmodel.h"
|
||||
#include "walletmodel.h"
|
||||
#include "optionsmodel.h"
|
||||
#include "qtwin.h"
|
||||
|
||||
#include "headers.h"
|
||||
#include "init.h"
|
||||
|
@ -150,24 +149,6 @@ int main(int argc, char *argv[])
|
|||
window.setClientModel(&clientModel);
|
||||
window.setWalletModel(&walletModel);
|
||||
|
||||
if (QtWin::isCompositionEnabled())
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
// Windows-specific customization
|
||||
window.setAttribute(Qt::WA_TranslucentBackground);
|
||||
window.setAttribute(Qt::WA_NoSystemBackground, false);
|
||||
QPalette pal = window.palette();
|
||||
QColor bg = pal.window().color();
|
||||
bg.setAlpha(0);
|
||||
pal.setColor(QPalette::Window, bg);
|
||||
window.setPalette(pal);
|
||||
window.ensurePolished();
|
||||
window.setAttribute(Qt::WA_StyledBackground, false);
|
||||
#endif
|
||||
QtWin::extendFrameIntoClientArea(&window);
|
||||
window.setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
window.show();
|
||||
|
||||
app.exec();
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include "guiconstants.h"
|
||||
#include "askpassphrasedialog.h"
|
||||
#include "notificator.h"
|
||||
#include "qtwin.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QMainWindow>
|
||||
|
@ -159,6 +160,16 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
|
|||
// Doubleclicking on a transaction on the transaction history page shows details
|
||||
connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails()));
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
// Windows-specific customization
|
||||
if (QtWin::isCompositionEnabled())
|
||||
{
|
||||
QtWin::extendFrameIntoClientArea(&window);
|
||||
window.setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
setWindowComposition();
|
||||
|
||||
gotoOverviewPage();
|
||||
}
|
||||
|
||||
|
@ -216,7 +227,7 @@ void BitcoinGUI::createActions()
|
|||
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
|
||||
connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked()));
|
||||
connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked()));
|
||||
connect(openBitcoinAction, SIGNAL(triggered()), this, SLOT(show()));
|
||||
connect(openBitcoinAction, SIGNAL(triggered()), this, SLOT(showNormal()));
|
||||
connect(encryptWalletAction, SIGNAL(triggered(bool)), this, SLOT(encryptWallet(bool)));
|
||||
connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase()));
|
||||
}
|
||||
|
@ -297,9 +308,10 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason)
|
|||
{
|
||||
if(reason == QSystemTrayIcon::Trigger)
|
||||
{
|
||||
// Doubleclick on system tray icon triggers "open bitcoin"
|
||||
// Click on system tray icon triggers "open bitcoin"
|
||||
openBitcoinAction->trigger();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BitcoinGUI::optionsClicked()
|
||||
|
@ -414,10 +426,12 @@ void BitcoinGUI::changeEvent(QEvent *e)
|
|||
}
|
||||
else
|
||||
{
|
||||
show();
|
||||
e->accept();
|
||||
}
|
||||
}
|
||||
}
|
||||
setWindowComposition();
|
||||
QMainWindow::changeEvent(e);
|
||||
}
|
||||
|
||||
|
@ -431,6 +445,41 @@ void BitcoinGUI::closeEvent(QCloseEvent *event)
|
|||
QMainWindow::closeEvent(event);
|
||||
}
|
||||
|
||||
void BitcoinGUI::setWindowComposition()
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
// Make the background transparent on Windows Vista or 7, except when maximized
|
||||
// Otherwise text becomes hard to read
|
||||
if (QtWin::isCompositionEnabled())
|
||||
{
|
||||
QPalette pal = palette();
|
||||
QColor bg = pal.window().color();
|
||||
if(isMaximized())
|
||||
{
|
||||
setAttribute(Qt::WA_TranslucentBackground, false);
|
||||
setAttribute(Qt::WA_StyledBackground, true);
|
||||
QBrush wb = pal.window();
|
||||
bg = wb.color();
|
||||
bg.setAlpha(255);
|
||||
pal.setColor(QPalette::Window, bg);
|
||||
setPalette(pal);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
setAttribute(Qt::WA_TranslucentBackground);
|
||||
setAttribute(Qt::WA_StyledBackground, false);
|
||||
bg.setAlpha(0);
|
||||
pal.setColor(QPalette::Window, bg);
|
||||
setPalette(pal);
|
||||
setAttribute(Qt::WA_NoSystemBackground, false);
|
||||
ensurePolished();
|
||||
setAttribute(Qt::WA_StyledBackground, false);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void BitcoinGUI::askFee(qint64 nFeeRequired, bool *payFee)
|
||||
{
|
||||
QString strMessage =
|
||||
|
|
|
@ -99,6 +99,8 @@ public slots:
|
|||
*/
|
||||
void askFee(qint64 nFeeRequired, bool *payFee);
|
||||
|
||||
void setWindowComposition();
|
||||
|
||||
private slots:
|
||||
// UI pages
|
||||
void gotoOverviewPage();
|
||||
|
|
Loading…
Reference in a new issue