aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mercurial/mercurialsettings.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-11-06 12:32:38 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-11-06 12:32:38 +0100
commitb0e1fdbfc45967c3371b1771a08ac9a25f9f4a1b (patch)
tree8b66b64b3dba04fd72ea6cc5c1c8beeb310d87a4 /src/plugins/mercurial/mercurialsettings.cpp
parentd570b05beccec87187aa357ad96525e24c655fb9 (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.cpp130
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;
}