From a4a8784ce8f514cfbe563ab74d1e972be06accf2 Mon Sep 17 00:00:00 2001 From: langerhans Date: Mon, 7 Apr 2014 18:49:01 +0200 Subject: [PATCH] Cleaned up version of #424 --- src/qt/transactionview.cpp | 21 +++++++++++++++++++++ src/qt/transactionview.h | 1 + 2 files changed, 22 insertions(+) diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index a0c3ce62a..0dd324bb2 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -30,6 +30,8 @@ #include #include #include +#include +#include TransactionView::TransactionView(QWidget *parent) : QWidget(parent), model(0), transactionProxyModel(0), @@ -129,14 +131,18 @@ TransactionView::TransactionView(QWidget *parent) : QAction *copyTxIDAction = new QAction(tr("Copy transaction ID"), this); QAction *editLabelAction = new QAction(tr("Edit label"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); + QAction *viewOnDogechain = new QAction(tr("Show transaction on Dogechain"), this); contextMenu = new QMenu(); contextMenu->addAction(copyAddressAction); contextMenu->addAction(copyLabelAction); contextMenu->addAction(copyAmountAction); contextMenu->addAction(copyTxIDAction); + contextMenu->addSeparator(); contextMenu->addAction(editLabelAction); contextMenu->addAction(showDetailsAction); + contextMenu->addSeparator(); + contextMenu->addAction(viewOnDogechain); // Connect actions connect(dateWidget, SIGNAL(activated(int)), this, SLOT(chooseDate(int))); @@ -153,6 +159,7 @@ TransactionView::TransactionView(QWidget *parent) : connect(copyTxIDAction, SIGNAL(triggered()), this, SLOT(copyTxID())); connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); + connect(viewOnDogechain, SIGNAL(triggered()), this, SLOT(viewOnDogechain())); } void TransactionView::setModel(WalletModel *model) @@ -385,6 +392,20 @@ void TransactionView::showDetails() } } + +void TransactionView::viewOnDogechain() +{ + QModelIndexList selection = transactionView->selectionModel()->selectedRows(); + if(!selection.isEmpty()) + { + QString format("http://dogechain.info/tx/"); + QString munged = selection.at(0).data(TransactionTableModel::TxIDRole).toString(); + format += munged.left(munged.lastIndexOf("-")); + + QDesktopServices::openUrl(QUrl(format)); + } +} + QWidget *TransactionView::createDateRangeWidget() { dateRangeWidget = new QFrame(); diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index 18f2b9bfc..f0e07c179 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -71,6 +71,7 @@ private slots: void copyLabel(); void copyAmount(); void copyTxID(); + void viewOnDogechain(); signals: void doubleClicked(const QModelIndex&);