]> Nutra Git (v1) - gamesguru/feather.git/commitdiff
TxInfoDialog: added a clickable icon to view transaction on block explorer
authortobtoht <thotbot@protonmail.com>
Fri, 22 Oct 2021 16:11:02 +0000 (18:11 +0200)
committertobtoht <thotbot@protonmail.com>
Fri, 22 Oct 2021 16:16:12 +0000 (18:16 +0200)
src/assets.qrc
src/dialog/TxInfoDialog.cpp
src/dialog/TxInfoDialog.h
src/dialog/TxInfoDialog.ui

index 09e28c315567500d7e493ddf5cac429ff36d4656..bf99e011a51ab934d9dda4d2b0c4816c35023d39 100644 (file)
@@ -34,6 +34,7 @@
     <file>assets/images/copy.png</file>
     <file>assets/images/cutexmrfox.png</file>
     <file>assets/images/edit.png</file>
+    <file>assets/images/external-link.svg</file>
     <file>assets/images/exchange.png</file>
     <file>assets/images/exchange_white.png</file>
     <file>assets/images/expired.png</file>
index 14920e5ac955d9236a244ff654c50f3c214978f1..eb0bfeff2f2c15dcd0a915c17ab9bbad703990f7 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "appcontext.h"
 #include "config.h"
+#include "constants.h"
 #include "libwalletqt/Coins.h"
 #include "libwalletqt/CoinsInfo.h"
 #include "libwalletqt/TransactionHistory.h"
@@ -16,6 +17,7 @@
 #include "libwalletqt/WalletManager.h"
 #include "model/ModelUtils.h"
 #include "Utils.h"
+#include "utils/Icons.h"
 
 TxInfoDialog::TxInfoDialog(QSharedPointer<AppContext> ctx, TransactionInfo *txInfo, QWidget *parent)
     : QDialog(parent)
@@ -26,6 +28,10 @@ TxInfoDialog::TxInfoDialog(QSharedPointer<AppContext> ctx, TransactionInfo *txIn
 {
     ui->setupUi(this);
 
+    ui->btn_viewOnBlockExplorer->setIcon(icons()->icon("external-link.svg"));
+    ui->btn_viewOnBlockExplorer->setToolTip("View on block explorer");
+    connect(ui->btn_viewOnBlockExplorer, &QPushButton::clicked, this, &TxInfoDialog::viewOnBlockExplorer);
+
     m_txid = txInfo->hash();
     ui->label_txid->setText(m_txid);
 
@@ -85,6 +91,9 @@ TxInfoDialog::TxInfoDialog(QSharedPointer<AppContext> ctx, TransactionInfo *txIn
     }
 
     this->adjustSize();
+
+    // Don't autofocus any of the buttons. There is probably a better way for this.
+    ui->label_txid->setFocus();
 }
 
 void TxInfoDialog::adjustHeight(QTextEdit *textEdit, qreal docHeight) {
@@ -168,4 +177,8 @@ void TxInfoDialog::createTxProof() {
     m_txProofDialog->getTxKey();
 }
 
+void TxInfoDialog::viewOnBlockExplorer() {
+    Utils::externalLinkWarning(this, Utils::blockExplorerLink(config()->get(Config::blockExplorer).toString(), constants::networkType, m_txid));
+}
+
 TxInfoDialog::~TxInfoDialog() = default;
\ No newline at end of file
index 0de4a374c008b1ee2529c86b62fd13aac96cb6e2..36bc46f0bb96d0d86044423782ce2e03311a3bd0 100644 (file)
@@ -34,6 +34,7 @@ private:
     void setData(TransactionInfo *tx);
     void updateData();
     void adjustHeight(QTextEdit *textEdit, qreal docHeight);
+    void viewOnBlockExplorer();
 
     QScopedPointer<Ui::TxInfoDialog> ui;
     QSharedPointer<AppContext> m_ctx;
index 5545e78f2e587c0f332438575d2392832bf589b8..22405d9244e7df88687a04aa314b5a3864b6c2bd 100644 (file)
@@ -19,7 +19,7 @@
      <property name="title">
       <string>Transaction ID:</string>
      </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
+     <layout class="QHBoxLayout" name="horizontalLayout">
       <item>
        <widget class="QLabel" name="label_txid">
         <property name="text">
         </property>
        </widget>
       </item>
+      <item>
+       <widget class="QPushButton" name="btn_viewOnBlockExplorer">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>