aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/perforce/perforcesubmiteditor.h
diff options
context:
space:
mode:
authorcon <qtc-commiter@nokia.com>2008-12-02 12:01:29 +0100
committercon <qtc-commiter@nokia.com>2008-12-02 12:01:29 +0100
commit05c35356abc31549c5db6eba31fb608c0365c2a0 (patch)
treebe044530104267afaff13f8943889cb97f8c8bad /src/plugins/perforce/perforcesubmiteditor.h
Initial import
Diffstat (limited to 'src/plugins/perforce/perforcesubmiteditor.h')
-rw-r--r--src/plugins/perforce/perforcesubmiteditor.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/plugins/perforce/perforcesubmiteditor.h b/src/plugins/perforce/perforcesubmiteditor.h
new file mode 100644
index 0000000000..af0d3d0e2c
--- /dev/null
+++ b/src/plugins/perforce/perforcesubmiteditor.h
@@ -0,0 +1,84 @@
+/***************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+**
+** Non-Open Source Usage
+**
+** Licensees may use this file in accordance with the Qt Beta Version
+** License Agreement, Agreement version 2.2 provided with the Software or,
+** alternatively, in accordance with the terms contained in a written
+** agreement between you and Nokia.
+**
+** GNU General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the packaging
+** of this file. Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+**
+** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt GPL Exception version
+** 1.2, included in the file GPL_EXCEPTION.txt in this package.
+**
+***************************************************************************/
+#ifndef PERFORCESUBMITEDITOR_H
+#define PERFORCESUBMITEDITOR_H
+
+#include <vcsbase/vcsbasesubmiteditor.h>
+
+#include <QtCore/QStringList>
+#include <QtCore/QMap>
+
+namespace Perforce {
+namespace Internal {
+
+class PerforceSubmitEditorWidget;
+class PerforcePlugin;
+
+/* PerforceSubmitEditor: In p4, the file list is contained in the
+ * submit message file (change list). On setting the file contents,
+ * it is split apart in message and file list and re-assembled
+ * when retrieving the file list.
+ * As a p4 submit starts with all opened files, there is API to restrict
+ * the file list to current project files in question
+ * (restrictToProjectFiles()). */
+class PerforceSubmitEditor : public VCSBase::VCSBaseSubmitEditor
+{
+ Q_OBJECT
+
+public:
+ explicit PerforceSubmitEditor(const VCSBase::VCSBaseSubmitEditorParameters *parameters, QWidget *parent);
+
+ /* The p4 submit starts with all opened files. Restrict
+ * it to the current project files in question. */
+ void restrictToProjectFiles(const QStringList &files);
+
+ static QString fileFromChangeLine(const QString &line);
+
+protected:
+ virtual QStringList vcsFileListToFileList(const QStringList &) const;
+ virtual QString fileContents() const;
+ virtual bool setFileContents(const QString &contents);
+
+private:
+ inline PerforceSubmitEditorWidget *submitEditorWidget();
+ bool parseText(QString text);
+ void updateFields();
+ void updateEntries();
+
+ QMap<QString, QString> m_entries;
+};
+
+} // namespace Internal
+} // namespace Perforce
+
+#endif // PERFORCESUBMITEDITOR_H