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.
5 #ifndef BITCOIN_QT_TRANSACTIONVIEW_H
6 #define BITCOIN_QT_TRANSACTIONVIEW_H
14 class TransactionFilterProxy
;
28 /** Widget showing the transaction list for a wallet, including a filter row.
29 Using the filter row, the user can view or export a subset of the transactions.
31 class TransactionView
: public QWidget
36 explicit TransactionView(const PlatformStyle
*platformStyle
, QWidget
*parent
= 0);
38 void setModel(WalletModel
*model
);
40 // Date ranges for filter
53 STATUS_COLUMN_WIDTH
= 30,
54 WATCHONLY_COLUMN_WIDTH
= 23,
55 DATE_COLUMN_WIDTH
= 120,
56 TYPE_COLUMN_WIDTH
= 113,
57 AMOUNT_MINIMUM_COLUMN_WIDTH
= 120,
58 MINIMUM_COLUMN_WIDTH
= 23
63 TransactionFilterProxy
*transactionProxyModel
;
64 QTableView
*transactionView
;
66 QComboBox
*dateWidget
;
67 QComboBox
*typeWidget
;
68 QComboBox
*watchOnlyWidget
;
69 QLineEdit
*addressWidget
;
70 QLineEdit
*amountWidget
;
73 QSignalMapper
*mapperThirdPartyTxUrls
;
75 QFrame
*dateRangeWidget
;
76 QDateTimeEdit
*dateFrom
;
77 QDateTimeEdit
*dateTo
;
78 QAction
*abandonAction
;
79 QAction
*bumpFeeAction
;
81 QWidget
*createDateRangeWidget();
83 GUIUtil::TableViewLastColumnResizingFixer
*columnResizingFixer
;
85 virtual void resizeEvent(QResizeEvent
* event
);
87 bool eventFilter(QObject
*obj
, QEvent
*event
);
90 void contextualMenu(const QPoint
&);
91 void dateRangeChanged();
99 void copyTxPlainText();
100 void openThirdPartyTxUrl(QString url
);
101 void updateWatchOnlyColumn(bool fHaveWatchOnly
);
106 void doubleClicked(const QModelIndex
&);
108 /** Fired when a message should be reported to the user */
109 void message(const QString
&title
, const QString
&message
, unsigned int style
);
112 void chooseDate(int idx
);
113 void chooseType(int idx
);
114 void chooseWatchonly(int idx
);
115 void changedPrefix(const QString
&prefix
);
116 void changedAmount(const QString
&amount
);
117 void exportClicked();
118 void focusTransaction(const QModelIndex
&);
122 #endif // BITCOIN_QT_TRANSACTIONVIEW_H