Merge pull request #1956 from laanwj/2012_10_prerelease_warning

Show warning when using prerelease version
This commit is contained in:
Wladimir J. van der Laan 2012-10-25 05:52:55 -07:00
commit 7a1786084d
9 changed files with 339 additions and 295 deletions

View file

@ -2,7 +2,7 @@
* update (commit) version in sources * update (commit) version in sources
bitcoin-qt.pro bitcoin-qt.pro
src/clientversion.h src/clientversion.h (change CLIENT_VERSION_IS_RELEASE to true)
share/setup.nsi share/setup.nsi
doc/README* doc/README*

View file

@ -11,6 +11,9 @@
#define CLIENT_VERSION_REVISION 99 #define CLIENT_VERSION_REVISION 99
#define CLIENT_VERSION_BUILD 0 #define CLIENT_VERSION_BUILD 0
// Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE false
// Converts the parameter X to a string after macro replacement on X has been performed. // Converts the parameter X to a string after macro replacement on X has been performed.
// Don't merge these into one macro! // Don't merge these into one macro!
#define STRINGIZE(X) DO_STRINGIZE(X) #define STRINGIZE(X) DO_STRINGIZE(X)

View file

@ -2617,9 +2617,13 @@ string GetWarnings(string strFor)
int nPriority = 0; int nPriority = 0;
string strStatusBar; string strStatusBar;
string strRPC; string strRPC;
if (GetBoolArg("-testsafemode")) if (GetBoolArg("-testsafemode"))
strRPC = "test"; strRPC = "test";
if (!CLIENT_VERSION_IS_RELEASE)
strStatusBar = _("This is a pre-release test build - use at your own risk - do not use for mining or merchant applications");
// Misc warnings like out of disk space and clock is wrong // Misc warnings like out of disk space and clock is wrong
if (strMiscWarning != "") if (strMiscWarning != "")
{ {

View file

@ -356,6 +356,7 @@ void BitcoinGUI::setClientModel(ClientModel *clientModel)
// Report errors from network/worker thread // Report errors from network/worker thread
connect(clientModel, SIGNAL(error(QString,QString,bool)), this, SLOT(error(QString,QString,bool))); connect(clientModel, SIGNAL(error(QString,QString,bool)), this, SLOT(error(QString,QString,bool)));
overviewPage->setClientModel(clientModel);
rpcConsole->setClientModel(clientModel); rpcConsole->setClientModel(clientModel);
addressBookPage->setOptionsModel(clientModel->getOptionsModel()); addressBookPage->setOptionsModel(clientModel->getOptionsModel());
receiveCoinsPage->setOptionsModel(clientModel->getOptionsModel()); receiveCoinsPage->setOptionsModel(clientModel->getOptionsModel());
@ -372,8 +373,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel)
// Put transaction list in tabs // Put transaction list in tabs
transactionView->setModel(walletModel); transactionView->setModel(walletModel);
overviewPage->setWalletModel(walletModel);
overviewPage->setModel(walletModel);
addressBookPage->setModel(walletModel->getAddressTableModel()); addressBookPage->setModel(walletModel->getAddressTableModel());
receiveCoinsPage->setModel(walletModel->getAddressTableModel()); receiveCoinsPage->setModel(walletModel->getAddressTableModel());
sendCoinsPage->setModel(walletModel); sendCoinsPage->setModel(walletModel);
@ -481,7 +481,6 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks)
return; return;
} }
QString strStatusBarWarnings = clientModel->getStatusBarWarnings();
QString tooltip; QString tooltip;
if(count < nTotalBlocks) if(count < nTotalBlocks)
@ -489,35 +488,23 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks)
int nRemainingBlocks = nTotalBlocks - count; int nRemainingBlocks = nTotalBlocks - count;
float nPercentageDone = count / (nTotalBlocks * 0.01f); float nPercentageDone = count / (nTotalBlocks * 0.01f);
if (strStatusBarWarnings.isEmpty()) progressBarLabel->setText(tr(clientModel->isImporting() ? "Importing blocks..." : "Synchronizing with network..."));
{ progressBarLabel->setVisible(true);
progressBarLabel->setText(tr(clientModel->isImporting() ? "Importing blocks..." : "Synchronizing with network...")); progressBar->setFormat(tr("~%n block(s) remaining", "", nRemainingBlocks));
progressBarLabel->setVisible(true); progressBar->setMaximum(nTotalBlocks);
progressBar->setFormat(tr("~%n block(s) remaining", "", nRemainingBlocks)); progressBar->setValue(count);
progressBar->setMaximum(nTotalBlocks); progressBar->setVisible(true);
progressBar->setValue(count);
progressBar->setVisible(true);
}
tooltip = tr("Downloaded %1 of %2 blocks of transaction history (%3% done).").arg(count).arg(nTotalBlocks).arg(nPercentageDone, 0, 'f', 2); tooltip = tr("Downloaded %1 of %2 blocks of transaction history (%3% done).").arg(count).arg(nTotalBlocks).arg(nPercentageDone, 0, 'f', 2);
} }
else else
{ {
if (strStatusBarWarnings.isEmpty()) progressBarLabel->setVisible(false);
progressBarLabel->setVisible(false);
progressBar->setVisible(false); progressBar->setVisible(false);
tooltip = tr("Downloaded %1 blocks of transaction history.").arg(count); tooltip = tr("Downloaded %1 blocks of transaction history.").arg(count);
} }
// Override progressBarLabel text and hide progress bar, when we have warnings to display
if (!strStatusBarWarnings.isEmpty())
{
progressBarLabel->setText(strStatusBarWarnings);
progressBarLabel->setVisible(true);
progressBar->setVisible(false);
}
QDateTime lastBlockDate = clientModel->getLastBlockDate(); QDateTime lastBlockDate = clientModel->getLastBlockDate();
int secs = lastBlockDate.secsTo(QDateTime::currentDateTime()); int secs = lastBlockDate.secsTo(QDateTime::currentDateTime());
QString text; QString text;

View file

@ -88,9 +88,7 @@ void ClientModel::updateAlert(const QString &hash, int status)
} }
} }
// Emit a numBlocksChanged when the status message changes, emit alertsChanged(getStatusBarWarnings());
// so that the view recomputes and updates the status bar.
emit numBlocksChanged(getNumBlocks(), getNumBlocksOfPeers());
} }
bool ClientModel::isTestNet() const bool ClientModel::isTestNet() const
@ -133,6 +131,11 @@ QString ClientModel::formatBuildDate() const
return QString::fromStdString(CLIENT_DATE); return QString::fromStdString(CLIENT_DATE);
} }
bool ClientModel::isReleaseVersion() const
{
return CLIENT_VERSION_IS_RELEASE;
}
QString ClientModel::clientName() const QString ClientModel::clientName() const
{ {
return QString::fromStdString(CLIENT_NAME); return QString::fromStdString(CLIENT_NAME);

View file

@ -42,6 +42,7 @@ public:
QString formatFullVersion() const; QString formatFullVersion() const;
QString formatBuildDate() const; QString formatBuildDate() const;
bool isReleaseVersion() const;
QString clientName() const; QString clientName() const;
QString formatClientStartupTime() const; QString formatClientStartupTime() const;
@ -60,6 +61,7 @@ private:
signals: signals:
void numConnectionsChanged(int count); void numConnectionsChanged(int count);
void numBlocksChanged(int count, int countOfPeers); void numBlocksChanged(int count, int countOfPeers);
void alertsChanged(const QString &warnings);
//! Asynchronous error notification //! Asynchronous error notification
void error(const QString &title, const QString &message, bool modal); void error(const QString &title, const QString &message, bool modal);

View file

@ -13,282 +13,303 @@
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1"> <layout class="QVBoxLayout" name="topLayout">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_2"> <widget class="QLabel" name="labelAlerts">
<item> <property name="visible">
<widget class="QFrame" name="frame"> <bool>false</bool>
<property name="frameShape"> </property>
<enum>QFrame::StyledPanel</enum> <property name="styleSheet">
</property> <string notr="true">background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop:0 #F0D0A0, stop:1 #F8D488); color:#000000
<property name="frameShadow"> </string>
<enum>QFrame::Raised</enum> </property>
</property> <property name="wordWrap">
<layout class="QVBoxLayout" name="verticalLayout_4"> <bool>true</bool>
<item> </property>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <property name="margin">
<item> <number>3</number>
<widget class="QLabel" name="label_5"> </property>
<property name="font"> </widget>
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Wallet</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelWalletStatus">
<property name="toolTip">
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</string>
</property>
<property name="styleSheet">
<string notr="true">QLabel { color: red; }</string>
</property>
<property name="text">
<string notr="true">(out of sync)</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<property name="horizontalSpacing">
<number>12</number>
</property>
<property name="verticalSpacing">
<number>12</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Balance:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="labelBalance">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
<property name="toolTip">
<string>Your current balance</string>
</property>
<property name="text">
<string notr="true">0 BTC</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Unconfirmed:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="labelUnconfirmed">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
<property name="toolTip">
<string>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</string>
</property>
<property name="text">
<string notr="true">0 BTC</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Number of transactions:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="labelNumTransactions">
<property name="toolTip">
<string>Total number of transactions in wallet</string>
</property>
<property name="text">
<string notr="true">0</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelImmatureText">
<property name="text">
<string>Immature:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="labelImmature">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>Mined balance that has not yet matured</string>
</property>
<property name="text">
<string notr="true">0 BTC</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1">
<item> <item>
<widget class="QFrame" name="frame_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<property name="frameShape"> <item>
<enum>QFrame::StyledPanel</enum> <widget class="QFrame" name="frame">
</property> <property name="frameShape">
<property name="frameShadow"> <enum>QFrame::StyledPanel</enum>
<enum>QFrame::Raised</enum> </property>
</property> <property name="frameShadow">
<layout class="QVBoxLayout" name="verticalLayout"> <enum>QFrame::Raised</enum>
<item> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QLabel" name="label_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="text"> <item>
<string>&lt;b&gt;Recent transactions&lt;/b&gt;</string> <widget class="QLabel" name="label_5">
</property> <property name="font">
</widget> <font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Wallet</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelWalletStatus">
<property name="toolTip">
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</string>
</property>
<property name="styleSheet">
<string notr="true">QLabel { color: red; }</string>
</property>
<property name="text">
<string notr="true">(out of sync)</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelTransactionsStatus"> <layout class="QFormLayout" name="formLayout_2">
<property name="toolTip"> <property name="fieldGrowthPolicy">
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</string> <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property> </property>
<property name="styleSheet"> <property name="horizontalSpacing">
<string notr="true">QLabel { color: red; }</string> <number>12</number>
</property> </property>
<property name="text"> <property name="verticalSpacing">
<string notr="true">(out of sync)</string> <number>12</number>
</property> </property>
<property name="alignment"> <item row="0" column="0">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <widget class="QLabel" name="label">
</property> <property name="text">
</widget> <string>Balance:</string>
</item> </property>
<item> </widget>
<spacer name="horizontalSpacer"> </item>
<property name="orientation"> <item row="0" column="1">
<enum>Qt::Horizontal</enum> <widget class="QLabel" name="labelBalance">
</property> <property name="font">
<property name="sizeHint" stdset="0"> <font>
<size> <weight>75</weight>
<width>40</width> <bold>true</bold>
<height>20</height> </font>
</size> </property>
</property> <property name="cursor">
</spacer> <cursorShape>IBeamCursor</cursorShape>
</property>
<property name="toolTip">
<string>Your current balance</string>
</property>
<property name="text">
<string notr="true">0 BTC</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Unconfirmed:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="labelUnconfirmed">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
<property name="toolTip">
<string>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</string>
</property>
<property name="text">
<string notr="true">0 BTC</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Number of transactions:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="labelNumTransactions">
<property name="toolTip">
<string>Total number of transactions in wallet</string>
</property>
<property name="text">
<string notr="true">0</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelImmatureText">
<property name="text">
<string>Immature:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="labelImmature">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>Mined balance that has not yet matured</string>
</property>
<property name="text">
<string notr="true">0 BTC</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</item> </widget>
<item> </item>
<widget class="QListView" name="listTransactions"> <item>
<property name="styleSheet"> <spacer name="verticalSpacer">
<string notr="true">QListView { background: transparent; }</string> <property name="orientation">
</property> <enum>Qt::Vertical</enum>
<property name="frameShape"> </property>
<enum>QFrame::NoFrame</enum> <property name="sizeHint" stdset="0">
</property> <size>
<property name="verticalScrollBarPolicy"> <width>20</width>
<enum>Qt::ScrollBarAlwaysOff</enum> <height>40</height>
</property> </size>
<property name="horizontalScrollBarPolicy"> </property>
<enum>Qt::ScrollBarAlwaysOff</enum> </spacer>
</property> </item>
<property name="selectionMode"> </layout>
<enum>QAbstractItemView::NoSelection</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer_2"> <layout class="QVBoxLayout" name="verticalLayout_3">
<property name="orientation"> <item>
<enum>Qt::Vertical</enum> <widget class="QFrame" name="frame_2">
</property> <property name="frameShape">
<property name="sizeHint" stdset="0"> <enum>QFrame::StyledPanel</enum>
<size> </property>
<width>20</width> <property name="frameShadow">
<height>40</height> <enum>QFrame::Raised</enum>
</size> </property>
</property> <layout class="QVBoxLayout" name="verticalLayout">
</spacer> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>&lt;b&gt;Recent transactions&lt;/b&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelTransactionsStatus">
<property name="toolTip">
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</string>
</property>
<property name="styleSheet">
<string notr="true">QLabel { color: red; }</string>
</property>
<property name="text">
<string notr="true">(out of sync)</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QListView" name="listTransactions">
<property name="styleSheet">
<string notr="true">QListView { background: transparent; }</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
</layout> </layout>
</item> </item>

View file

@ -1,6 +1,7 @@
#include "overviewpage.h" #include "overviewpage.h"
#include "ui_overviewpage.h" #include "ui_overviewpage.h"
#include "clientmodel.h"
#include "walletmodel.h" #include "walletmodel.h"
#include "bitcoinunits.h" #include "bitcoinunits.h"
#include "optionsmodel.h" #include "optionsmodel.h"
@ -92,6 +93,8 @@ public:
OverviewPage::OverviewPage(QWidget *parent) : OverviewPage::OverviewPage(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::OverviewPage), ui(new Ui::OverviewPage),
clientModel(0),
walletModel(0),
currentBalance(-1), currentBalance(-1),
currentUnconfirmedBalance(-1), currentUnconfirmedBalance(-1),
currentImmatureBalance(-1), currentImmatureBalance(-1),
@ -129,7 +132,7 @@ OverviewPage::~OverviewPage()
void OverviewPage::setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance) void OverviewPage::setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance)
{ {
int unit = model->getOptionsModel()->getDisplayUnit(); int unit = walletModel->getOptionsModel()->getDisplayUnit();
currentBalance = balance; currentBalance = balance;
currentUnconfirmedBalance = unconfirmedBalance; currentUnconfirmedBalance = unconfirmedBalance;
currentImmatureBalance = immatureBalance; currentImmatureBalance = immatureBalance;
@ -149,9 +152,20 @@ void OverviewPage::setNumTransactions(int count)
ui->labelNumTransactions->setText(QLocale::system().toString(count)); ui->labelNumTransactions->setText(QLocale::system().toString(count));
} }
void OverviewPage::setModel(WalletModel *model) void OverviewPage::setClientModel(ClientModel *model)
{ {
this->model = model; this->clientModel = model;
if(model)
{
// Show warning if this is a prerelease version
connect(model, SIGNAL(alertsChanged(QString)), this, SLOT(updateAlerts(QString)));
updateAlerts(model->getStatusBarWarnings());
}
}
void OverviewPage::setWalletModel(WalletModel *model)
{
this->walletModel = model;
if(model && model->getOptionsModel()) if(model && model->getOptionsModel())
{ {
// Set up transaction list // Set up transaction list
@ -181,18 +195,24 @@ void OverviewPage::setModel(WalletModel *model)
void OverviewPage::updateDisplayUnit() void OverviewPage::updateDisplayUnit()
{ {
if(model && model->getOptionsModel()) if(walletModel && walletModel->getOptionsModel())
{ {
if(currentBalance != -1) if(currentBalance != -1)
setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance); setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance);
// Update txdelegate->unit with the current unit // Update txdelegate->unit with the current unit
txdelegate->unit = model->getOptionsModel()->getDisplayUnit(); txdelegate->unit = walletModel->getOptionsModel()->getDisplayUnit();
ui->listTransactions->update(); ui->listTransactions->update();
} }
} }
void OverviewPage::updateAlerts(const QString &warnings)
{
this->ui->labelAlerts->setVisible(!warnings.isEmpty());
this->ui->labelAlerts->setText(warnings);
}
void OverviewPage::showOutOfSyncWarning(bool fShow) void OverviewPage::showOutOfSyncWarning(bool fShow)
{ {
ui->labelWalletStatus->setVisible(fShow); ui->labelWalletStatus->setVisible(fShow);

View file

@ -10,6 +10,7 @@ QT_END_NAMESPACE
namespace Ui { namespace Ui {
class OverviewPage; class OverviewPage;
} }
class ClientModel;
class WalletModel; class WalletModel;
class TxViewDelegate; class TxViewDelegate;
class TransactionFilterProxy; class TransactionFilterProxy;
@ -23,7 +24,8 @@ public:
explicit OverviewPage(QWidget *parent = 0); explicit OverviewPage(QWidget *parent = 0);
~OverviewPage(); ~OverviewPage();
void setModel(WalletModel *model); void setClientModel(ClientModel *clientModel);
void setWalletModel(WalletModel *walletModel);
void showOutOfSyncWarning(bool fShow); void showOutOfSyncWarning(bool fShow);
public slots: public slots:
@ -35,7 +37,8 @@ signals:
private: private:
Ui::OverviewPage *ui; Ui::OverviewPage *ui;
WalletModel *model; ClientModel *clientModel;
WalletModel *walletModel;
qint64 currentBalance; qint64 currentBalance;
qint64 currentUnconfirmedBalance; qint64 currentUnconfirmedBalance;
qint64 currentImmatureBalance; qint64 currentImmatureBalance;
@ -46,6 +49,7 @@ private:
private slots: private slots:
void updateDisplayUnit(); void updateDisplayUnit();
void handleTransactionClicked(const QModelIndex &index); void handleTransactionClicked(const QModelIndex &index);
void updateAlerts(const QString &warnings);
}; };
#endif // OVERVIEWPAGE_H #endif // OVERVIEWPAGE_H