Make lsn_reset ("detach databases") optional and off by default.
Add an option -detachdb (and entry in OptionDialog), without which no lsn_reset is called on addr.dat and blkindex.dat. That means these files cannot be moved to a new environment, but shutdown can be significantly faster. The wallet file is always lsn_reset'ed. -detachdb corresponds to the old behaviour, though it is off by default now to speed up shutdowns.
This commit is contained in:
@@ -38,6 +38,7 @@ private:
|
||||
QCheckBox *minimize_on_close;
|
||||
#endif
|
||||
QCheckBox *connect_socks4;
|
||||
QCheckBox *detach_database;
|
||||
QLineEdit *proxy_ip;
|
||||
QLineEdit *proxy_port;
|
||||
BitcoinAmountField *fee_edit;
|
||||
@@ -229,6 +230,10 @@ MainOptionsPage::MainOptionsPage(QWidget *parent):
|
||||
|
||||
layout->addLayout(fee_hbox);
|
||||
|
||||
detach_database = new QCheckBox(tr("Detach databases at shutdown"));
|
||||
detach_database->setToolTip(tr("Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached."));
|
||||
layout->addWidget(detach_database);
|
||||
|
||||
layout->addStretch(1); // Extra space at bottom
|
||||
|
||||
setLayout(layout);
|
||||
@@ -256,6 +261,7 @@ void MainOptionsPage::setMapper(MonitoredDataMapper *mapper)
|
||||
mapper->addMapping(proxy_ip, OptionsModel::ProxyIP);
|
||||
mapper->addMapping(proxy_port, OptionsModel::ProxyPort);
|
||||
mapper->addMapping(fee_edit, OptionsModel::Fee);
|
||||
mapper->addMapping(detach_database, OptionsModel::DetachDatabases);
|
||||
}
|
||||
|
||||
DisplayOptionsPage::DisplayOptionsPage(QWidget *parent):
|
||||
|
||||
@@ -28,6 +28,8 @@ void OptionsModel::Init()
|
||||
SoftSetBoolArg("-upnp", settings.value("fUseUPnP").toBool());
|
||||
if (settings.contains("addrProxy") && settings.value("fUseProxy").toBool())
|
||||
SoftSetArg("-proxy", settings.value("addrProxy").toString().toStdString());
|
||||
if (settings.contains("detachDB"))
|
||||
SoftSetBoolArg("-detachdb", settings.value("detachDB").toBool());
|
||||
}
|
||||
|
||||
bool OptionsModel::Upgrade()
|
||||
@@ -121,6 +123,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
||||
return QVariant(nDisplayUnit);
|
||||
case DisplayAddresses:
|
||||
return QVariant(bDisplayAddresses);
|
||||
case DetachDatabases:
|
||||
return QVariant(fDetachDB);
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
@@ -204,6 +208,11 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
||||
settings.setValue("bDisplayAddresses", bDisplayAddresses);
|
||||
}
|
||||
break;
|
||||
case DetachDatabases: {
|
||||
fDetachDB = value.toBool();
|
||||
settings.setValue("detachDB", fDetachDB);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,8 @@ public:
|
||||
Fee, // qint64
|
||||
DisplayUnit, // BitcoinUnits::Unit
|
||||
DisplayAddresses, // bool
|
||||
OptionIDRowCount
|
||||
DetachDatabases, // bool
|
||||
OptionIDRowCount,
|
||||
};
|
||||
|
||||
void Init();
|
||||
|
||||
Reference in New Issue
Block a user