X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=blobdiff_plain;f=src%2Fqt%2Fbitcoingui.cpp;h=db888a8c891a739e25ad2d3a5562cd3d0db62909;hp=d256bccb295f1ef038d1911a5329c80c1fe293ac;hb=f8ea0dd6459856f2df18ca2ad532d49432a087dd;hpb=6e175752d57ecd9724f1b1e280863f9b3bbab10c diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index d256bcc..db888a8 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -9,6 +9,7 @@ #include "addressbookpage.h" #include "sendcoinsdialog.h" #include "signverifymessagedialog.h" +#include "secondauthdialog.h" #include "multisigdialog.h" #include "optionsdialog.h" #include "aboutdialog.h" @@ -77,6 +78,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): clientModel(0), walletModel(0), signVerifyMessageDialog(0), + secondAuthDialog(0), multisigPage(0), encryptWalletAction(0), lockWalletAction(0), @@ -99,17 +101,74 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): setUnifiedTitleAndToolBarOnMac(true); QApplication::setAttribute(Qt::AA_DontShowIconsInMenus); #endif + + int nQtStyle = GetArg("-qtstyle", 0); + if(nQtStyle < 0) nQtStyle = 0; + + if(!nQtStyle) { + resize(850, 550); + qApp->setStyleSheet(""); + } else if(nQtStyle == 1) { + resize(850, 525); +#ifndef Q_OS_MAC + qApp->setStyleSheet("QToolBar QToolButton { text-align: center; width: 100%; \ + padding-left: 5px; padding-right: 5px; padding-top: 2px; padding-bottom: 2px; \ + margin-top: 2px; } \ + QToolBar QToolButton:hover { font-weight: bold; } \ + #toolbar { border: none; height: 100%; min-width: 150px; max-width: 150px; } \ + QMenuBar { min-height: 20px; }"); +#else + qApp->setStyleSheet("QToolBar QToolButton { text-align: center; width: 100%; \ + padding-left: 5px; padding-right: 5px; padding-top: 2px; padding-bottom: 2px; \ + margin-top: 2px; } \ + QToolBar QToolButton:hover { font-weight: bold; background-color: transparent; } \ + #toolbar { border: none; height: 100%; min-width: 150px; max-width: 150px; }"); +#endif + } else { + resize(850, 525); +#ifndef Q_OS_MAC + qApp->setStyleSheet("QToolBar QToolButton { text-align: center; width: 100%; \ + color: white; background-color: grey; padding-left: 5px; padding-right: 5px; \ + padding-top: 2px; padding-bottom: 2px; margin-top: 2px; } \ + QToolBar QToolButton:hover { font-weight: bold; \ + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 2, \ + stop: 0 #808080, stop: 1 #d2d2d2); } \ + #toolbar { border: none; height: 100%; min-width: 150px; max-width: 150px; \ + background-color: grey; } \ + QMenuBar { color: white; background-color: grey; } \ + QMenuBar::item { color: white; background-color: grey; \ + padding-top: 6px; padding-bottom: 6px; \ + padding-left: 10px; padding-right: 10px; } \ + QMenuBar::item:selected { background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 2, \ + stop: 0 #808080, stop: 1 #d2d2d2); } \ + QMenu { border: 1px solid; color: black; background-color: grey; } \ + QMenu::item { background-color: grey; } \ + QMenu::item:disabled { color: gray; } \ + QMenu::item:enabled:selected { color: white; background-color: grey; } \ + QMenu::separator { height: 4px; }"); +#else + qApp->setStyleSheet("QToolBar QToolButton { text-align: center; width: 100%; \ + color: white; padding-left: 5px; padding-right: 5px; \ + padding-top: 2px; padding-bottom: 2px; margin-top: 2px; } \ + QToolBar QToolButton:hover { font-weight: bold; \ + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 2, \ + stop: 0 #808080, stop: 1 #d2d2d2); } \ + #toolbar { border: none; height: 100%; min-width: 150px; max-width: 150px; \ + background-color: grey; }"); +#endif + } + // Accept D&D of URIs setAcceptDrops(true); // Create actions for the toolbar, menu bar and tray/dock icon - createActions(); + createActions(nQtStyle); // Create application menu bar createMenuBar(); // Create the toolbars - createToolBars(); + createToolBars(nQtStyle); // Create the tray icon (or setup the dock icon) createTrayIcon(); @@ -137,6 +196,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): signVerifyMessageDialog = new SignVerifyMessageDialog(0); + secondAuthDialog = new SecondAuthDialog(0); + multisigPage = new MultisigDialog(0); centralWidget = new QStackedWidget(this); @@ -204,6 +265,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): rpcConsole = new RPCConsole(0); connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show())); + connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(raise())); aboutDialog = new AboutDialog(0); optionsDialog = new OptionsDialog(0); @@ -228,10 +290,11 @@ BitcoinGUI::~BitcoinGUI() delete aboutDialog; delete optionsDialog; delete multisigPage; + delete secondAuthDialog; delete signVerifyMessageDialog; } -void BitcoinGUI::createActions() +void BitcoinGUI::createActions(int nQtStyle) { QActionGroup *tabGroup = new QActionGroup(this); @@ -323,6 +386,8 @@ void BitcoinGUI::createActions() signMessageAction->setStatusTip(tr("Sign messages with your Novacoin addresses to prove you own them")); verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this); verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Novacoin addresses")); + secondAuthAction = new QAction(QIcon(":/icons/key"), tr("Second &auth..."), this); + secondAuthAction->setStatusTip(tr("Second auth with your Novacoin addresses")); lockWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Lock wallet"), this); lockWalletAction->setStatusTip(tr("Lock wallet")); @@ -356,6 +421,7 @@ void BitcoinGUI::createActions() connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); + connect(secondAuthAction, SIGNAL(triggered()), this, SLOT(gotoSecondAuthPage())); } void BitcoinGUI::createMenuBar() @@ -377,6 +443,7 @@ void BitcoinGUI::createMenuBar() file->addAction(exportAction); file->addAction(signMessageAction); file->addAction(verifyMessageAction); + file->addAction(secondAuthAction); file->addAction(multisigAction); file->addSeparator(); file->addAction(quitAction); @@ -397,10 +464,22 @@ void BitcoinGUI::createMenuBar() help->addAction(aboutQtAction); } -void BitcoinGUI::createToolBars() +void BitcoinGUI::createToolBars(int nQtStyle) { - QToolBar *toolbar = addToolBar(tr("Tabs toolbar")); - toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + QToolBar *toolbar = addToolBar(tr("Primary tool bar")); + toolbar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + toolbar->setMovable(false); + toolbar->setIconSize(QSize(32, 32)); + + if(!nQtStyle) { + toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + } else { + toolbar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + toolbar->setObjectName("toolbar"); + addToolBar(Qt::LeftToolBarArea, toolbar); + toolbar->setOrientation(Qt::Vertical); + } + toolbar->addAction(overviewAction); toolbar->addAction(sendCoinsAction); toolbar->addAction(receiveCoinsAction); @@ -477,6 +556,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) receiveCoinsPage->setModel(walletModel->getAddressTableModel()); sendCoinsPage->setModel(walletModel); signVerifyMessageDialog->setModel(walletModel); + secondAuthDialog->setModel(walletModel); multisigPage->setModel(walletModel); setEncryptionStatus(walletModel->getEncryptionStatus()); @@ -520,6 +600,7 @@ void BitcoinGUI::createTrayIcon() trayIconMenu->addSeparator(); trayIconMenu->addAction(signMessageAction); trayIconMenu->addAction(verifyMessageAction); + trayIconMenu->addAction(secondAuthAction); trayIconMenu->addSeparator(); trayIconMenu->addAction(optionsAction); trayIconMenu->addAction(openRPCConsoleAction); @@ -622,6 +703,9 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks) progressBar->setVisible(false); } + tooltip = tr("Current PoW difficulty is %1.").arg(clientModel->getDifficulty(false)) + QString("
") + tooltip; + tooltip = tr("Current PoS difficulty is %1.").arg(clientModel->getDifficulty(true)) + QString("
") + tooltip; + QDateTime lastBlockDate = clientModel->getLastBlockDate(); int secs = lastBlockDate.secsTo(QDateTime::currentDateTime()); QString text; @@ -927,10 +1011,18 @@ void BitcoinGUI::gotoVerifyMessageTab(QString addr) signVerifyMessageDialog->setAddress_VM(addr); } +void BitcoinGUI::gotoSecondAuthPage(QString addr) +{ + secondAuthDialog->show(); + secondAuthDialog->raise(); + secondAuthDialog->activateWindow(); +} + void BitcoinGUI::gotoMultisigPage() { multisigPage->show(); - multisigPage->setFocus(); + multisigPage->raise(); + multisigPage->activateWindow(); } void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event)