save changed options in database

This commit is contained in:
Wladimir J. van der Laan 2011-06-05 11:45:42 +02:00
parent 4663e339b8
commit e29b623db3
2 changed files with 14 additions and 2 deletions

View File

@ -20,12 +20,12 @@ This has been implemented:
- Address book and transactions views and models
- Options dialog
- Sending coins
This has to be done:
- Settings are not remembered between invocations yet
- Minimize to tray / Minimize on close
- Start at system start

View File

@ -1,5 +1,6 @@
#include "optionsmodel.h"
#include "main.h"
#include "net.h"
#include <QDebug>
@ -47,6 +48,7 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
bool successful = true; /* set to false on parse error */
if(role == Qt::EditRole)
{
CWalletDB walletdb;
switch(index.row())
{
case StartAtStartup:
@ -54,15 +56,22 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
break;
case MinimizeToTray:
fMinimizeToTray = value.toBool();
walletdb.WriteSetting("fMinimizeToTray", fMinimizeToTray);
break;
case MapPortUPnP:
fUseUPnP = value.toBool();
walletdb.WriteSetting("fUseUPnP", fUseUPnP);
#ifdef USE_UPNP
MapPort(fUseUPnP);
#endif
break;
case MinimizeOnClose:
fMinimizeOnClose = value.toBool();
walletdb.WriteSetting("fMinimizeOnClose", fMinimizeOnClose);
break;
case ConnectSOCKS4:
fUseProxy = value.toBool();
walletdb.WriteSetting("fUseProxy", fUseProxy);
break;
case ProxyIP:
{
@ -71,6 +80,7 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
if (addr.ip != INADDR_NONE)
{
addrProxy.ip = addr.ip;
walletdb.WriteSetting("addrProxy", addrProxy);
} else {
successful = false;
}
@ -82,6 +92,7 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
if (nPort > 0 && nPort < USHRT_MAX)
{
addrProxy.port = htons(nPort);
walletdb.WriteSetting("addrProxy", addrProxy);
} else {
successful = false;
}
@ -92,6 +103,7 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
if(ParseMoney(value.toString().toStdString(), retval))
{
nTransactionFee = retval;
walletdb.WriteSetting("nTransactionFee", nTransactionFee);
} else {
successful = false; /* parse error */
}