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 - Address book and transactions views and models
- Options dialog
- Sending coins - Sending coins
This has to be done: This has to be done:
- Settings are not remembered between invocations yet
- Minimize to tray / Minimize on close - Minimize to tray / Minimize on close
- Start at system start - Start at system start

View File

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