Browse Source

Clear UI if connection is lost

import_zecw
adityapk00 6 years ago
parent
commit
0111d0a404
  1. 4
      src/balancestablemodel.cpp
  2. 10
      src/mainwindow.cpp
  3. 39
      src/rpc.cpp
  4. 20
      src/sendtab.cpp
  5. 4
      src/settings.cpp
  6. 10
      src/settings.h
  7. 2
      src/txtablemodel.cpp

4
src/balancestablemodel.cpp

@ -85,7 +85,7 @@ QVariant BalancesTableModel::data(const QModelIndex &index, int role) const
if (role == Qt::DisplayRole) {
switch (index.column()) {
case 0: return std::get<0>(modeldata->at(index.row()));
case 1: return Settings::getInstance()->getZECDisplayFormat(std::get<1>(modeldata->at(index.row())).toDouble());
case 1: return Settings::getZECDisplayFormat(std::get<1>(modeldata->at(index.row())).toDouble());
}
}
@ -94,7 +94,7 @@ QVariant BalancesTableModel::data(const QModelIndex &index, int role) const
case 0: return std::get<0>(modeldata->at(index.row()));
case 1: {
auto bal = std::get<1>(modeldata->at(index.row())).toDouble();
return Settings::getInstance()->getUSDFormat(bal);
return Settings::getUSDFormat(bal);
}
}
}

10
src/mainwindow.cpp

@ -208,7 +208,7 @@ void MainWindow::turnstileDoMigration(QString fromAddr) {
};
//turnstile.migrateZaddList->addItem("All Sprout z-Addrs");
turnstile.fromBalance->setText(Settings::getInstance()->getZECUSDDisplayFormat(fnGetAllSproutBalance()));
turnstile.fromBalance->setText(Settings::getZECUSDDisplayFormat(fnGetAllSproutBalance()));
for (auto addr : *rpc->getAllZAddresses()) {
if (Settings::getInstance()->isSaplingAddress(addr)) {
turnstile.migrateTo->addItem(addr);
@ -225,12 +225,12 @@ void MainWindow::turnstileDoMigration(QString fromAddr) {
bal = rpc->getAllBalances()->value(addr);
}
auto balTxt = Settings::getInstance()->getZECUSDDisplayFormat(bal);
auto balTxt = Settings::getZECUSDDisplayFormat(bal);
if (bal < Turnstile::minMigrationAmount) {
turnstile.fromBalance->setStyleSheet("color: red;");
turnstile.fromBalance->setText(balTxt % " [You need at least "
% Settings::getInstance()->getZECDisplayFormat(Turnstile::minMigrationAmount)
% Settings::getZECDisplayFormat(Turnstile::minMigrationAmount)
% " for automatic migration]");
turnstile.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
} else {
@ -258,7 +258,7 @@ void MainWindow::turnstileDoMigration(QString fromAddr) {
QObject::connect(turnstile.privLevel, QOverload<int>::of(&QComboBox::currentIndexChanged), [=] (auto idx) {
// Update the fees
turnstile.minerFee->setText(
Settings::getInstance()->getZECUSDDisplayFormat(std::get<0>(privOptions[idx]) * Settings::getMinerFee()));
Settings::getZECUSDDisplayFormat(std::get<0>(privOptions[idx]) * Settings::getMinerFee()));
});
for (auto i : privOptions) {
@ -486,7 +486,7 @@ void MainWindow::postToZBoard() {
QRegExpValidator v(QRegExp("^[a-zA-Z0-9_]{3,20}$"), zb.postAs);
zb.postAs->setValidator(&v);
zb.feeAmount->setText(Settings::getInstance()->getZECUSDDisplayFormat(Settings::getZboardAmount() + Settings::getMinerFee()));
zb.feeAmount->setText(Settings::getZECUSDDisplayFormat(Settings::getZboardAmount() + Settings::getMinerFee()));
auto fnBuildNameMemo = [=]() -> QString {
auto memo = zb.memoTxt->toPlainText().trimmed();

39
src/rpc.cpp

@ -333,6 +333,29 @@ void RPC::noConnection() {
QIcon i = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical);
main->statusIcon->setPixmap(i.pixmap(16, 16));
main->statusLabel->setText("No Connection");
// Clear balances table.
QMap<QString, double> emptyBalances;
QList<UnspentOutput> emptyOutputs;
balancesTableModel->setNewData(&emptyBalances, &emptyOutputs);
// Clear Transactions table.
QList<TransactionItem> emptyTxs;
transactionsTableModel->addTData(emptyTxs);
transactionsTableModel->addZRecvData(emptyTxs);
transactionsTableModel->addZSentData(emptyTxs);
// Clear balances
ui->balSheilded->setText("");
ui->balTransparent->setText("");
ui->balTotal->setText("");
ui->balSheilded->setToolTip("");
ui->balTransparent->setToolTip("");
ui->balTotal->setToolTip("");
// Clear send tab from address
ui->inputsCombo->clear();
}
// Refresh received z txs by calling z_listreceivedbyaddress/gettransaction
@ -540,7 +563,7 @@ void RPC::getInfoThenRefresh(bool force) {
")";
main->statusLabel->setText(statusText);
auto zecPrice = Settings::getInstance()->getUSDFormat(1);
auto zecPrice = Settings::getUSDFormat(1);
QString tooltip = "Connected to zcashd";;
if (!zecPrice.isEmpty()) {
tooltip = "1 ZEC = " % zecPrice % "\n" % tooltip;
@ -592,7 +615,7 @@ void RPC::updateUI(bool anyUnconfirmed) {
ui->inputsCombo->clear();
auto i = allBalances->constBegin();
while (i != allBalances->constEnd()) {
QString item = i.key() % "(" % QString::number(i.value(), 'g', 8) % " " % Settings::getTokenName() % ")";
QString item = i.key() % "(" % Settings::getZECDisplayFormat(i.value()) % ")";
ui->inputsCombo->addItem(item);
if (item.startsWith(lastFromAddr)) ui->inputsCombo->setCurrentText(item);
@ -630,13 +653,13 @@ void RPC::refreshBalances() {
auto balZ = QString::fromStdString(reply["private"]).toDouble();
auto tot = QString::fromStdString(reply["total"]).toDouble();
ui->balSheilded ->setText(Settings::getInstance()->getZECDisplayFormat(balZ));
ui->balTransparent->setText(Settings::getInstance()->getZECDisplayFormat(balT));
ui->balTotal ->setText(Settings::getInstance()->getZECDisplayFormat(tot));
ui->balSheilded ->setText(Settings::getZECDisplayFormat(balZ));
ui->balTransparent->setText(Settings::getZECDisplayFormat(balT));
ui->balTotal ->setText(Settings::getZECDisplayFormat(tot));
ui->balSheilded ->setToolTip(Settings::getInstance()->getUSDFormat(balZ));
ui->balTransparent->setToolTip(Settings::getInstance()->getUSDFormat(balT));
ui->balTotal ->setToolTip(Settings::getInstance()->getUSDFormat(tot));
ui->balSheilded ->setToolTip(Settings::getUSDFormat(balZ));
ui->balTransparent->setToolTip(Settings::getUSDFormat(balT));
ui->balTotal ->setToolTip(Settings::getUSDFormat(tot));
});
// 2. Get the UTXOs

20
src/sendtab.cpp

@ -73,7 +73,7 @@ void MainWindow::setupSendTab() {
// Set the fees
ui->lblMinerFee->setText(QString::number(Settings::getMinerFee(), 'g', 8) %
" " % Settings::getTokenName());
ui->lblMinerFeeUSD->setText(Settings::getInstance()->getUSDFormat(Settings::getMinerFee()));
ui->lblMinerFeeUSD->setText(Settings::getUSDFormat(Settings::getMinerFee()));
// Dev Fee.
if (Settings::getDevFee() < 0.0001) {
@ -83,7 +83,7 @@ void MainWindow::setupSendTab() {
} else {
ui->lblDevFee->setText(QString::number(Settings::getDevFee(), 'g', 8) %
" " % Settings::getTokenName());
ui->lblDevFeeUSD->setText(Settings::getInstance()->getUSDFormat(Settings::getDevFee()));
ui->lblDevFeeUSD->setText(Settings::getUSDFormat(Settings::getDevFee()));
}
// Set focus to the first address box
@ -146,7 +146,7 @@ void MainWindow::inputComboTextChanged(const QString& text) {
auto balFmt = QString::number(bal, 'g', 8) + " " % Settings::getTokenName();
ui->sendAddressBalance->setText(balFmt);
ui->sendAddressBalanceUSD->setText(Settings::getInstance()->getUSDFormat(bal));
ui->sendAddressBalanceUSD->setText(Settings::getUSDFormat(bal));
}
@ -250,7 +250,7 @@ void MainWindow::addressChanged(int itemNumber, const QString& text) {
void MainWindow::amountChanged(int item, const QString& text) {
auto usd = ui->sendToWidgets->findChild<QLabel*>(QString("AmtUSD") % QString::number(item));
usd->setText(Settings::getInstance()->getUSDFormat(text.toDouble()));
usd->setText(Settings::getUSDFormat(text.toDouble()));
}
void MainWindow::setMemoEnabled(int number, bool enabled) {
@ -443,14 +443,14 @@ bool MainWindow::confirmTx(Tx tx, ToFields devFee) {
// Amount (ZEC)
auto Amt = new QLabel(confirm.sendToAddrs);
Amt->setObjectName(QString("Amt") % QString::number(i + 1));
Amt->setText(Settings::getInstance()->getZECDisplayFormat(toAddr.amount));
Amt->setText(Settings::getZECDisplayFormat(toAddr.amount));
Amt->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
confirm.gridLayout->addWidget(Amt, i*2, 1, 1, 1);
// Amount (USD)
auto AmtUSD = new QLabel(confirm.sendToAddrs);
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
AmtUSD->setText(Settings::getInstance()->getUSDFormat(toAddr.amount));
AmtUSD->setText(Settings::getUSDFormat(toAddr.amount));
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
confirm.gridLayout->addWidget(AmtUSD, i*2, 2, 1, 1);
@ -484,7 +484,7 @@ bool MainWindow::confirmTx(Tx tx, ToFields devFee) {
minerFee->setObjectName(QStringLiteral("minerFee"));
minerFee->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
confirm.gridLayout->addWidget(minerFee, i, 1, 1, 1);
minerFee->setText(Settings::getInstance()->getZECDisplayFormat(tx.fee));
minerFee->setText(Settings::getZECDisplayFormat(tx.fee));
auto minerFeeUSD = new QLabel(confirm.sendToAddrs);
QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Preferred);
@ -492,7 +492,7 @@ bool MainWindow::confirmTx(Tx tx, ToFields devFee) {
minerFeeUSD->setObjectName(QStringLiteral("minerFeeUSD"));
minerFeeUSD->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
confirm.gridLayout->addWidget(minerFeeUSD, i, 2, 1, 1);
minerFeeUSD->setText(Settings::getInstance()->getUSDFormat(tx.fee));
minerFeeUSD->setText(Settings::getUSDFormat(tx.fee));
if (!devFee.addr.isEmpty()) {
auto labelDevFee = new QLabel(confirm.sendToAddrs);
@ -504,14 +504,14 @@ bool MainWindow::confirmTx(Tx tx, ToFields devFee) {
fee->setObjectName(QStringLiteral("devFee"));
fee->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
confirm.gridLayout->addWidget(fee, i+1, 1, 1, 1);
fee ->setText(Settings::getInstance()->getZECDisplayFormat(Settings::getDevFee()));
fee ->setText(Settings::getZECDisplayFormat(Settings::getDevFee()));
auto devFeeUSD = new QLabel(confirm.sendToAddrs);
devFeeUSD->setSizePolicy(sizePolicy1);
devFeeUSD->setObjectName(QStringLiteral("devFeeUSD"));
devFeeUSD->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
confirm.gridLayout->addWidget(devFeeUSD, i+1, 2, 1, 1);
devFeeUSD ->setText(Settings::getInstance()->getUSDFormat(Settings::getDevFee()));
devFeeUSD ->setText(Settings::getUSDFormat(Settings::getDevFee()));
}
}

4
src/settings.cpp

@ -103,8 +103,8 @@ double Settings::getZECPrice() {
}
QString Settings::getUSDFormat(double bal) {
if (!isTestnet() && getZECPrice() > 0)
return "$" + QLocale(QLocale::English).toString(bal * getZECPrice(), 'f', 2);
if (!Settings::getInstance()->isTestnet() && Settings::getInstance()->getZECPrice() > 0)
return "$" + QLocale(QLocale::English).toString(bal * Settings::getInstance()->getZECPrice(), 'f', 2);
else
return QString();
}

10
src/settings.h

@ -53,14 +53,14 @@ public:
void setZECPrice(double p) { zecPrice = p; }
double getZECPrice();
QString getUSDFormat (double bal);
QString getZECDisplayFormat (double bal);
QString getZECUSDDisplayFormat(double bal);
// Static stuff
static const QString txidStatusMessage;
static QString getUSDFormat(double bal);
static QString getZECDisplayFormat(double bal);
static QString getZECUSDDisplayFormat(double bal);
static const QString getTokenName();
static const QString getDevSproutAddr();
static const QString getDevAddr(Tx tx);

2
src/txtablemodel.cpp

@ -102,7 +102,7 @@ void TxTableModel::updateAllData() {
return addr;
}
case 2: return QDateTime::fromMSecsSinceEpoch(modeldata->at(index.row()).datetime * (qint64)1000).toLocalTime().toString();
case 3: return Settings::getInstance()->getZECDisplayFormat(modeldata->at(index.row()).amount);
case 3: return Settings::getZECDisplayFormat(modeldata->at(index.row()).amount);
}
}

Loading…
Cancel
Save