Export functionality for transaction list
[novacoin.git] / src / qt / csvmodelwriter.h
1 #ifndef CSVMODELWRITER_H
2 #define CSVMODELWRITER_H
3
4 #include <QObject>
5 #include <QList>
6
7 QT_BEGIN_NAMESPACE
8 class QAbstractItemModel;
9 QT_END_NAMESPACE
10
11 // Export TableModel to CSV file
12 class CSVModelWriter : public QObject
13 {
14     Q_OBJECT
15 public:
16     explicit CSVModelWriter(const QString &filename, QObject *parent = 0);
17
18     void setModel(const QAbstractItemModel *model);
19     void addColumn(const QString &title, int column, int role=Qt::EditRole);
20
21     // Perform write operation
22     // Returns true on success, false otherwise
23     bool write();
24
25 private:
26     QString filename;
27     const QAbstractItemModel *model;
28
29     struct Column
30     {
31         QString title;
32         int column;
33         int role;
34     };
35     QList<Column> columns;
36
37 signals:
38
39 public slots:
40
41 };
42
43 #endif // CSVMODELWRITER_H