PRCYCoin  2.0.0.7rc1
P2P Digital Currency
transactionview.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_TRANSACTIONVIEW_H
6 #define BITCOIN_QT_TRANSACTIONVIEW_H
7 
8 #include "guiutil.h"
9 
10 #include <QKeyEvent>
11 #include <QWidget>
12 #include <QAction>
13 
15 class WalletModel;
16 
17 QT_BEGIN_NAMESPACE
18 class QComboBox;
19 class QDateTimeEdit;
20 class QFrame;
21 class QItemSelectionModel;
22 class QLineEdit;
23 class QMenu;
24 class QModelIndex;
25 class QSignalMapper;
26 class QTableView;
27 QT_END_NAMESPACE
28 
32 class TransactionView : public QWidget
33 {
34  Q_OBJECT
35 
36 public:
37  explicit TransactionView(QWidget* parent = 0);
39 
40  void setModel(WalletModel* model);
41 
42  // Date ranges for filter
43  enum DateEnum {
44  All,
51  };
52 
53  enum ColumnWidths {
60  };
61 
62 private:
65  QTableView* transactionView;
66  QComboBox* dateWidget;
67  QComboBox* typeWidget;
68  QComboBox* watchOnlyWidget;
69  QLineEdit* addressWidget;
70  QLineEdit* amountWidget;
72 
73  QMenu* contextMenu;
74  QSignalMapper* mapperThirdPartyTxUrls;
75 
76  QFrame* dateRangeWidget;
77  QDateTimeEdit* dateFrom;
78  QDateTimeEdit* dateTo;
79 
80  QWidget* createDateRangeWidget();
81 
83 
84  virtual void resizeEvent(QResizeEvent* event);
85 
86  bool eventFilter(QObject* obj, QEvent* event);
87 
88 private Q_SLOTS:
89  void contextualMenu(const QPoint&);
90  void dateRangeChanged();
91  void showDetails();
92  void copyAddress();
93  void editLabel();
94  void copyLabel();
95  void copyAmount();
96  void copyTxID();
97  void openThirdPartyTxUrl(QString url);
98  void updateWatchOnlyColumn(bool fHaveWatchOnly);
99 
100 Q_SIGNALS:
101  void doubleClicked(const QModelIndex&);
102 
104  void message(const QString& title, const QString& message, unsigned int style);
105 
107  void trxAmount(QString amount);
108 
109 public Q_SLOTS:
110  void chooseDate(int idx);
111  void chooseType(int idx);
112  void hideOrphans(bool fHide);
113  void updateHideOrphans(bool fHide);
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&);
119  void computeSum();
120 };
121 
122 #endif // BITCOIN_QT_TRANSACTIONVIEW_H
TransactionView
Widget showing the transaction list for a wallet, including a filter row.
Definition: transactionview.h:32
TransactionView::TYPE_COLUMN_WIDTH
@ TYPE_COLUMN_WIDTH
Definition: transactionview.h:57
TransactionView::createDateRangeWidget
QWidget * createDateRangeWidget()
Definition: transactionview.cpp:515
TransactionView::editLabel
void editLabel()
Definition: transactionview.cpp:439
TransactionView::TransactionView
TransactionView(QWidget *parent=0)
Definition: transactionview.cpp:38
WalletModel
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:102
TransactionView::openThirdPartyTxUrl
void openThirdPartyTxUrl(QString url)
Definition: transactionview.cpp:506
TransactionView::~TransactionView
~TransactionView()
Definition: transactionview.cpp:182
TransactionView::DateEnum
DateEnum
Definition: transactionview.h:43
TransactionView::ThisYear
@ ThisYear
Definition: transactionview.h:49
TransactionView::focusTransaction
void focusTransaction(const QModelIndex &)
Definition: transactionview.cpp:560
TransactionView::ColumnWidths
ColumnWidths
Definition: transactionview.h:53
GUIUtil::TableViewLastColumnResizingFixer
Makes a QTableView last column feel as if it was being resized from its left border.
Definition: guiutil.h:179
TransactionView::ThisMonth
@ ThisMonth
Definition: transactionview.h:47
TransactionView::LastMonth
@ LastMonth
Definition: transactionview.h:48
TransactionView::updateHideOrphans
void updateHideOrphans(bool fHide)
Definition: transactionview.cpp:323
TransactionView::hideOrphansAction
QAction * hideOrphansAction
Definition: transactionview.h:71
TransactionView::STATUS_COLUMN_WIDTH
@ STATUS_COLUMN_WIDTH
Definition: transactionview.h:54
TransactionView::chooseWatchonly
void chooseWatchonly(int idx)
Definition: transactionview.cpp:338
TransactionView::transactionView
QTableView * transactionView
Definition: transactionview.h:65
TransactionView::copyTxID
void copyTxID()
Definition: transactionview.cpp:434
TransactionView::dateTo
QDateTimeEdit * dateTo
Definition: transactionview.h:78
prefix
const char * prefix
Definition: rest.cpp:588
url
const char * url
Definition: rpcconsole.cpp:61
TransactionView::resizeEvent
virtual void resizeEvent(QResizeEvent *event)
Definition: transactionview.cpp:574
TransactionView::computeSum
void computeSum()
Compute sum of all selected transactions.
Definition: transactionview.cpp:490
TransactionView::trxAmount
void trxAmount(QString amount)
Send computed sum back to wallet-view.
TransactionView::hideOrphans
void hideOrphans(bool fHide)
Definition: transactionview.cpp:316
TransactionView::showDetails
void showDetails()
Definition: transactionview.cpp:478
TransactionView::mapperThirdPartyTxUrls
QSignalMapper * mapperThirdPartyTxUrls
Definition: transactionview.h:74
guiutil.h
TransactionView::DATE_COLUMN_WIDTH
@ DATE_COLUMN_WIDTH
Definition: transactionview.h:56
TransactionView::copyAmount
void copyAmount()
Definition: transactionview.cpp:429
TransactionView::message
void message(const QString &title, const QString &message, unsigned int style)
Fired when a message should be reported to the user.
TransactionView::All
@ All
Definition: transactionview.h:44
TransactionView::transactionProxyModel
TransactionFilterProxy * transactionProxyModel
Definition: transactionview.h:64
TransactionView::dateRangeChanged
void dateRangeChanged()
Definition: transactionview.cpp:551
TransactionView::copyLabel
void copyLabel()
Definition: transactionview.cpp:424
TransactionView::watchOnlyWidget
QComboBox * watchOnlyWidget
Definition: transactionview.h:68
TransactionView::changedAmount
void changedAmount(const QString &amount)
Definition: transactionview.cpp:353
TransactionView::WATCHONLY_COLUMN_WIDTH
@ WATCHONLY_COLUMN_WIDTH
Definition: transactionview.h:55
TransactionView::updateWatchOnlyColumn
void updateWatchOnlyColumn(bool fHaveWatchOnly)
Definition: transactionview.cpp:597
TransactionView::MINIMUM_COLUMN_WIDTH
@ MINIMUM_COLUMN_WIDTH
Definition: transactionview.h:59
TransactionView::ThisWeek
@ ThisWeek
Definition: transactionview.h:46
TransactionView::contextMenu
QMenu * contextMenu
Definition: transactionview.h:73
TransactionView::chooseDate
void chooseDate(int idx)
Definition: transactionview.cpp:253
TransactionView::setModel
void setModel(WalletModel *model)
Definition: transactionview.cpp:186
TransactionView::copyAddress
void copyAddress()
Definition: transactionview.cpp:419
TransactionView::amountWidget
QLineEdit * amountWidget
Definition: transactionview.h:70
TransactionView::typeWidget
QComboBox * typeWidget
Definition: transactionview.h:67
TransactionView::contextualMenu
void contextualMenu(const QPoint &)
Definition: transactionview.cpp:411
TransactionView::dateRangeWidget
QFrame * dateRangeWidget
Definition: transactionview.h:76
TransactionView::AMOUNT_MINIMUM_COLUMN_WIDTH
@ AMOUNT_MINIMUM_COLUMN_WIDTH
Definition: transactionview.h:58
TransactionView::chooseType
void chooseType(int idx)
Definition: transactionview.cpp:305
TransactionView::columnResizingFixer
GUIUtil::TableViewLastColumnResizingFixer * columnResizingFixer
Definition: transactionview.h:82
TransactionView::doubleClicked
void doubleClicked(const QModelIndex &)
TransactionView::addressWidget
QLineEdit * addressWidget
Definition: transactionview.h:69
TransactionView::model
WalletModel * model
Definition: transactionview.h:63
TransactionView::exportClicked
void exportClicked()
Definition: transactionview.cpp:372
TransactionView::dateWidget
QComboBox * dateWidget
Definition: transactionview.h:66
TransactionView::changedPrefix
void changedPrefix(const QString &prefix)
Definition: transactionview.cpp:346
TransactionView::dateFrom
QDateTimeEdit * dateFrom
Definition: transactionview.h:77
TransactionView::Today
@ Today
Definition: transactionview.h:45
TransactionView::eventFilter
bool eventFilter(QObject *obj, QEvent *event)
Definition: transactionview.cpp:581
TransactionView::Range
@ Range
Definition: transactionview.h:50
TransactionFilterProxy
Filter the transaction list according to pre-specified rules.
Definition: transactionfilterproxy.h:14