aboutsummaryrefslogtreecommitdiff
path: root/src/qt/recentrequeststablemodel.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-01-22 08:07:19 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2014-01-22 08:07:56 +0100
commitceab53b41da4e812a63a7a7d6d05e9ed246a5cd5 (patch)
treefafe0f2960aff0fa77f2a30c5aadc436a76b7f01 /src/qt/recentrequeststablemodel.h
parent6586bc3b51ac0a3891ff6297e1aea791ff331cd3 (diff)
parent4d901023b732efb492d89cebd8555c689ab7663e (diff)
downloadbitcoin-ceab53b41da4e812a63a7a7d6d05e9ed246a5cd5.tar.xz
Merge pull request #3521
4d90102 [Qt] Add sorting feature to the requested payments table (Cozz Lovan) 8476d5d [Qt] Permanently store requested payments in wallet (Cozz Lovan) b10e147 wallet: add interface for storing generic data on destinations (Wladimir J. van der Laan)
Diffstat (limited to 'src/qt/recentrequeststablemodel.h')
-rw-r--r--src/qt/recentrequeststablemodel.h45
1 files changed, 43 insertions, 2 deletions
diff --git a/src/qt/recentrequeststablemodel.h b/src/qt/recentrequeststablemodel.h
index 3aab7b0a48..6b20402f78 100644
--- a/src/qt/recentrequeststablemodel.h
+++ b/src/qt/recentrequeststablemodel.h
@@ -13,10 +13,44 @@
class CWallet;
-struct RecentRequestEntry
+class RecentRequestEntry
{
+public:
+ RecentRequestEntry() : nVersion(RecentRequestEntry::CURRENT_VERSION), id(0) { }
+
+ static const int CURRENT_VERSION=1;
+ int nVersion;
+ int64_t id;
QDateTime date;
SendCoinsRecipient recipient;
+
+ IMPLEMENT_SERIALIZE
+ (
+ RecentRequestEntry* pthis = const_cast<RecentRequestEntry*>(this);
+
+ unsigned int nDate = date.toTime_t();
+
+ READWRITE(pthis->nVersion);
+ nVersion = pthis->nVersion;
+ READWRITE(id);
+ READWRITE(nDate);
+ READWRITE(recipient);
+
+ if (fRead)
+ pthis->date = QDateTime::fromTime_t(nDate);
+ )
+};
+
+class RecentRequestEntryLessThan
+{
+public:
+ RecentRequestEntryLessThan(int nColumn, Qt::SortOrder fOrder):
+ column(nColumn), order(fOrder) {}
+ bool operator()(RecentRequestEntry &left, RecentRequestEntry &right ) const;
+
+private:
+ int column;
+ Qt::SortOrder order;
};
/** Model for list of recently generated payment requests / bitcoin URIs.
@@ -34,7 +68,8 @@ public:
Date = 0,
Label = 1,
Message = 2,
- Amount = 3
+ Amount = 3,
+ NUMBER_OF_COLUMNS
};
/** @name Methods overridden from QAbstractTableModel
@@ -51,11 +86,17 @@ public:
const RecentRequestEntry &entry(int row) const { return list[row]; }
void addNewRequest(const SendCoinsRecipient &recipient);
+ void addNewRequest(const std::string &recipient);
+ void addNewRequest(RecentRequestEntry &recipient);
+
+public slots:
+ void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
private:
WalletModel *walletModel;
QStringList columns;
QList<RecentRequestEntry> list;
+ int64_t nReceiveRequestsMaxId;
};
#endif