forked from qt-creator/qt-creator
Mercurial: Follow the Fossil settings setup
Change-Id: I3261669991d55c6da5c80c116c2a66c8b7b0d577 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -81,7 +81,8 @@ QStringList MercurialDiffEditorController::addConfigurationArguments(const QStri
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
MercurialClient::MercurialClient(MercurialSettings *settings) : VcsBaseClient(settings)
|
MercurialClient::MercurialClient()
|
||||||
|
: VcsBaseClient(&Internal::settings())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,8 +16,9 @@ class MercurialDiffEditorController;
|
|||||||
class MercurialClient : public VcsBase::VcsBaseClient
|
class MercurialClient : public VcsBase::VcsBaseClient
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit MercurialClient(MercurialSettings *settings);
|
MercurialClient();
|
||||||
|
|
||||||
bool synchronousClone(const Utils::FilePath &workingDir,
|
bool synchronousClone(const Utils::FilePath &workingDir,
|
||||||
const QString &srcLocation,
|
const QString &srcLocation,
|
||||||
|
@@ -169,9 +169,8 @@ private:
|
|||||||
void createRepositoryActions(const Core::Context &context);
|
void createRepositoryActions(const Core::Context &context);
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
MercurialSettings m_settings;
|
MercurialClient m_client;
|
||||||
MercurialClient m_client{&m_settings};
|
MercurialSettingsPage m_settingsPage;
|
||||||
MercurialSettingsPage m_settingsPage{&m_settings};
|
|
||||||
|
|
||||||
Core::CommandLocator *m_commandLocator = nullptr;
|
Core::CommandLocator *m_commandLocator = nullptr;
|
||||||
Core::ActionContainer *m_mercurialContainer = nullptr;
|
Core::ActionContainer *m_mercurialContainer = nullptr;
|
||||||
@@ -254,7 +253,7 @@ MercurialPluginPrivate::MercurialPluginPrivate()
|
|||||||
|
|
||||||
createMenu(context);
|
createMenu(context);
|
||||||
|
|
||||||
connect(&m_settings, &AspectContainer::applied, this, &IVersionControl::configurationChanged);
|
connect(&settings(), &AspectContainer::applied, this, &IVersionControl::configurationChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MercurialPluginPrivate::createMenu(const Core::Context &context)
|
void MercurialPluginPrivate::createMenu(const Core::Context &context)
|
||||||
@@ -633,8 +632,8 @@ void MercurialPluginPrivate::showCommitWidget(const QList<VcsBaseClient::StatusI
|
|||||||
|
|
||||||
const QString branch = vcsTopic(m_submitRepository);
|
const QString branch = vcsTopic(m_submitRepository);
|
||||||
commitEditor->setFields(m_submitRepository, branch,
|
commitEditor->setFields(m_submitRepository, branch,
|
||||||
m_settings.userName.value(),
|
settings().userName(),
|
||||||
m_settings.userEmail.value(), status);
|
settings().userEmail(), status);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MercurialPluginPrivate::diffFromEditorSelected(const QStringList &files)
|
void MercurialPluginPrivate::diffFromEditorSelected(const QStringList &files)
|
||||||
@@ -716,7 +715,7 @@ bool MercurialPluginPrivate::managesFile(const FilePath &workingDirectory, const
|
|||||||
|
|
||||||
bool MercurialPluginPrivate::isConfigured() const
|
bool MercurialPluginPrivate::isConfigured() const
|
||||||
{
|
{
|
||||||
const FilePath binary = m_settings.binaryPath.filePath();
|
const FilePath binary = settings().binaryPath.filePath();
|
||||||
if (binary.isEmpty())
|
if (binary.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
QFileInfo fi = binary.toFileInfo();
|
QFileInfo fi = binary.toFileInfo();
|
||||||
@@ -784,7 +783,7 @@ VcsCommand *MercurialPluginPrivate::createInitialCheckoutCommand(const QString &
|
|||||||
QStringList args;
|
QStringList args;
|
||||||
args << QLatin1String("clone") << extraArgs << url << localName;
|
args << QLatin1String("clone") << extraArgs << url << localName;
|
||||||
auto command = VcsBaseClient::createVcsCommand(baseDirectory, m_client.processEnvironment());
|
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;
|
return command;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -46,15 +46,15 @@ MercurialSettings::MercurialSettings()
|
|||||||
|
|
||||||
// MercurialSettingsPage
|
// MercurialSettingsPage
|
||||||
|
|
||||||
MercurialSettingsPage::MercurialSettingsPage(MercurialSettings *settings)
|
MercurialSettingsPage::MercurialSettingsPage()
|
||||||
{
|
{
|
||||||
setId(VcsBase::Constants::VCS_ID_MERCURIAL);
|
setId(VcsBase::Constants::VCS_ID_MERCURIAL);
|
||||||
setDisplayName(Tr::tr("Mercurial"));
|
setDisplayName(Tr::tr("Mercurial"));
|
||||||
setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
|
setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
|
||||||
setSettings(settings);
|
setSettings(&settings());
|
||||||
|
|
||||||
setLayouter([settings](QWidget *widget) {
|
setLayouter([](QWidget *widget) {
|
||||||
MercurialSettings &s = *settings;
|
MercurialSettings &s = settings();
|
||||||
using namespace Layouting;
|
using namespace Layouting;
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
@@ -85,4 +85,10 @@ MercurialSettingsPage::MercurialSettingsPage(MercurialSettings *settings)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MercurialSettings &settings()
|
||||||
|
{
|
||||||
|
static MercurialSettings theSettings;
|
||||||
|
return theSettings;
|
||||||
|
}
|
||||||
|
|
||||||
} // Mercurial::Internal
|
} // Mercurial::Internal
|
||||||
|
@@ -18,10 +18,12 @@ public:
|
|||||||
Utils::StringAspect diffIgnoreBlankLines;
|
Utils::StringAspect diffIgnoreBlankLines;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
MercurialSettings &settings();
|
||||||
|
|
||||||
class MercurialSettingsPage final : public Core::IOptionsPage
|
class MercurialSettingsPage final : public Core::IOptionsPage
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit MercurialSettingsPage(MercurialSettings *settings);
|
MercurialSettingsPage();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Mercurial::Internal
|
} // Mercurial::Internal
|
||||||
|
Reference in New Issue
Block a user