Add context menu on transaction list: copy label, copy address, edit label, show...
[novacoin.git] / src / qt / transactionview.h
1 #ifndef TRANSACTIONVIEW_H
2 #define TRANSACTIONVIEW_H
3
4 #include <QWidget>
5
6 class WalletModel;
7 class TransactionFilterProxy;
8
9 QT_BEGIN_NAMESPACE
10 class QTableView;
11 class QComboBox;
12 class QLineEdit;
13 class QModelIndex;
14 class QMenu;
15 QT_END_NAMESPACE
16
17 class TransactionView : public QWidget
18 {
19     Q_OBJECT
20 public:
21     explicit TransactionView(QWidget *parent = 0);
22
23     void setModel(WalletModel *model);
24
25     enum DateEnum
26     {
27         All,
28         Today,
29         ThisWeek,
30         ThisMonth,
31         LastMonth,
32         ThisYear,
33         Range
34     };
35
36 private:
37     WalletModel *model;
38     TransactionFilterProxy *transactionProxyModel;
39     QTableView *transactionView;
40
41     QComboBox *dateWidget;
42     QComboBox *typeWidget;
43     QLineEdit *addressWidget;
44     QLineEdit *amountWidget;
45
46     QMenu *contextMenu;
47
48 private slots:
49     void contextualMenu(const QPoint &);
50
51 signals:
52     void doubleClicked(const QModelIndex&);
53
54 public slots:
55     void chooseDate(int idx);
56     void chooseType(int idx);
57     void changedPrefix(const QString &prefix);
58     void changedAmount(const QString &amount);
59     void exportClicked();
60     void showDetails();
61     void copyAddress();
62     void editLabel();
63     void copyLabel();
64
65 };
66
67 #endif // TRANSACTIONVIEW_H