PRCYCoin  2.0.0.7rc1
P2P Digital Currency
coincontroldialog.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2013 The Bitcoin developers
2 // Distributed under the MIT/X11 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 "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 
19 class WalletModel;
20 
21 class CCoinControl;
22 class CTxMemPool;
23 
24 namespace Ui
25 {
26 class CoinControlDialog;
27 }
28 
29 class CCoinControlWidgetItem : public QTreeWidgetItem
30 {
31 public:
32  explicit CCoinControlWidgetItem(QTreeWidget *parent, int type = Type) : QTreeWidgetItem(parent, type) {}
33  explicit CCoinControlWidgetItem(int type = Type) : QTreeWidgetItem(type) {}
34  explicit CCoinControlWidgetItem(QTreeWidgetItem *parent, int type = Type) : QTreeWidgetItem(parent, type) {}
35 
36  bool operator<(const QTreeWidgetItem &other) const;
37 };
38 
39 class CoinControlDialog : public QDialog
40 {
41  Q_OBJECT
42 
43 public:
44  explicit CoinControlDialog(QWidget* parent = nullptr);
46 
47  void setModel(WalletModel* model);
48  void updateDialogLabels();
49  void updateView();
50 
51  // static because also called from sendcoinsdialog
52  static void updateLabels(WalletModel*, QDialog*);
53  static QString getPriorityLabel(double dPriority, double mempoolEstimatePriority);
54 
55  static QList<CAmount> payAmounts;
57  static int nSplitBlockDummy;
58 
59 private:
60  Ui::CoinControlDialog* ui;
63  Qt::SortOrder sortOrder;
64  bool fSelectAllToggled{true}; // false when pushButtonSelectAll text is "Unselect All"
65 
66  QMenu* contextMenu;
67  QTreeWidgetItem* contextMenuItem;
69  QAction* lockAction;
70  QAction* unlockAction;
71 
72  void sortView(int, Qt::SortOrder);
73 
74  enum {
85  };
86 
87  friend class CCoinControlWidgetItem;
88 
89 private Q_SLOTS:
90  void showMenu(const QPoint&);
91  void copyAmount();
92  void copyLabel();
93  void copyAddress();
94  void copyTransactionHash();
95  void lockCoin();
96  void unlockCoin();
97  void clipboardQuantity();
98  void clipboardAmount();
99  void clipboardFee();
100  void clipboardAfterFee();
101  void clipboardBytes();
102  void clipboardPriority();
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*);
110  void buttonSelectAllClicked();
112  void updateLabelLocked();
113 };
114 
115 #endif // BITCOIN_QT_COINCONTROLDIALOG_H
CoinControlDialog::unlockAction
QAction * unlockAction
Definition: coincontroldialog.h:70
CoinControlDialog::lockCoin
void lockCoin()
Definition: coincontroldialog.cpp:303
CoinControlDialog::COLUMN_DATE
@ COLUMN_DATE
Definition: coincontroldialog.h:80
CoinControlDialog::COLUMN_TXHASH
@ COLUMN_TXHASH
Definition: coincontroldialog.h:83
CoinControlDialog::payAmounts
static QList< CAmount > payAmounts
Definition: coincontroldialog.h:55
CoinControlDialog::viewItemChanged
void viewItemChanged(QTreeWidgetItem *, int)
Definition: coincontroldialog.cpp:415
WalletModel
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:102
CoinControlDialog::showMenu
void showMenu(const QPoint &)
Definition: coincontroldialog.cpp:243
CCoinControlWidgetItem::CCoinControlWidgetItem
CCoinControlWidgetItem(int type=Type)
Definition: coincontroldialog.h:33
CoinControlDialog::COLUMN_VOUT_INDEX
@ COLUMN_VOUT_INDEX
Definition: coincontroldialog.h:84
CoinControlDialog::setModel
void setModel(WalletModel *model)
Definition: coincontroldialog.cpp:164
CoinControlDialog::updateView
void updateView()
Definition: coincontroldialog.cpp:715
CCoinControlWidgetItem::CCoinControlWidgetItem
CCoinControlWidgetItem(QTreeWidget *parent, int type=Type)
Definition: coincontroldialog.h:32
CTxMemPool
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
Definition: txmempool.h:97
CoinControlDialog::COLUMN_PRIORITY
@ COLUMN_PRIORITY
Definition: coincontroldialog.h:82
CCoinControl
Coin Control Features.
Definition: coincontrol.h:15
CoinControlDialog
Definition: coincontroldialog.h:39
CoinControlDialog::COLUMN_CHECKBOX
@ COLUMN_CHECKBOX
Definition: coincontroldialog.h:75
CoinControlDialog::sortColumn
int sortColumn
Definition: coincontroldialog.h:62
CoinControlDialog::nSplitBlockDummy
static int nSplitBlockDummy
Definition: coincontroldialog.h:57
CCoinControlWidgetItem::operator<
bool operator<(const QTreeWidgetItem &other) const
Definition: coincontroldialog.cpp:38
CoinControlDialog::clipboardChange
void clipboardChange()
Definition: coincontroldialog.cpp:368
CoinControlDialog::radioListMode
void radioListMode(bool)
Definition: coincontroldialog.cpp:408
CoinControlDialog::model
WalletModel * model
Definition: coincontroldialog.h:61
CoinControlDialog::headerSectionClicked
void headerSectionClicked(int)
Definition: coincontroldialog.cpp:383
CoinControlDialog::clipboardLowOutput
void clipboardLowOutput()
Definition: coincontroldialog.cpp:362
CoinControlDialog::fSelectAllToggled
bool fSelectAllToggled
Definition: coincontroldialog.h:64
CoinControlDialog::copyTransactionHashAction
QAction * copyTransactionHashAction
Definition: coincontroldialog.h:68
CoinControlDialog::copyLabel
void copyLabel()
Definition: coincontroldialog.cpp:279
CoinControlDialog::buttonSelectAllClicked
void buttonSelectAllClicked()
Definition: coincontroldialog.cpp:184
CoinControlDialog::sortView
void sortView(int, Qt::SortOrder)
Definition: coincontroldialog.cpp:374
CoinControlDialog::copyTransactionHash
void copyTransactionHash()
Definition: coincontroldialog.cpp:297
CoinControlDialog::contextMenuItem
QTreeWidgetItem * contextMenuItem
Definition: coincontroldialog.h:67
CoinControlDialog::clipboardAmount
void clipboardAmount()
Definition: coincontroldialog.cpp:332
CoinControlDialog::buttonBoxClicked
void buttonBoxClicked(QAbstractButton *)
Definition: coincontroldialog.cpp:177
CoinControlDialog::clipboardAfterFee
void clipboardAfterFee()
Definition: coincontroldialog.cpp:344
CCoinControlWidgetItem::CCoinControlWidgetItem
CCoinControlWidgetItem(QTreeWidgetItem *parent, int type=Type)
Definition: coincontroldialog.h:34
CoinControlDialog::clipboardBytes
void clipboardBytes()
Definition: coincontroldialog.cpp:350
CoinControlDialog::~CoinControlDialog
~CoinControlDialog()
Definition: coincontroldialog.cpp:154
CoinControlDialog::updateLabelLocked
void updateLabelLocked()
Definition: coincontroldialog.cpp:473
CoinControlDialog::COLUMN_AMOUNT
@ COLUMN_AMOUNT
Definition: coincontroldialog.h:76
CoinControlDialog::updateLabels
static void updateLabels(WalletModel *, QDialog *)
Definition: coincontroldialog.cpp:517
CoinControlDialog::lockAction
QAction * lockAction
Definition: coincontroldialog.h:69
CoinControlDialog::unlockCoin
void unlockCoin()
Definition: coincontroldialog.cpp:316
CoinControlDialog::ui
Ui::CoinControlDialog * ui
Definition: coincontroldialog.h:60
CoinControlDialog::clipboardPriority
void clipboardPriority()
Definition: coincontroldialog.cpp:356
CCoinControlWidgetItem
Definition: coincontroldialog.h:29
Ui
Definition: 2faconfirmdialog.h:7
CoinControlDialog::clipboardQuantity
void clipboardQuantity()
Definition: coincontroldialog.cpp:326
CoinControlDialog::COLUMN_TYPE
@ COLUMN_TYPE
Definition: coincontroldialog.h:79
CoinControlDialog::coinControl
static CCoinControl * coinControl
Definition: coincontroldialog.h:56
CoinControlDialog::COLUMN_CONFIRMATIONS
@ COLUMN_CONFIRMATIONS
Definition: coincontroldialog.h:81
CoinControlDialog::COLUMN_ADDRESS
@ COLUMN_ADDRESS
Definition: coincontroldialog.h:78
CoinControlDialog::buttonToggleLockClicked
void buttonToggleLockClicked()
Definition: coincontroldialog.cpp:206
CoinControlDialog::radioTreeMode
void radioTreeMode(bool)
Definition: coincontroldialog.cpp:401
CoinControlDialog::contextMenu
QMenu * contextMenu
Definition: coincontroldialog.h:66
CoinControlDialog::copyAddress
void copyAddress()
Definition: coincontroldialog.cpp:288
CoinControlDialog::updateDialogLabels
void updateDialogLabels()
Definition: coincontroldialog.cpp:484
CoinControlDialog::COLUMN_LABEL
@ COLUMN_LABEL
Definition: coincontroldialog.h:77
CoinControlDialog::copyAmount
void copyAmount()
Definition: coincontroldialog.cpp:273
CoinControlDialog::sortOrder
Qt::SortOrder sortOrder
Definition: coincontroldialog.h:63
CoinControlDialog::clipboardFee
void clipboardFee()
Definition: coincontroldialog.cpp:338
CoinControlDialog::CoinControlDialog
CoinControlDialog(QWidget *parent=nullptr)
Definition: coincontroldialog.cpp:45
amount.h
CoinControlDialog::getPriorityLabel
static QString getPriorityLabel(double dPriority, double mempoolEstimatePriority)
Definition: coincontroldialog.cpp:445