diff options
author | hjk <hjk@qt.io> | 2023-05-15 14:05:39 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-05-15 13:10:34 +0000 |
commit | 1697ff874874def127daa83610f6d5ba190702d2 (patch) | |
tree | 7319b17228d7752f564e5316e4b234ef2867ec92 | |
parent | 8bdb528f86d2731fff15193bea0bdb6e1b310aaf (diff) | |
download | qt-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.cpp | 3 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialclient.h | 3 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialplugin.cpp | 15 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialsettings.cpp | 14 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialsettings.h | 4 |
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 |