mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-11 04:12:36 -03:00
Resolve the qt/guiutil <-> qt/optionsmodal CD
This pull request attempts to resolve the `qt/guiutil` <-> `qt/optionsmodel` circular dependency. The circular dependency is resolved by moving the `Intro::getDefaultDataDirectory` member function to `GUIUtil::getDefaultDataDirectory`.
This commit is contained in:
parent
08bd21a3bd
commit
fa1c8e2978
6 changed files with 16 additions and 18 deletions
|
@ -244,6 +244,11 @@ QList<QModelIndex> getEntryData(QAbstractItemView *view, int column)
|
||||||
return view->selectionModel()->selectedRows(column);
|
return view->selectionModel()->selectedRows(column);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString getDefaultDataDirectory()
|
||||||
|
{
|
||||||
|
return boostPathToQString(GetDefaultDataDir());
|
||||||
|
}
|
||||||
|
|
||||||
QString getSaveFileName(QWidget *parent, const QString &caption, const QString &dir,
|
QString getSaveFileName(QWidget *parent, const QString &caption, const QString &dir,
|
||||||
const QString &filter,
|
const QString &filter,
|
||||||
QString *selectedSuffixOut)
|
QString *selectedSuffixOut)
|
||||||
|
|
|
@ -79,6 +79,11 @@ namespace GUIUtil
|
||||||
|
|
||||||
void setClipboard(const QString& str);
|
void setClipboard(const QString& str);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine default data directory for operating system.
|
||||||
|
*/
|
||||||
|
QString getDefaultDataDirectory();
|
||||||
|
|
||||||
/** Get save filename, mimics QFileDialog::getSaveFileName, except that it appends a default suffix
|
/** Get save filename, mimics QFileDialog::getSaveFileName, except that it appends a default suffix
|
||||||
when no suffix is provided by the user.
|
when no suffix is provided by the user.
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,7 @@ QString Intro::getDataDirectory()
|
||||||
void Intro::setDataDirectory(const QString &dataDir)
|
void Intro::setDataDirectory(const QString &dataDir)
|
||||||
{
|
{
|
||||||
ui->dataDirectory->setText(dataDir);
|
ui->dataDirectory->setText(dataDir);
|
||||||
if(dataDir == getDefaultDataDirectory())
|
if(dataDir == GUIUtil::getDefaultDataDirectory())
|
||||||
{
|
{
|
||||||
ui->dataDirDefault->setChecked(true);
|
ui->dataDirDefault->setChecked(true);
|
||||||
ui->dataDirectory->setEnabled(false);
|
ui->dataDirectory->setEnabled(false);
|
||||||
|
@ -180,11 +180,6 @@ void Intro::setDataDirectory(const QString &dataDir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Intro::getDefaultDataDirectory()
|
|
||||||
{
|
|
||||||
return GUIUtil::boostPathToQString(GetDefaultDataDir());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Intro::pickDataDirectory(interfaces::Node& node)
|
bool Intro::pickDataDirectory(interfaces::Node& node)
|
||||||
{
|
{
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
|
@ -193,7 +188,7 @@ bool Intro::pickDataDirectory(interfaces::Node& node)
|
||||||
if(!gArgs.GetArg("-datadir", "").empty())
|
if(!gArgs.GetArg("-datadir", "").empty())
|
||||||
return true;
|
return true;
|
||||||
/* 1) Default data directory for operating system */
|
/* 1) Default data directory for operating system */
|
||||||
QString dataDir = getDefaultDataDirectory();
|
QString dataDir = GUIUtil::getDefaultDataDirectory();
|
||||||
/* 2) Allow QSettings to override default dir */
|
/* 2) Allow QSettings to override default dir */
|
||||||
dataDir = settings.value("strDataDir", dataDir).toString();
|
dataDir = settings.value("strDataDir", dataDir).toString();
|
||||||
|
|
||||||
|
@ -239,7 +234,7 @@ bool Intro::pickDataDirectory(interfaces::Node& node)
|
||||||
* override -datadir in the bitcoin.conf file in the default data directory
|
* override -datadir in the bitcoin.conf file in the default data directory
|
||||||
* (to be consistent with bitcoind behavior)
|
* (to be consistent with bitcoind behavior)
|
||||||
*/
|
*/
|
||||||
if(dataDir != getDefaultDataDirectory()) {
|
if(dataDir != GUIUtil::getDefaultDataDirectory()) {
|
||||||
node.softSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting
|
node.softSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -293,7 +288,7 @@ void Intro::on_ellipsisButton_clicked()
|
||||||
|
|
||||||
void Intro::on_dataDirDefault_clicked()
|
void Intro::on_dataDirDefault_clicked()
|
||||||
{
|
{
|
||||||
setDataDirectory(getDefaultDataDirectory());
|
setDataDirectory(GUIUtil::getDefaultDataDirectory());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Intro::on_dataDirCustom_clicked()
|
void Intro::on_dataDirCustom_clicked()
|
||||||
|
|
|
@ -48,11 +48,6 @@ public:
|
||||||
*/
|
*/
|
||||||
static bool pickDataDirectory(interfaces::Node& node);
|
static bool pickDataDirectory(interfaces::Node& node);
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine default data directory for operating system.
|
|
||||||
*/
|
|
||||||
static QString getDefaultDataDirectory();
|
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void requestCheck();
|
void requestCheck();
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
#include <net.h>
|
#include <net.h>
|
||||||
#include <netbase.h>
|
#include <netbase.h>
|
||||||
#include <txdb.h> // for -dbcache defaults
|
#include <txdb.h> // for -dbcache defaults
|
||||||
#include <qt/intro.h>
|
|
||||||
|
|
||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
@ -110,7 +109,7 @@ void OptionsModel::Init(bool resetSettings)
|
||||||
addOverriddenOption("-par");
|
addOverriddenOption("-par");
|
||||||
|
|
||||||
if (!settings.contains("strDataDir"))
|
if (!settings.contains("strDataDir"))
|
||||||
settings.setValue("strDataDir", Intro::getDefaultDataDirectory());
|
settings.setValue("strDataDir", GUIUtil::getDefaultDataDirectory());
|
||||||
|
|
||||||
// Wallet
|
// Wallet
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
|
@ -187,7 +186,7 @@ void OptionsModel::Reset()
|
||||||
BackupSettings(GetDataDir(true) / "guisettings.ini.bak", settings);
|
BackupSettings(GetDataDir(true) / "guisettings.ini.bak", settings);
|
||||||
|
|
||||||
// Save the strDataDir setting
|
// Save the strDataDir setting
|
||||||
QString dataDir = Intro::getDefaultDataDirectory();
|
QString dataDir = GUIUtil::getDefaultDataDirectory();
|
||||||
dataDir = settings.value("strDataDir", dataDir).toString();
|
dataDir = settings.value("strDataDir", dataDir).toString();
|
||||||
|
|
||||||
// Remove all entries from our QSettings object
|
// Remove all entries from our QSettings object
|
||||||
|
|
|
@ -36,7 +36,6 @@ EXPECTED_CIRCULAR_DEPENDENCIES=(
|
||||||
"txmempool -> validation -> validationinterface -> txmempool"
|
"txmempool -> validation -> validationinterface -> txmempool"
|
||||||
"qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/receivecoinsdialog -> qt/addressbookpage"
|
"qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/receivecoinsdialog -> qt/addressbookpage"
|
||||||
"qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/signverifymessagedialog -> qt/addressbookpage"
|
"qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/signverifymessagedialog -> qt/addressbookpage"
|
||||||
"qt/guiutil -> qt/walletmodel -> qt/optionsmodel -> qt/intro -> qt/guiutil"
|
|
||||||
"qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/sendcoinsdialog -> qt/sendcoinsentry -> qt/addressbookpage"
|
"qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/sendcoinsdialog -> qt/sendcoinsentry -> qt/addressbookpage"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue