Bitcoin ABC 0.30.5
P2P Digital Currency
coincontroldialog.h
Go to the documentation of this file.
1// Copyright (c) 2011-2016 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_COINCONTROLDIALOG_H
6#define BITCOIN_QT_COINCONTROLDIALOG_H
7
8#include <consensus/amount.h>
9
10#include <QAbstractButton>
11#include <QAction>
12#include <QDialog>
13#include <QList>
14#include <QMenu>
15#include <QPoint>
16#include <QString>
17#include <QTreeWidgetItem>
18
19class PlatformStyle;
20class WalletModel;
21
22class CCoinControl;
23class COutPoint;
24
25namespace Ui {
27}
28
29#define ASYMP_UTF8 "\xE2\x89\x88"
30
31class CCoinControlWidgetItem : public QTreeWidgetItem {
32public:
33 explicit CCoinControlWidgetItem(QTreeWidget *parent, int type = Type)
34 : QTreeWidgetItem(parent, type) {}
35 explicit CCoinControlWidgetItem(QTreeWidgetItem *parent, int type = Type)
36 : QTreeWidgetItem(parent, type) {}
37
38 bool operator<(const QTreeWidgetItem &other) const override;
39};
40
41class CoinControlDialog : public QDialog {
42 Q_OBJECT
43
44public:
45 explicit CoinControlDialog(CCoinControl &coin_control, WalletModel *model,
47 QWidget *parent = nullptr);
49
50 // static because also called from sendcoinsdialog
52 QDialog *);
53
54 static QList<Amount> payAmounts;
56
57private:
58 Ui::CoinControlDialog *ui;
62 Qt::SortOrder sortOrder;
63
65 QTreeWidgetItem *contextMenuItem;
67 QAction *lockAction;
68 QAction *unlockAction;
69
71
72 void sortView(int, Qt::SortOrder);
73 void updateView();
74
75 enum {
82 };
83
84 enum { TxIdRole = Qt::UserRole, VOutRole };
85
87
88 static COutPoint buildOutPoint(const QTreeWidgetItem *item);
89
90private Q_SLOTS:
91 void showMenu(const QPoint &);
92 void copyAmount();
93 void copyLabel();
94 void copyAddress();
96 void lockCoin();
97 void unlockCoin();
98 void clipboardQuantity();
99 void clipboardAmount();
100 void clipboardFee();
101 void clipboardAfterFee();
102 void clipboardBytes();
103 void clipboardLowOutput();
104 void clipboardChange();
105 void radioTreeMode(bool);
106 void radioListMode(bool);
107 void viewItemChanged(QTreeWidgetItem *, int);
108 void headerSectionClicked(int);
109 void buttonBoxClicked(QAbstractButton *);
111 void updateLabelLocked();
112};
113
114#endif // BITCOIN_QT_COINCONTROLDIALOG_H
Coin Control Features.
Definition: coincontrol.h:21
CCoinControlWidgetItem(QTreeWidgetItem *parent, int type=Type)
bool operator<(const QTreeWidgetItem &other) const override
CCoinControlWidgetItem(QTreeWidget *parent, int type=Type)
An outpoint - a combination of a transaction hash and an index n into its vout.
Definition: transaction.h:20
static COutPoint buildOutPoint(const QTreeWidgetItem *item)
QTreeWidgetItem * contextMenuItem
WalletModel * model
static QList< Amount > payAmounts
static void updateLabels(CCoinControl &m_coin_control, WalletModel *, QDialog *)
const PlatformStyle * platformStyle
CCoinControl & m_coin_control
QAction * copyTransactionHashAction
Ui::CoinControlDialog * ui
void sortView(int, Qt::SortOrder)
CoinControlDialog(CCoinControl &coin_control, WalletModel *model, const PlatformStyle *platformStyle, QWidget *parent=nullptr)
void showMenu(const QPoint &)
void viewItemChanged(QTreeWidgetItem *, int)
Qt::SortOrder sortOrder
static bool fSubtractFeeFromAmount
void buttonBoxClicked(QAbstractButton *)
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:47