diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-11-06 12:32:38 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-11-06 12:32:38 +0100 |
commit | b0e1fdbfc45967c3371b1771a08ac9a25f9f4a1b (patch) | |
tree | 8b66b64b3dba04fd72ea6cc5c1c8beeb310d87a4 /src/plugins/mercurial/mercurialsettings.cpp | |
parent | d570b05beccec87187aa357ad96525e24c655fb9 (diff) |
Mercurial: Save resources, polishing.
Start the jobrunner on demand, save options only if changed,
give it the structure used elsewhere in the VCS plugins. Remove
last traces of the cmd /c hack.
Diffstat (limited to 'src/plugins/mercurial/mercurialsettings.cpp')
-rw-r--r-- | src/plugins/mercurial/mercurialsettings.cpp | 130 |
1 files changed, 71 insertions, 59 deletions
diff --git a/src/plugins/mercurial/mercurialsettings.cpp b/src/plugins/mercurial/mercurialsettings.cpp index 55a3ae31fa3..1105b308f40 100644 --- a/src/plugins/mercurial/mercurialsettings.cpp +++ b/src/plugins/mercurial/mercurialsettings.cpp @@ -30,40 +30,53 @@ #include "mercurialsettings.h" #include "constants.h" -#include <coreplugin/icore.h> #include <QtCore/QSettings> - using namespace Mercurial::Internal; -MercurialSettings::MercurialSettings() +enum { timeOutDefaultSeconds = 30 }; + +MercurialSettings::MercurialSettings() : + m_binary(QLatin1String(Constants::MERCURIALDEFAULT)), + m_logCount(0), + m_timeoutSeconds(timeOutDefaultSeconds), + m_prompt(true) { - readSettings(); } QString MercurialSettings::binary() const { - return bin; + return m_binary; } -QString MercurialSettings::application() const +void MercurialSettings::setBinary(const QString &b) { - return app; + m_binary = b; } QStringList MercurialSettings::standardArguments() const { - return standardArgs; + return m_standardArguments; } QString MercurialSettings::userName() const { - return user; + return m_user; +} + +void MercurialSettings::setUserName(const QString &u) +{ + m_user = u; } QString MercurialSettings::email() const { - return mail; + return m_mail; +} + +void MercurialSettings::setEmail(const QString &m) +{ + m_mail = m; } int MercurialSettings::logCount() const @@ -71,16 +84,26 @@ int MercurialSettings::logCount() const return m_logCount; } -int MercurialSettings::timeout() const +void MercurialSettings::setLogCount(int l) +{ + m_logCount = l; +} + +int MercurialSettings::timeoutMilliSeconds() const { //return timeout is in Ms - return m_timeout * 1000; + return m_timeoutSeconds * 1000; } int MercurialSettings::timeoutSeconds() const { //return timeout in seconds (as the user specifies on the options page - return m_timeout; + return m_timeoutSeconds; +} + +void MercurialSettings::setTimeoutSeconds(int s) +{ + m_timeoutSeconds = s; } bool MercurialSettings::prompt() const @@ -88,50 +111,39 @@ bool MercurialSettings::prompt() const return m_prompt; } -void MercurialSettings::writeSettings(const QString &application, const QString &userName, - const QString &email, int logCount, int timeout, bool prompt) -{ - QSettings *settings = Core::ICore::instance()->settings(); - if (settings) { - settings->beginGroup(QLatin1String("Mercurial")); - settings->setValue(QLatin1String(Constants::MERCURIALPATH), application); - settings->setValue(QLatin1String(Constants::MERCURIALUSERNAME), userName); - settings->setValue(QLatin1String(Constants::MERCURIALEMAIL), email); - settings->setValue(QLatin1String(Constants::MERCURIALLOGCOUNT), logCount); - settings->setValue(QLatin1String(Constants::MERCURIALTIMEOUT), timeout); - settings->setValue(QLatin1String(Constants::MERCURIALPROMPTSUBMIT), prompt); - settings->endGroup(); - } - - app = application; - user = userName; - mail = email; - m_logCount = logCount; - m_timeout = timeout; - m_prompt = prompt; - setBinAndArgs(); -} - -void MercurialSettings::readSettings() -{ - QSettings *settings = Core::ICore::instance()->settings(); - if (settings) { - settings->beginGroup(QLatin1String("Mercurial")); - app = settings->value(QLatin1String(Constants::MERCURIALPATH), - QLatin1String(Constants::MERCURIALDEFAULT)).toString(); - user = settings->value(QLatin1String(Constants::MERCURIALUSERNAME), QString()).toString(); - mail = settings->value(QLatin1String(Constants::MERCURIALEMAIL), QString()).toString(); - m_logCount = settings->value(QLatin1String(Constants::MERCURIALLOGCOUNT), 0).toInt(); - m_timeout = settings->value(QLatin1String(Constants::MERCURIALTIMEOUT), 30).toInt(); - m_prompt = settings->value(QLatin1String(Constants::MERCURIALPROMPTSUBMIT), true).toBool(); - settings->endGroup(); - } - - setBinAndArgs(); -} - -void MercurialSettings::setBinAndArgs() -{ - standardArgs.clear(); - bin = app; +void MercurialSettings::setPrompt(bool b) +{ + m_prompt = b; +} + +void MercurialSettings::writeSettings(QSettings *settings) const +{ + settings->beginGroup(QLatin1String("Mercurial")); + settings->setValue(QLatin1String(Constants::MERCURIALPATH), m_binary); + settings->setValue(QLatin1String(Constants::MERCURIALUSERNAME), m_user); + settings->setValue(QLatin1String(Constants::MERCURIALEMAIL), m_mail); + settings->setValue(QLatin1String(Constants::MERCURIALLOGCOUNT), m_logCount); + settings->setValue(QLatin1String(Constants::MERCURIALTIMEOUT), m_timeoutSeconds); + settings->setValue(QLatin1String(Constants::MERCURIALPROMPTSUBMIT), m_prompt); + settings->endGroup(); +} + +void MercurialSettings::readSettings(const QSettings *settings) +{ + const QString keyRoot = QLatin1String("Mercurial/"); + m_binary = settings->value(keyRoot + QLatin1String(Constants::MERCURIALPATH), + QLatin1String(Constants::MERCURIALDEFAULT)).toString(); + m_user = settings->value(keyRoot + QLatin1String(Constants::MERCURIALUSERNAME), QString()).toString(); + m_mail = settings->value(keyRoot + QLatin1String(Constants::MERCURIALEMAIL), QString()).toString(); + m_logCount = settings->value(keyRoot + QLatin1String(Constants::MERCURIALLOGCOUNT), 0).toInt(); + m_timeoutSeconds = settings->value(keyRoot + QLatin1String(Constants::MERCURIALTIMEOUT), timeOutDefaultSeconds).toInt(); + m_prompt = settings->value(keyRoot + QLatin1String(Constants::MERCURIALPROMPTSUBMIT), true).toBool(); +} + +bool MercurialSettings::equals(const MercurialSettings &rhs) const +{ + return m_binary == rhs.m_binary && m_standardArguments == rhs.m_standardArguments + && m_user == rhs.m_user && m_mail == rhs.m_mail + && m_logCount == rhs.m_logCount && m_timeoutSeconds == rhs.m_timeoutSeconds + && m_prompt == rhs.m_prompt; } |