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

@@ -53,24 +53,24 @@ OptionsPageWidget::OptionsPageWidget(QWidget *parent) :
MercurialSettings OptionsPageWidget::settings() const
{
MercurialSettings rc;
rc.setBinary(m_ui.commandChooser->path());
rc.setUserName(m_ui.defaultUsernameLineEdit->text().trimmed());
rc.setEmail(m_ui.defaultEmailLineEdit->text().trimmed());
rc.setLogCount(m_ui.logEntriesCount->value());
rc.setTimeoutSeconds(m_ui.timeout->value());
rc.setPrompt(m_ui.promptOnSubmitCheckBox->isChecked());
return rc;
MercurialSettings s = MercurialPlugin::instance()->settings();
s.setValue(MercurialSettings::binaryPathKey, m_ui.commandChooser->path());
s.setValue(MercurialSettings::userNameKey, m_ui.defaultUsernameLineEdit->text().trimmed());
s.setValue(MercurialSettings::userEmailKey, m_ui.defaultEmailLineEdit->text().trimmed());
s.setValue(MercurialSettings::logCountKey, m_ui.logEntriesCount->value());
s.setValue(MercurialSettings::timeoutKey, m_ui.timeout->value());
s.setValue(MercurialSettings::promptOnSubmitKey, m_ui.promptOnSubmitCheckBox->isChecked());
return s;
}
void OptionsPageWidget::setSettings(const MercurialSettings &s)
{
m_ui.commandChooser->setPath(s.binary());
m_ui.defaultUsernameLineEdit->setText(s.userName());
m_ui.defaultEmailLineEdit->setText(s.email());
m_ui.logEntriesCount->setValue(s.logCount());
m_ui.timeout->setValue(s.timeoutSeconds());
m_ui.promptOnSubmitCheckBox->setChecked(s.prompt());
m_ui.commandChooser->setPath(s.stringValue(MercurialSettings::binaryPathKey));
m_ui.defaultUsernameLineEdit->setText(s.stringValue(MercurialSettings::userNameKey));
m_ui.defaultEmailLineEdit->setText(s.stringValue(MercurialSettings::userEmailKey));
m_ui.logEntriesCount->setValue(s.intValue(MercurialSettings::logCountKey));
m_ui.timeout->setValue(s.intValue(MercurialSettings::timeoutKey));
m_ui.promptOnSubmitCheckBox->setChecked(s.boolValue(MercurialSettings::promptOnSubmitKey));
}
QString OptionsPageWidget::searchKeywords() const