summaryrefslogtreecommitdiff
path: root/src/plugins/subversion/subversionclient.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@theqtcompany.com>2015-03-26 12:22:29 +0100
committerTobias Hunger <tobias.hunger@theqtcompany.com>2015-04-08 09:30:44 +0000
commit90ce38da39ba7acf6f7883a86916abcfc7efe23c (patch)
tree48a34950ff0b1a64d1f052ede5609e3a949837fc /src/plugins/subversion/subversionclient.cpp
parentd3100774f9b2b342fe36b9b3d213934f79e96b64 (diff)
downloadqt-creator-90ce38da39ba7acf6f7883a86916abcfc7efe23c.tar.gz
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 <orgads@gmail.com>
Diffstat (limited to 'src/plugins/subversion/subversionclient.cpp')
-rw-r--r--src/plugins/subversion/subversionclient.cpp28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/plugins/subversion/subversionclient.cpp b/src/plugins/subversion/subversionclient.cpp
index 58045aa281..db1b2be053 100644
--- a/src/plugins/subversion/subversionclient.cpp
+++ b/src/plugins/subversion/subversionclient.cpp
@@ -62,24 +62,18 @@ class SubversionLogParameterWidget : public VcsBaseEditorParameterWidget
{
Q_OBJECT
public:
- SubversionLogParameterWidget(SubversionSettings *settings, QWidget *parent = 0) :
+ SubversionLogParameterWidget(VcsBaseClientSettings &settings, QWidget *parent = 0) :
VcsBaseEditorParameterWidget(parent)
{
mapSetting(addToggleButton(QLatin1String("--verbose"), tr("Verbose"),
tr("Show files changed in each revision")),
- settings->boolPointer(SubversionSettings::logVerboseKey));
+ settings.boolPointer(SubversionSettings::logVerboseKey));
}
};
-SubversionClient::SubversionClient(SubversionSettings *settings) :
- VcsBaseClient(settings)
+SubversionClient::SubversionClient() : VcsBaseClient(new SubversionSettings)
{
- setLogParameterWidgetCreator([=] { return new SubversionLogParameterWidget(settings); });
-}
-
-SubversionSettings *SubversionClient::settings() const
-{
- return dynamic_cast<SubversionSettings *>(VcsBaseClient::settings());
+ setLogParameterWidgetCreator([this] { return new SubversionLogParameterWidget(settings()); });
}
VcsCommand *SubversionClient::createCommitCmd(const QString &repositoryRoot,
@@ -89,7 +83,7 @@ VcsCommand *SubversionClient::createCommitCmd(const QString &repositoryRoot,
{
const QStringList svnExtraOptions =
QStringList(extraOptions)
- << SubversionClient::addAuthenticationOptions(*settings())
+ << SubversionClient::addAuthenticationOptions(settings())
<< QLatin1String(Constants::NON_INTERACTIVE_OPTION)
<< QLatin1String("--encoding") << QLatin1String("utf8")
<< QLatin1String("--file") << commitMessageFile;
@@ -124,9 +118,9 @@ Id SubversionClient::vcsEditorKind(VcsCommandTag cmd) const
}
// Add authorization options to the command line arguments.
-QStringList SubversionClient::addAuthenticationOptions(const SubversionSettings &settings)
+QStringList SubversionClient::addAuthenticationOptions(const VcsBaseClientSettings &settings)
{
- if (!settings.hasAuthentication())
+ if (!static_cast<const SubversionSettings &>(settings).hasAuthentication())
return QStringList();
const QString userName = settings.stringValue(SubversionSettings::userKey);
@@ -223,7 +217,7 @@ void DiffController::setChangeNumber(int changeNumber)
QString DiffController::getDescription() const
{
QStringList args(QLatin1String("log"));
- args << SubversionClient::addAuthenticationOptions(*m_client->settings());
+ args << SubversionClient::addAuthenticationOptions(m_client->settings());
args << QLatin1String("-r");
args << QString::number(m_changeNumber);
const SubversionResponse logResponse =
@@ -247,7 +241,7 @@ void DiffController::postCollectTextualDiffOutput()
QStringList args;
args << QLatin1String("diff");
- args << m_client->addAuthenticationOptions(*m_client->settings());
+ args << m_client->addAuthenticationOptions(m_client->settings());
args << QLatin1String("--internal-diff");
if (ignoreWhitespace())
args << QLatin1String("-x") << QLatin1String("-uw");
@@ -312,10 +306,10 @@ void SubversionClient::log(const QString &workingDir,
const QStringList &extraOptions,
bool enableAnnotationContextMenu)
{
- const auto logCount = settings()->intValue(SubversionSettings::logCountKey);
+ const auto logCount = settings().intValue(SubversionSettings::logCountKey);
QStringList svnExtraOptions =
QStringList(extraOptions)
- << SubversionClient::addAuthenticationOptions(*settings());
+ << SubversionClient::addAuthenticationOptions(settings());
if (logCount > 0)
svnExtraOptions << QLatin1String("-l") << QString::number(logCount);