diff options
author | Brian McGillion <brian.mcgillion@flander.com> | 2009-09-15 13:03:13 +0300 |
---|---|---|
committer | Brian McGillion <brian.mcgillion@flander.com> | 2009-09-21 12:29:31 +0300 |
commit | 989e1b5acfb2c97ceb9dc38f6f1d795362924a6c (patch) | |
tree | b1c8baf0106bac117c83c764833eca87bf806106 /src/plugins/mercurial/mercurialsettings.cpp | |
parent | 0915342d15b55b611c80993d524a91920255b436 (diff) |
Mercurial plugin, merge request with suggested fixes.
Diffstat (limited to 'src/plugins/mercurial/mercurialsettings.cpp')
-rw-r--r-- | src/plugins/mercurial/mercurialsettings.cpp | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/plugins/mercurial/mercurialsettings.cpp b/src/plugins/mercurial/mercurialsettings.cpp new file mode 100644 index 00000000000..32ff663990b --- /dev/null +++ b/src/plugins/mercurial/mercurialsettings.cpp @@ -0,0 +1,114 @@ +#include "mercurialsettings.h" +#include "constants.h" + +#include <coreplugin/icore.h> + +#include <QtCore/QSettings> + + +using namespace Mercurial::Internal; + +MercurialSettings::MercurialSettings() +{ + readSettings(); +} + +QString MercurialSettings::binary() +{ + return bin; +} + +QString MercurialSettings::application() +{ + return app; +} + +QStringList MercurialSettings::standardArguments() +{ + return standardArgs; +} + +QString MercurialSettings::userName() +{ + return user; +} + +QString MercurialSettings::email() +{ + return mail; +} + +int MercurialSettings::logCount() +{ + return m_logCount; +} + +int MercurialSettings::timeout() +{ + //return timeout is in Ms + return m_timeout * 1000; +} + +int MercurialSettings::timeoutSeconds() +{ + //return timeout in seconds (as the user specifies on the options page + return m_timeout; +} + +bool MercurialSettings::prompt() +{ + 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("Mercurial"); + settings->setValue(Constants::MERCURIALPATH, application); + settings->setValue(Constants::MERCURIALUSERNAME, userName); + settings->setValue(Constants::MERCURIALEMAIL, email); + settings->setValue(Constants::MERCURIALLOGCOUNT, logCount); + settings->setValue(Constants::MERCURIALTIMEOUT, timeout); + settings->setValue(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("Mercurial"); + app = settings->value(Constants::MERCURIALPATH, Constants::MERCURIALDEFAULT).toString(); + user = settings->value(Constants::MERCURIALUSERNAME, "").toString(); + mail = settings->value(Constants::MERCURIALEMAIL, "").toString(); + m_logCount = settings->value(Constants::MERCURIALLOGCOUNT, 0).toInt(); + m_timeout = settings->value(Constants::MERCURIALTIMEOUT, 30).toInt(); + m_prompt = settings->value(Constants::MERCURIALPROMPTSUBMIT, true).toBool(); + settings->endGroup(); + } + + setBinAndArgs(); +} + +void MercurialSettings::setBinAndArgs() +{ + standardArgs.clear(); + +#ifdef Q_OS_WIN + bin = QLatin1String("cmd.exe"); + standardArgs << "/c" << app; +#else + bin = app; +#endif +} |