1 #include "optionsmodel.h"
7 OptionsModel::OptionsModel(QObject *parent) :
8 QAbstractListModel(parent)
12 int OptionsModel::rowCount(const QModelIndex & parent) const
14 return OptionIDRowCount;
17 QVariant OptionsModel::data(const QModelIndex & index, int role) const
19 if(role == Qt::EditRole)
26 return QVariant(fMinimizeToTray);
28 return QVariant(fUseUPnP);
30 return QVariant(fMinimizeOnClose);
32 return QVariant(fUseProxy);
34 return QVariant(QString::fromStdString(addrProxy.ToStringIP()));
36 return QVariant(QString::fromStdString(addrProxy.ToStringPort()));
38 return QVariant(QString::fromStdString(FormatMoney(nTransactionFee)));
46 bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, int role)
48 bool successful = true; /* set to false on parse error */
49 if(role == Qt::EditRole)
55 successful = false; /*TODO*/
58 fMinimizeToTray = value.toBool();
59 walletdb.WriteSetting("fMinimizeToTray", fMinimizeToTray);
62 fUseUPnP = value.toBool();
63 walletdb.WriteSetting("fUseUPnP", fUseUPnP);
69 fMinimizeOnClose = value.toBool();
70 walletdb.WriteSetting("fMinimizeOnClose", fMinimizeOnClose);
73 fUseProxy = value.toBool();
74 walletdb.WriteSetting("fUseProxy", fUseProxy);
78 /* Use CAddress to parse IP */
79 CAddress addr(value.toString().toStdString() + ":1");
80 if (addr.ip != INADDR_NONE)
82 addrProxy.ip = addr.ip;
83 walletdb.WriteSetting("addrProxy", addrProxy);
93 int nPort = atoi(value.toString().toAscii().data());
94 if (nPort > 0 && nPort < USHRT_MAX)
96 addrProxy.port = htons(nPort);
97 walletdb.WriteSetting("addrProxy", addrProxy);
107 if(ParseMoney(value.toString().toStdString(), retval))
109 nTransactionFee = retval;
110 walletdb.WriteSetting("nTransactionFee", nTransactionFee);
114 successful = false; /* parse error */
122 emit dataChanged(index, index);
127 qint64 OptionsModel::getTransactionFee()
129 return nTransactionFee;
132 bool OptionsModel::getMinimizeToTray()
134 return fMinimizeToTray;
137 bool OptionsModel::getMinimizeOnClose()
139 return fMinimizeOnClose;