From 90ce38da39ba7acf6f7883a86916abcfc7efe23c Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 26 Mar 2015 12:22:29 +0100 Subject: Vcs: Move handling of settings from VcsBaseClient to VcsBaseClientImpl ... and update users of that functionality accordingly. Unexpected plus: Now every supported VCS actually saves their setting when requested. Change-Id: I02db7b2ce14e5f52d26409b2a01aea290c2a294a Reviewed-by: Orgad Shaneh --- src/plugins/mercurial/mercurialclient.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'src/plugins/mercurial/mercurialclient.cpp') diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index 11d82b4ec0..31c50f0f32 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -58,25 +58,20 @@ class MercurialDiffParameterWidget : public VcsBaseEditorParameterWidget { Q_OBJECT public: - MercurialDiffParameterWidget(MercurialSettings *settings, QWidget *parent = 0) : + MercurialDiffParameterWidget(VcsBaseClientSettings &settings, QWidget *parent = 0) : VcsBaseEditorParameterWidget(parent) { mapSetting(addToggleButton(QLatin1String("-w"), tr("Ignore Whitespace")), - settings->boolPointer(MercurialSettings::diffIgnoreWhiteSpaceKey)); + settings.boolPointer(MercurialSettings::diffIgnoreWhiteSpaceKey)); mapSetting(addToggleButton(QLatin1String("-B"), tr("Ignore Blank Lines")), - settings->boolPointer(MercurialSettings::diffIgnoreBlankLinesKey)); + settings.boolPointer(MercurialSettings::diffIgnoreBlankLinesKey)); } }; -MercurialClient::MercurialClient(MercurialSettings *settings) : - VcsBaseClient(settings) +MercurialClient::MercurialClient() : + VcsBaseClient(new MercurialSettings) { - setDiffParameterWidgetCreator([=] { return new MercurialDiffParameterWidget(settings); }); -} - -MercurialSettings *MercurialClient::settings() const -{ - return dynamic_cast(VcsBaseClient::settings()); + setDiffParameterWidgetCreator([this] { return new MercurialDiffParameterWidget(settings()); }); } bool MercurialClient::manifestSync(const QString &repository, const QString &relativeFilename) -- cgit v1.2.1