aboutsummaryrefslogtreecommitdiff
path: root/src/qt/optionsmodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/optionsmodel.h')
-rw-r--r--src/qt/optionsmodel.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h
new file mode 100644
index 0000000000..7f489c5014
--- /dev/null
+++ b/src/qt/optionsmodel.h
@@ -0,0 +1,56 @@
+#ifndef OPTIONSMODEL_H
+#define OPTIONSMODEL_H
+
+#include <QAbstractListModel>
+
+class CWallet;
+
+/* 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
+ complex.
+ */
+class OptionsModel : public QAbstractListModel
+{
+ Q_OBJECT
+public:
+ explicit OptionsModel(CWallet *wallet, QObject *parent = 0);
+
+ enum OptionID {
+ StartAtStartup, // bool
+ MinimizeToTray, // bool
+ MapPortUPnP, // bool
+ MinimizeOnClose, // bool
+ ConnectSOCKS4, // bool
+ ProxyIP, // QString
+ ProxyPort, // QString
+ Fee, // qint64
+ DisplayUnit, // BitcoinUnits::Unit
+ DisplayAddresses, // bool
+ OptionIDRowCount
+ };
+
+ 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);
+
+ /* Explicit getters */
+ qint64 getTransactionFee();
+ bool getMinimizeToTray();
+ bool getMinimizeOnClose();
+ int getDisplayUnit();
+ bool getDisplayAddresses();
+private:
+ // Wallet stores persistent options
+ CWallet *wallet;
+ int nDisplayUnit;
+ bool bDisplayAddresses;
+signals:
+ void displayUnitChanged(int unit);
+
+public slots:
+
+};
+
+#endif // OPTIONSMODEL_H