Bitcoin Core 29.99.0
P2P Digital Currency
transactionview.h
Go to the documentation of this file.
1// Copyright (c) 2011-2021 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_QT_TRANSACTIONVIEW_H
6#define BITCOIN_QT_TRANSACTIONVIEW_H
7
8#include <qt/guiutil.h>
9
10#include <uint256.h>
12
13#include <QWidget>
14#include <QKeyEvent>
15
16class PlatformStyle;
19class WalletModel;
20
21QT_BEGIN_NAMESPACE
22class QComboBox;
23class QDateTimeEdit;
24class QFrame;
25class QLineEdit;
26class QMenu;
27class QModelIndex;
28class QTableView;
29QT_END_NAMESPACE
30
34class TransactionView : public QWidget
35{
36 Q_OBJECT
37
38public:
39 explicit TransactionView(const PlatformStyle *platformStyle, QWidget *parent = nullptr);
41
43
44 // Date ranges for filter
46 {
53 Range
54 };
55
62 };
63
64protected:
65 void changeEvent(QEvent* e) override;
66
67private:
68 WalletModel *model{nullptr};
70 QTableView *transactionView{nullptr};
71
72 QComboBox *dateWidget;
73 QComboBox *typeWidget;
74 QLineEdit *search_widget;
75 QLineEdit *amountWidget;
76
78
80 QDateTimeEdit *dateFrom;
81 QDateTimeEdit *dateTo;
82 QAction *abandonAction{nullptr};
83 QAction *bumpFeeAction{nullptr};
84 QAction *copyAddressAction{nullptr};
85 QAction *copyLabelAction{nullptr};
86
87 QWidget *createDateRangeWidget();
88
89 bool eventFilter(QObject *obj, QEvent *event) override;
90
92
93 QList<TransactionDescDialog*> m_opened_dialogs;
94
95private Q_SLOTS:
96 void contextualMenu(const QPoint &);
97 void dateRangeChanged();
98 void showDetails();
99 void copyAddress();
100 void editLabel();
101 void copyLabel();
102 void copyAmount();
103 void copyTxID();
104 void copyTxHex();
105 void copyTxPlainText();
106 void openThirdPartyTxUrl(QString url);
107 void abandonTx();
108 void bumpFee(bool checked);
109
110Q_SIGNALS:
111 void doubleClicked(const QModelIndex&);
112
114 void message(const QString &title, const QString &message, unsigned int style);
115
116 void bumpedFee(const Txid& txid);
117
118public Q_SLOTS:
119 void chooseDate(int idx);
120 void chooseType(int idx);
121 void changedAmount();
122 void changedSearch();
123 void exportClicked();
124 void closeOpenedDialogs();
125 void focusTransaction(const QModelIndex&);
126 void focusTransaction(const Txid& txid);
127};
128
129#endif // BITCOIN_QT_TRANSACTIONVIEW_H
Dialog showing transaction details.
Filter the transaction list according to pre-specified rules.
Widget showing the transaction list for a wallet, including a filter row.
WalletModel * model
const PlatformStyle * m_platform_style
void bumpedFee(const Txid &txid)
void bumpFee(bool checked)
TransactionView(const PlatformStyle *platformStyle, QWidget *parent=nullptr)
QComboBox * typeWidget
QLineEdit * search_widget
bool eventFilter(QObject *obj, QEvent *event) override
QDateTimeEdit * dateFrom
QList< TransactionDescDialog * > m_opened_dialogs
QWidget * createDateRangeWidget()
void setModel(WalletModel *model)
void message(const QString &title, const QString &message, unsigned int style)
Fired when a message should be reported to the user.
void chooseType(int idx)
QAction * bumpFeeAction
void changeEvent(QEvent *e) override
QAction * abandonAction
QFrame * dateRangeWidget
QDateTimeEdit * dateTo
TransactionFilterProxy * transactionProxyModel
QTableView * transactionView
void focusTransaction(const QModelIndex &)
void chooseDate(int idx)
void contextualMenu(const QPoint &)
QComboBox * dateWidget
QAction * copyAddressAction
void openThirdPartyTxUrl(QString url)
QAction * copyLabelAction
void doubleClicked(const QModelIndex &)
QLineEdit * amountWidget
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:49
const char * url
Definition: rpcconsole.cpp:61