1 #include "optionsmodel.h"
7 OptionsModel::OptionsModel(CWallet *wallet, QObject *parent) :
8 QAbstractListModel(parent),
13 int OptionsModel::rowCount(const QModelIndex & parent) const
15 return OptionIDRowCount;
18 QVariant OptionsModel::data(const QModelIndex & index, int role) const
20 if(role == Qt::EditRole)
27 return QVariant(fMinimizeToTray);
29 return QVariant(fUseUPnP);
31 return QVariant(fMinimizeOnClose);
33 return QVariant(fUseProxy);
35 return QVariant(QString::fromStdString(addrProxy.ToStringIP()));
37 return QVariant(QString::fromStdString(addrProxy.ToStringPort()));
39 return QVariant(QString::fromStdString(FormatMoney(nTransactionFee)));
47 bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, int role)
49 bool successful = true; /* set to false on parse error */
50 if(role == Qt::EditRole)
52 CWalletDB walletdb(wallet->strWalletFile);
56 successful = false; /*TODO*/
59 fMinimizeToTray = value.toBool();
60 walletdb.WriteSetting("fMinimizeToTray", fMinimizeToTray);
63 fUseUPnP = value.toBool();
64 walletdb.WriteSetting("fUseUPnP", fUseUPnP);
70 fMinimizeOnClose = value.toBool();
71 walletdb.WriteSetting("fMinimizeOnClose", fMinimizeOnClose);
74 fUseProxy = value.toBool();
75 walletdb.WriteSetting("fUseProxy", fUseProxy);
79 // Use CAddress to parse and check IP
80 CAddress addr(value.toString().toStdString() + ":1");
81 if (addr.ip != INADDR_NONE)
83 addrProxy.ip = addr.ip;
84 walletdb.WriteSetting("addrProxy", addrProxy);
94 int nPort = atoi(value.toString().toAscii().data());
95 if (nPort > 0 && nPort < USHRT_MAX)
97 addrProxy.port = htons(nPort);
98 walletdb.WriteSetting("addrProxy", addrProxy);
108 if(ParseMoney(value.toString().toStdString(), retval))
110 nTransactionFee = retval;
111 walletdb.WriteSetting("nTransactionFee", nTransactionFee);
115 successful = false; // Parse error
123 emit dataChanged(index, index);
128 qint64 OptionsModel::getTransactionFee()
130 return nTransactionFee;
133 bool OptionsModel::getMinimizeToTray()
135 return fMinimizeToTray;
138 bool OptionsModel::getMinimizeOnClose()
140 return fMinimizeOnClose;