summaryrefslogtreecommitdiff
path: root/src/plugins/vcsbase/vcsbaseclientsettings.cpp
diff options
context:
space:
mode:
authorcerf <delorme.hugues@gmail.com>2011-02-28 13:40:04 +0100
committerTobias Hunger <tobias.hunger@nokia.com>2011-02-28 16:08:15 +0100
commit6c1dd96f121568773814190cf260ed01f5a88c88 (patch)
tree66cb0804d46214f664696326f26393a283d9bf9e /src/plugins/vcsbase/vcsbaseclientsettings.cpp
parentbe81d25b73bd2446c1c2a31769e659e6dc88c818 (diff)
downloadqt-creator-6c1dd96f121568773814190cf260ed01f5a88c88.tar.gz
Refactored the Mercurial plugin
Refactored the mercurial plugin which led to new vcsbase common tools (VCSBaseClient, VCSBaseClientSettings and VCSJobRunner) Merge-request: 229 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Diffstat (limited to 'src/plugins/vcsbase/vcsbaseclientsettings.cpp')
-rw-r--r--src/plugins/vcsbase/vcsbaseclientsettings.cpp151
1 files changed, 151 insertions, 0 deletions
diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.cpp b/src/plugins/vcsbase/vcsbaseclientsettings.cpp
new file mode 100644
index 0000000000..bed1ba6fc8
--- /dev/null
+++ b/src/plugins/vcsbase/vcsbaseclientsettings.cpp
@@ -0,0 +1,151 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Brian McGillion & Hugues Delorme
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** No Commercial Usage
+**
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**************************************************************************/
+
+#include "vcsbaseclientsettings.h"
+
+#include <QtCore/QSettings>
+
+using namespace VCSBase;
+
+enum { timeOutDefaultSeconds = 30 };
+
+VCSBaseClientSettings::VCSBaseClientSettings() :
+ m_binary(),
+ m_logCount(0),
+ m_prompt(true),
+ m_timeoutSeconds(timeOutDefaultSeconds)
+{
+}
+
+QString VCSBaseClientSettings::binary() const
+{
+ return m_binary;
+}
+
+void VCSBaseClientSettings::setBinary(const QString &b)
+{
+ m_binary = b;
+}
+
+QStringList VCSBaseClientSettings::standardArguments() const
+{
+ return m_standardArguments;
+}
+
+QString VCSBaseClientSettings::userName() const
+{
+ return m_user;
+}
+
+void VCSBaseClientSettings::setUserName(const QString &u)
+{
+ m_user = u;
+}
+
+QString VCSBaseClientSettings::email() const
+{
+ return m_mail;
+}
+
+void VCSBaseClientSettings::setEmail(const QString &m)
+{
+ m_mail = m;
+}
+
+int VCSBaseClientSettings::logCount() const
+{
+ return m_logCount;
+}
+
+void VCSBaseClientSettings::setLogCount(int l)
+{
+ m_logCount = l;
+}
+
+bool VCSBaseClientSettings::prompt() const
+{
+ return m_prompt;
+}
+
+void VCSBaseClientSettings::setPrompt(bool b)
+{
+ m_prompt = b;
+}
+
+int VCSBaseClientSettings::timeoutMilliSeconds() const
+{
+ //return timeout is in Ms
+ return m_timeoutSeconds * 1000;
+}
+
+int VCSBaseClientSettings::timeoutSeconds() const
+{
+ //return timeout in seconds (as the user specifies on the options page
+ return m_timeoutSeconds;
+}
+
+void VCSBaseClientSettings::setTimeoutSeconds(int s)
+{
+ m_timeoutSeconds = s;
+}
+
+void VCSBaseClientSettings::writeSettings(QSettings *settings, const QString& group) const
+{
+ settings->beginGroup(group);
+ settings->setValue(QLatin1String("VCS_Path"), m_binary);
+ settings->setValue(QLatin1String("VCS_Username"), m_user);
+ settings->setValue(QLatin1String("VCS_Email"), m_mail);
+ settings->setValue(QLatin1String("VCS_LogCount"), m_logCount);
+ settings->setValue(QLatin1String("VCS_PromptOnSubmit"), m_prompt);
+ settings->setValue(QLatin1String("VCS_Timeout"), m_timeoutSeconds);
+ settings->endGroup();
+}
+
+void VCSBaseClientSettings::readSettings(const QSettings *settings, const QString& group)
+{
+ const QString keyRoot = group + QLatin1Char('/');
+ m_binary = settings->value(keyRoot + QLatin1String("VCS_Path"), QString()).toString();
+ m_user = settings->value(keyRoot + QLatin1String("VCS_Username"), QString()).toString();
+ m_mail = settings->value(keyRoot + QLatin1String("VCS_Email"), QString()).toString();
+ m_logCount = settings->value(keyRoot + QLatin1String("VCS_LogCount"), QString()).toInt();
+ m_prompt = settings->value(keyRoot + QLatin1String("VCS_PromptOnSubmit"), QString()).toBool();
+ m_timeoutSeconds = settings->value(keyRoot + QLatin1String("VCS_Timeout"), timeOutDefaultSeconds).toInt();
+}
+
+bool VCSBaseClientSettings::equals(const VCSBaseClientSettings &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_prompt == rhs.m_prompt
+ && m_timeoutSeconds == rhs.m_timeoutSeconds;
+}