#include <QWidget>
-class TransactionTableModel;
+class WalletModel;
class TransactionFilterProxy;
QT_BEGIN_NAMESPACE
class QComboBox;
class QLineEdit;
class QModelIndex;
+class QMenu;
+class QFrame;
+class QDateTimeEdit;
QT_END_NAMESPACE
+/** Widget showing the transaction list for a wallet, including a filter row.
+ Using the filter row, the user can view or export a subset of the transactions.
+ */
class TransactionView : public QWidget
{
Q_OBJECT
public:
explicit TransactionView(QWidget *parent = 0);
- void setModel(TransactionTableModel *model);
+ void setModel(WalletModel *model);
+ // Date ranges for filter
enum DateEnum
{
All,
};
private:
- TransactionTableModel *model;
+ WalletModel *model;
TransactionFilterProxy *transactionProxyModel;
QTableView *transactionView;
QLineEdit *addressWidget;
QLineEdit *amountWidget;
+ QMenu *contextMenu;
+
+ QFrame *dateRangeWidget;
+ QDateTimeEdit *dateFrom;
+ QDateTimeEdit *dateTo;
+
+ QWidget *createDateRangeWidget();
+
+private slots:
+ void contextualMenu(const QPoint &);
+ void dateRangeChanged();
+ void showDetails();
+ void copyAddress();
+ void editLabel();
+ void copyLabel();
+ void copyAmount();
+
signals:
void doubleClicked(const QModelIndex&);