From c69abfc7f9c5fe84cfc9301244183cccd088ba6d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 22:26:58 +0200 Subject: [PATCH] change animation for sending messages #84 --- application.qrc | 2 + res/loaderblack.gif | Bin 0 -> 5627 bytes res/loaderwhite.gif | Bin 0 -> 5586 bytes src/chatmodel.cpp | 94 +++++++++++++++++++++++++------------------- src/mainwindow.ui | 2 +- 5 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 res/loaderblack.gif create mode 100644 res/loaderwhite.gif diff --git a/application.qrc b/application.qrc index d62ea29..345aac4 100644 --- a/application.qrc +++ b/application.qrc @@ -55,6 +55,8 @@ res/silentdragonlite-animated-dark.gif res/silentdragonlite-animated-startup.gif res/silentdragonlite-animated-startup-dark.gif + res/loaderblack.gif + res/loaderwhite.gif res/silentdragonlite_de.qm diff --git a/res/loaderblack.gif b/res/loaderblack.gif new file mode 100644 index 0000000000000000000000000000000000000000..764a3f87be851954989c67de2ce51051cef211ec GIT binary patch literal 5627 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 literal 0 HcmV?d00001 diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index caa704c..d88e95f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -580,44 +580,51 @@ void MainWindow::sendChat() { qDebug() << "Tx aborted"; } - // Create a new Dialog to show that we are computing/sending the Tx - auto d = new QDialog(this); - auto connD = new Ui_ConnectionDialog(); - connD->setupUi(d); - QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; - QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto movie = new QMovie(this); + auto movie1 = new QMovie(this); + movie->setFileName(":/img/res/loaderblack.gif"); + movie1->setFileName(":/img/res/loaderwhite.gif"); + auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - movie2->setScaledSize(QSize(512,512)); - connD->topIcon->setMovie(movie2); - movie2->start(); + + connect(movie, &QMovie::frameChanged, [=]{ + ui->sendChatButton->setIcon(movie->currentPixmap()); + }); + movie->start(); + ui->sendChatButton->show(); + } else { - movie1->setScaledSize(QSize(512,512)); - connD->topIcon->setMovie(movie1); - movie1->start(); - } - connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be sent")); + connect(movie1, &QMovie::frameChanged, [=]{ + ui->sendChatButton->setIcon(movie1->currentPixmap()); + }); + movie1->start(); + ui->sendChatButton->show(); + } - d->show(); ui->memoTxtChat->clear(); - // And send the Tx rpc->executeTransaction(tx, [=] (QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); - - connD->status->setText(tr("Done!")); - connD->statusDetail->setText(txid); - QTimer::singleShot(1000, [=]() { - d->accept(); - d->close(); - delete connD; - delete d; + QTimer::singleShot(1000, [=]() { + + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie->stop(); + }else{ + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie1->stop(); + } }); @@ -630,19 +637,31 @@ void MainWindow::sendChat() { [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); - d->accept(); - d->close(); - delete connD; - delete d; - if (!opid.isEmpty()) errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + movie->stop(); + + + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie->stop(); + }else{ + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie1->stop(); + } + + + } ); - // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -760,8 +779,6 @@ Tx MainWindow::createTxForSafeContactRequest() QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - qDebug()<<"Publickey created Request: "<setupUi(d); - QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; - QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif"); + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif"); auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { movie2->setScaledSize(QSize(512,512)); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 82b43ab..c6a5fc1 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -426,7 +426,7 @@ 0 0 1226 - 509 + 493