Add context menu on transaction list: copy label, copy address, edit label, show...
[novacoin.git] / src / qt / addresstablemodel.h
index 8799414..d48e786 100644 (file)
@@ -5,12 +5,13 @@
 #include <QStringList>
 
 class AddressTablePriv;
+class CWallet;
 
 class AddressTableModel : public QAbstractTableModel
 {
     Q_OBJECT
 public:
-    explicit AddressTableModel(QObject *parent = 0);
+    explicit AddressTableModel(CWallet *wallet, QObject *parent = 0);
     ~AddressTableModel();
 
     enum ColumnIndex {
@@ -33,6 +34,7 @@ public:
     QVariant headerData(int section, Qt::Orientation orientation, int role) const;
     QModelIndex index(int row, int column, const QModelIndex & parent) const;
     bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex());
+    Qt::ItemFlags flags(const QModelIndex & index) const;
 
     /* Add an address to the model.
        Returns the added address on success, and an empty string otherwise.
@@ -42,13 +44,30 @@ public:
     /* Update address list from core. Invalidates any indices.
      */
     void updateList();
+
+    /* Check address for validity
+     */
+    bool validateAddress(const QString &address);
+
+    /* Look up label for address in address book, if not found return empty string.
+     */
+    QString labelForAddress(const QString &address) const;
+
+    /* Look up row index of an address in the model.
+       Return -1 if not found.
+     */
+    int lookupAddress(const QString &address) const;
+
 private:
+    CWallet *wallet;
     AddressTablePriv *priv;
     QStringList columns;
+
 signals:
+    void defaultAddressChanged(const QString &address);
 
 public slots:
-
+    void update();
 };
 
 #endif // ADDRESSTABLEMODEL_H