Make startup window modal, other small fixes

This commit is contained in:
adityapk
2018-11-08 14:05:59 -08:00
parent acb06ab588
commit b1a5d6ec69
6 changed files with 43 additions and 45 deletions

View File

@@ -9,8 +9,8 @@ using json = nlohmann::json;
RPC::RPC(MainWindow* main) {
auto cl = new ConnectionLoader(main, this);
// Show a default no connection message until we can connect.
cl->loadConnection();
// Execute the load connection async, so we can set up the rest of RPC properly.
QTimer::singleShot(1, [=]() {cl->loadConnection(); });
this->main = main;
this->ui = main->ui;
@@ -66,6 +66,9 @@ RPC::~RPC() {
void RPC::setEZcashd(QProcess* p) {
ezcashd = p;
if (ezcashd == nullptr)
ui->tabWidget->removeTab(4);
}
void RPC::setConnection(Connection* c) {
@@ -326,8 +329,10 @@ void RPC::fillTxJsonParams(json& params, Tx tx) {
}
void RPC::noConnection() {
ui->statusBar->showMessage("No Connection to zcashd");
void RPC::noConnection() {
QIcon i = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical);
main->statusIcon->setPixmap(i.pixmap(16, 16));
main->statusLabel->setText("No Connection");
}
// Refresh received z txs by calling z_listreceivedbyaddress/gettransaction
@@ -439,7 +444,6 @@ void RPC::refreshReceivedZTrans(QList<QString> zaddrs) {
);
}
/// This will refresh all the balance data from zcashd
void RPC::refresh(bool force) {
if (conn == nullptr)
@@ -482,7 +486,7 @@ void RPC::getInfoThenRefresh(bool force) {
}
// Get network sol/s
if (ezcashd != nullptr) {
if (ezcashd) {
int conns = reply["connections"].get<json::number_integer_t>();
json payload = {
@@ -498,11 +502,7 @@ void RPC::getInfoThenRefresh(bool force) {
ui->numconnections->setText(QString::number(conns));
ui->solrate->setText(QString::number(solrate) % " Sol/s");
});
} else {
qDebug() << "removing tab!";
ui->tabWidget->removeTab(4);
}
}
// Call to see if the blockchain is syncing.
json payload = {
@@ -526,7 +526,7 @@ void RPC::getInfoThenRefresh(bool force) {
qint64 estBlocks = (QDateTime::currentMSecsSinceEpoch() - genisisTimeMSec) / 2.5 / 60 / 1000;
// Round to nearest 10
estBlocks = ((estBlocks + 5) / 10) * 10;
ui->blockheight->setText(ui->blockheight->text() % " / ~" % QString::number(estBlocks) %
ui->blockheight->setText(ui->blockheight->text() % /*" / ~" % QString::number(estBlocks) % */
" ( " % QString::number(progress * 100, 'f', 0) % "% )");
}
@@ -871,11 +871,10 @@ void RPC::shutdownZcashd() {
conn->doRPCWithDefaultErrorHandling(payload, [=](auto) {});
conn->shutdown();
QMessageBox d(main);
d.setIcon(QMessageBox::Icon::Information);
d.setWindowTitle("Waiting for zcashd to exit");
d.setText("Please wait for zcashd to exit. Don't click OK!");
d.setText("Please wait for zcashd to exit.");
d.setStandardButtons(QMessageBox::NoButton);
QTimer waiter(main);