summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-05-15 14:05:39 +0200
committerhjk <hjk@qt.io>2023-05-15 13:10:34 +0000
commit1697ff874874def127daa83610f6d5ba190702d2 (patch)
tree7319b17228d7752f564e5316e4b234ef2867ec92
parent8bdb528f86d2731fff15193bea0bdb6e1b310aaf (diff)
downloadqt-creator-1697ff874874def127daa83610f6d5ba190702d2.tar.gz
Mercurial: Follow the Fossil settings setup
Change-Id: I3261669991d55c6da5c80c116c2a66c8b7b0d577 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-rw-r--r--src/plugins/mercurial/mercurialclient.cpp3
-rw-r--r--src/plugins/mercurial/mercurialclient.h3
-rw-r--r--src/plugins/mercurial/mercurialplugin.cpp15
-rw-r--r--src/plugins/mercurial/mercurialsettings.cpp14
-rw-r--r--src/plugins/mercurial/mercurialsettings.h4
5 files changed, 24 insertions, 15 deletions
diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp
index 1d8d542ed9..20e4d3745d 100644
--- a/src/plugins/mercurial/mercurialclient.cpp
+++ b/src/plugins/mercurial/mercurialclient.cpp
@@ -81,7 +81,8 @@ QStringList MercurialDiffEditorController::addConfigurationArguments(const QStri
/////////////////////////////////////////////////////////////
-MercurialClient::MercurialClient(MercurialSettings *settings) : VcsBaseClient(settings)
+MercurialClient::MercurialClient()
+ : VcsBaseClient(&Internal::settings())
{
}
diff --git a/src/plugins/mercurial/mercurialclient.h b/src/plugins/mercurial/mercurialclient.h
index 15c31845db..27badd45d0 100644
--- a/src/plugins/mercurial/mercurialclient.h
+++ b/src/plugins/mercurial/mercurialclient.h
@@ -16,8 +16,9 @@ class MercurialDiffEditorController;
class MercurialClient : public VcsBase::VcsBaseClient
{
Q_OBJECT
+
public:
- explicit MercurialClient(MercurialSettings *settings);
+ MercurialClient();
bool synchronousClone(const Utils::FilePath &workingDir,
const QString &srcLocation,
diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp
index e84c26a6ca..374484a6a3 100644
--- a/src/plugins/mercurial/mercurialplugin.cpp
+++ b/src/plugins/mercurial/mercurialplugin.cpp
@@ -169,9 +169,8 @@ private:
void createRepositoryActions(const Core::Context &context);
// Variables
- MercurialSettings m_settings;
- MercurialClient m_client{&m_settings};
- MercurialSettingsPage m_settingsPage{&m_settings};
+ MercurialClient m_client;
+ MercurialSettingsPage m_settingsPage;
Core::CommandLocator *m_commandLocator = nullptr;
Core::ActionContainer *m_mercurialContainer = nullptr;
@@ -254,7 +253,7 @@ MercurialPluginPrivate::MercurialPluginPrivate()
createMenu(context);
- connect(&m_settings, &AspectContainer::applied, this, &IVersionControl::configurationChanged);
+ connect(&settings(), &AspectContainer::applied, this, &IVersionControl::configurationChanged);
}
void MercurialPluginPrivate::createMenu(const Core::Context &context)
@@ -633,8 +632,8 @@ void MercurialPluginPrivate::showCommitWidget(const QList<VcsBaseClient::StatusI
const QString branch = vcsTopic(m_submitRepository);
commitEditor->setFields(m_submitRepository, branch,
- m_settings.userName.value(),
- m_settings.userEmail.value(), status);
+ settings().userName(),
+ settings().userEmail(), status);
}
void MercurialPluginPrivate::diffFromEditorSelected(const QStringList &files)
@@ -716,7 +715,7 @@ bool MercurialPluginPrivate::managesFile(const FilePath &workingDirectory, const
bool MercurialPluginPrivate::isConfigured() const
{
- const FilePath binary = m_settings.binaryPath.filePath();
+ const FilePath binary = settings().binaryPath.filePath();
if (binary.isEmpty())
return false;
QFileInfo fi = binary.toFileInfo();
@@ -784,7 +783,7 @@ VcsCommand *MercurialPluginPrivate::createInitialCheckoutCommand(const QString &
QStringList args;
args << QLatin1String("clone") << extraArgs << url << localName;
auto command = VcsBaseClient::createVcsCommand(baseDirectory, m_client.processEnvironment());
- command->addJob({m_settings.binaryPath.filePath(), args}, -1);
+ command->addJob({settings().binaryPath.filePath(), args}, -1);
return command;
}
diff --git a/src/plugins/mercurial/mercurialsettings.cpp b/src/plugins/mercurial/mercurialsettings.cpp
index 7286c54b90..f19ea17283 100644
--- a/src/plugins/mercurial/mercurialsettings.cpp
+++ b/src/plugins/mercurial/mercurialsettings.cpp
@@ -46,15 +46,15 @@ MercurialSettings::MercurialSettings()
// MercurialSettingsPage
-MercurialSettingsPage::MercurialSettingsPage(MercurialSettings *settings)
+MercurialSettingsPage::MercurialSettingsPage()
{
setId(VcsBase::Constants::VCS_ID_MERCURIAL);
setDisplayName(Tr::tr("Mercurial"));
setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
- setSettings(settings);
+ setSettings(&settings());
- setLayouter([settings](QWidget *widget) {
- MercurialSettings &s = *settings;
+ setLayouter([](QWidget *widget) {
+ MercurialSettings &s = settings();
using namespace Layouting;
Column {
@@ -85,4 +85,10 @@ MercurialSettingsPage::MercurialSettingsPage(MercurialSettings *settings)
});
}
+MercurialSettings &settings()
+{
+ static MercurialSettings theSettings;
+ return theSettings;
+}
+
} // Mercurial::Internal
diff --git a/src/plugins/mercurial/mercurialsettings.h b/src/plugins/mercurial/mercurialsettings.h
index 881bcd0447..34c6693c93 100644
--- a/src/plugins/mercurial/mercurialsettings.h
+++ b/src/plugins/mercurial/mercurialsettings.h
@@ -18,10 +18,12 @@ public:
Utils::StringAspect diffIgnoreBlankLines;
};
+MercurialSettings &settings();
+
class MercurialSettingsPage final : public Core::IOptionsPage
{
public:
- explicit MercurialSettingsPage(MercurialSettings *settings);
+ MercurialSettingsPage();
};
} // Mercurial::Internal