Bugfix: Replace "URL" with "URI" where we aren't actually working with URLs
[novacoin.git] / src / qt / optionsmodel.h
index 0124e2a..0be70f8 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <QAbstractListModel>
 
-/* Interface from QT to configuration data structure for bitcoin client.
+/** Interface from QT to configuration data structure for bitcoin client.
    To QT, the options are presented as a list with the different options
    laid out vertically.
    This can be changed to a tree once the settings become sufficiently
@@ -16,17 +16,24 @@ public:
     explicit OptionsModel(QObject *parent = 0);
 
     enum OptionID {
-        StartAtStartup,
-        MinimizeToTray,
-        MapPortUPnP,
-        MinimizeOnClose,
-        ConnectSOCKS4,
-        ProxyIP,
-        ProxyPort,
-        Fee,
+        StartAtStartup, // bool
+        MinimizeToTray, // bool
+        MapPortUPnP, // bool
+        MinimizeOnClose, // bool
+        ConnectSOCKS4, // bool
+        ProxyIP, // QString
+        ProxyPort, // QString
+        Fee, // qint64
+        DisplayUnit, // BitcoinUnits::Unit
+        DisplayAddresses, // bool
         OptionIDRowCount
     };
 
+    void Init();
+
+    /* Migrate settings from wallet.dat after app initialization */
+    bool Upgrade(); /* returns true if settings upgraded */
+
     int rowCount(const QModelIndex & parent = QModelIndex()) const;
     QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
     bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
@@ -35,7 +42,15 @@ public:
     qint64 getTransactionFee();
     bool getMinimizeToTray();
     bool getMinimizeOnClose();
+    int getDisplayUnit();
+    bool getDisplayAddresses();
+private:
+    int nDisplayUnit;
+    bool bDisplayAddresses;
+    bool fMinimizeToTray;
+    bool fMinimizeOnClose;
 signals:
+    void displayUnitChanged(int unit);
 
 public slots: