mirror of
https://github.com/dashpay/dash.git
synced 2024-12-28 13:32:47 +01:00
Merge pull request #1956 from laanwj/2012_10_prerelease_warning
Show warning when using prerelease version
This commit is contained in:
commit
7a1786084d
@ -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*
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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 != "")
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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><b>Recent transactions</b></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><b>Recent transactions</b></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>
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user