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)