#include <iostream>
extern bool fWalletUnlockMintOnly;
+extern uint64_t nStakeInputsMapSize;
BitcoinGUI::BitcoinGUI(QWidget *parent):
QMainWindow(parent),
clientModel(0),
walletModel(0),
+ signVerifyMessageDialog(0),
+ multisigPage(0),
encryptWalletAction(0),
lockWalletAction(0),
unlockWalletAction(0),
trayIcon(0),
notificator(0),
rpcConsole(0),
- aboutDialog(0)
+ aboutDialog(0),
+ optionsDialog(0)
{
resize(850, 550);
setWindowTitle(tr("NovaCoin") + " - " + tr("Wallet"));
sendCoinsPage = new SendCoinsDialog(this);
- signVerifyMessageDialog = new SignVerifyMessageDialog(this);
+ signVerifyMessageDialog = new SignVerifyMessageDialog(0);
- multisigPage = new MultisigDialog(this);
+ multisigPage = new MultisigDialog(0);
centralWidget = new QStackedWidget(this);
centralWidget->addWidget(overviewPage);
connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show()));
aboutDialog = new AboutDialog(0);
+ optionsDialog = new OptionsDialog(0);
// Clicking on "Verify Message" in the address book sends you to the verify message tab
connect(addressBookPage, SIGNAL(verifyMessage(QString)), this, SLOT(gotoVerifyMessageTab(QString)));
delete rpcConsole;
delete aboutDialog;
+ delete optionsDialog;
+ delete multisigPage;
+ delete signVerifyMessageDialog;
}
void BitcoinGUI::createActions()
{
if(!clientModel || !clientModel->getOptionsModel())
return;
- OptionsDialog dlg;
- dlg.setModel(clientModel->getOptionsModel());
- dlg.exec();
+
+ optionsDialog->setModel(clientModel->getOptionsModel());
+ optionsDialog->setWindowModality(Qt::ApplicationModal);
+ optionsDialog->show();
}
void BitcoinGUI::aboutClicked()
return;
}
- float nKernelsRate = 0, nCoinDaysRate = 0;
- walletModel->getStakeStats(nKernelsRate, nCoinDaysRate);
-
- if (nKernelsRate > 0)
+ if (nStakeInputsMapSize > 0)
{
labelMiningIcon->setPixmap(QIcon(":/icons/mining_active").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
uint64_t nNetworkWeight = clientModel->getPoSKernelPS();
-/*
- double dDifficulty = clientModel->getDifficulty(true);
- QString msg;
-
- int nApproxTime = 4294967297 * dDifficulty / nTotalWeight;
-
- if (nApproxTime < 60)
- msg = tr("%n second(s)", "", nApproxTime);
- else if (nApproxTime < 60*60)
- msg = tr("%n minute(s)", "", nApproxTime / 60);
- else if (nApproxTime < 24*60*60)
- msg = tr("%n hour(s)", "", nApproxTime / 3600);
- else
- msg = tr("%n day(s)", "", nApproxTime / 86400);
-
- labelMiningIcon->setToolTip(tr("Stake miner is active\nYour current stake weight is %1\nNetwork weight is %2\nAverage block generation time is %3").arg(nTotalWeight).arg(dNetworkWeight).arg(msg));
-*/
- labelMiningIcon->setToolTip(QString("<nobr>")+tr("Stake miner is active<br>Kernel rate is %1 k/s<br>CD rate is %2 CD/s<br>Network weight is %3").arg(nKernelsRate).arg(nCoinDaysRate).arg(nNetworkWeight)+QString("<\nobr>"));
+ labelMiningIcon->setToolTip(QString("<nobr>")+tr("Stake miner is active<br>%1 inputs used the mining<br>Network weight is %3").arg(nStakeInputsMapSize).arg(nNetworkWeight)+QString("<\nobr>"));
}
else
labelMiningIcon->setToolTip(tr("No suitable inputs were found"));
}
-void BitcoinGUI::error(const QString &title, const QString &message, bool modal)
-{
- // Report errors from network/worker thread
- if(modal)
- {
- QMessageBox::critical(this, title, message, QMessageBox::Ok, QMessageBox::Ok);
- } else {
- notificator->notify(Notificator::Critical, title, message);
- }
-}
-
void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, const QString &detail)
{
QString strTitle = tr("NovaCoin") + " - ";
labelEncryptionIcon->setToolTip(tr("Wallet is <b>encrypted</b> and currently <b>unlocked</b>"));
encryptWalletAction->setChecked(true);
changePassphraseAction->setEnabled(true);
- encryptWalletAction->setEnabled(false); // TODO: decrypt currently not supported
+ encryptWalletAction->setEnabled(true);
lockWalletAction->setEnabled(true);
lockWalletAction->setChecked(false);
labelEncryptionIcon->setToolTip(tr("Wallet is <b>encrypted</b> and currently <b>locked</b>"));
encryptWalletAction->setChecked(true);
changePassphraseAction->setEnabled(true);
- encryptWalletAction->setEnabled(false); // TODO: decrypt currently not supported
+ encryptWalletAction->setEnabled(true);
lockWalletAction->setChecked(true);
unlockWalletAction->setChecked(false);
QString filename = QFileDialog::getSaveFileName(this, tr("Dump Wallet"), saveDir, tr("Wallet dump (*.txt)"));
if(!filename.isEmpty()) {
if(!walletModel->dumpWallet(filename)) {
- error(tr("Dump failed"),
+ message(tr("Dump failed"),
tr("An error happened while trying to save the keys to your location.\n"
"Keys were not saved.")
,CClientUIInterface::MSG_ERROR);
QString filename = QFileDialog::getOpenFileName(this, tr("Import Wallet"), openDir, tr("Wallet dump (*.txt)"));
if(!filename.isEmpty()) {
if(!walletModel->importWallet(filename)) {
- error(tr("Import Failed"),
+ message(tr("Import Failed"),
tr("An error happened while trying to import the keys.\n"
"Some or all keys from:\n %1,\n were not imported into your wallet.")
.arg(filename)
{
showNormalIfMinimized(true);
}
+
+void BitcoinGUI::error(const QString &title, const QString &message, bool modal)
+{
+ // Report errors from network/worker thread
+ if(modal)
+ {
+ QMessageBox::critical(this, title, message, QMessageBox::Ok, QMessageBox::Ok);
+ } else {
+ notificator->notify(Notificator::Critical, title, message);
+ }
+}