vcsbase: add mechanism to ease management of VCS settings

Management of VCS settings was rather laborious (see BazaarSettings,
GitSettings, ...).
To overcome this, the base class VCSBaseClientSettings is now
equipped with a mechanism factorizing redundant code for VCS settings,
like operator=(), operator==(), writeSettings(), ...
Heir classes of VCSBaseClientSettings only need to declare the
settings (key + default value).

Bazaar and Mercurial plugins are impacted.

Change-Id: I7e4093a6d9476f3c8954f4d104f1b26ac185beb9
Merge-request: 2204
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt-project.org/4889
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This commit is contained in:
cerf
2011-09-14 09:13:44 +00:00
committed by Tobias Hunger
parent a67d8205b1
commit 10b667ad58
20 changed files with 471 additions and 366 deletions

View File

@@ -391,7 +391,7 @@ void BazaarPlugin::logRepository()
const VCSBase::VCSBasePluginState state = currentState();
QTC_ASSERT(state.hasTopLevel(), return);
QStringList extraOptions;
extraOptions += QString("--limit=%1").arg(settings().logCount());
extraOptions += QString("--limit=%1").arg(settings().intValue(BazaarSettings::logCountKey));
m_client->log(state.topLevel(), QStringList(), extraOptions);
}
@@ -592,8 +592,8 @@ void BazaarPlugin::showCommitWidget(const QList<VCSBase::VCSBaseClient::StatusIt
commitEditor->setDisplayName(msg);
const BranchInfo branch = m_client->synchronousBranchQuery(m_submitRepository);
commitEditor->setFields(branch, m_bazaarSettings.userName(),
m_bazaarSettings.email(), status);
commitEditor->setFields(branch, m_bazaarSettings.stringValue(BazaarSettings::userNameKey),
m_bazaarSettings.stringValue(BazaarSettings::userEmailKey), status);
commitEditor->registerActions(m_editorUndo, m_editorRedo, m_editorCommit, m_editorDiff);
connect(commitEditor, SIGNAL(diffSelectedFiles(QStringList)),
@@ -624,11 +624,11 @@ bool BazaarPlugin::submitEditorAboutToClose(VCSBase::VCSBaseSubmitEditor *submit
if (!editorFile || !commitEditor)
return true;
bool dummyPrompt = m_bazaarSettings.prompt();
bool dummyPrompt = m_bazaarSettings.boolValue(BazaarSettings::promptOnSubmitKey);
const VCSBase::VCSBaseSubmitEditor::PromptSubmitResult response =
commitEditor->promptSubmit(tr("Close Commit Editor"), tr("Do you want to commit the changes?"),
tr("Message check failed. Do you want to proceed?"),
&dummyPrompt, m_bazaarSettings.prompt());
&dummyPrompt, dummyPrompt);
switch (response) {
case VCSBase::VCSBaseSubmitEditor::SubmitCanceled: