aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/subversion/subversionplugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/subversion/subversionplugin.h')
-rw-r--r--src/plugins/subversion/subversionplugin.h155
1 files changed, 1 insertions, 154 deletions
diff --git a/src/plugins/subversion/subversionplugin.h b/src/plugins/subversion/subversionplugin.h
index a9c357f8b6c..31a2d9b9096 100644
--- a/src/plugins/subversion/subversionplugin.h
+++ b/src/plugins/subversion/subversionplugin.h
@@ -25,169 +25,16 @@
#pragma once
-#include "subversionsettings.h"
-
-#include <vcsbase/vcsbaseplugin.h>
-#include <QStringList>
-
-QT_BEGIN_NAMESPACE
-class QDir;
-class QAction;
-class QTextCodec;
-QT_END_NAMESPACE
-
-namespace Core {
- class CommandLocator;
- class IEditor;
-}
-namespace Utils { class ParameterAction; }
+#include <extensionsystem/iplugin.h>
namespace Subversion {
namespace Internal {
-class SubversionSubmitEditor;
-class SubversionClient;
-
-struct SubversionResponse
-{
- bool error = false;
- QString stdOut;
- QString stdErr;
- QString message;
-};
-
const char FileAddedC[] = "A";
const char FileConflictedC[] = "C";
const char FileDeletedC[] = "D";
const char FileModifiedC[] = "M";
-class SubversionPluginPrivate final : public VcsBase::VcsBasePluginPrivate
-{
- Q_OBJECT
-
-public:
- SubversionPluginPrivate();
- ~SubversionPluginPrivate() final;
-
- // IVersionControl
- QString displayName() const final;
- Core::Id id() const final;
- bool isVcsFileOrDirectory(const Utils::FilePath &fileName) const final;
-
- bool managesDirectory(const QString &directory, QString *topLevel) const final;
- bool managesFile(const QString &workingDirectory, const QString &fileName) const final;
-
- bool isConfigured() const final;
- bool supportsOperation(Operation operation) const final;
- bool vcsOpen(const QString &fileName) final;
- bool vcsAdd(const QString &fileName) final;
- bool vcsDelete(const QString &filename) final;
- bool vcsMove(const QString &from, const QString &to) final;
- bool vcsCreateRepository(const QString &directory) final;
-
- bool vcsAnnotate(const QString &file, int line) final;
-
- Core::ShellCommand *createInitialCheckoutCommand(const QString &url,
- const Utils::FilePath &baseDirectory,
- const QString &localName,
- const QStringList &extraArgs) final;
-
- bool isVcsDirectory(const Utils::FilePath &fileName) const;
-
- ///
- SubversionClient *client();
-
- SubversionSubmitEditor *openSubversionSubmitEditor(const QString &fileName);
-
- // IVersionControl
- bool vcsAdd(const QString &workingDir, const QString &fileName);
- bool vcsDelete(const QString &workingDir, const QString &fileName);
- bool vcsMove(const QString &workingDir, const QString &from, const QString &to);
- bool vcsCheckout(const QString &directory, const QByteArray &url);
-
- static SubversionPluginPrivate *instance();
-
- QString monitorFile(const QString &repository) const;
- QString synchronousTopic(const QString &repository) const;
- SubversionResponse runSvn(const QString &workingDir,
- const QStringList &arguments, int timeOutS,
- unsigned flags, QTextCodec *outputCodec = nullptr) const;
- void describe(const QString &source, const QString &changeNr);
- void vcsAnnotateHelper(const QString &workingDir, const QString &file,
- const QString &revision = QString(), int lineNumber = -1);
-
-protected:
- void updateActions(VcsBase::VcsBasePluginPrivate::ActionState) override;
- bool submitEditorAboutToClose() override;
-
-private:
- void addCurrentFile();
- void revertCurrentFile();
- void diffProject();
- void diffCurrentFile();
- void cleanCommitMessageFile();
- void startCommitAll();
- void startCommitProject();
- void startCommitCurrentFile();
- void revertAll();
- void filelogCurrentFile();
- void annotateCurrentFile();
- void projectStatus();
- void slotDescribe();
- void updateProject();
- void commitFromEditor() override;
- void diffCommitFiles(const QStringList &);
- void logProject();
- void logRepository();
- void diffRepository();
- void statusRepository();
- void updateRepository();
-
- inline bool isCommitEditorOpen() const;
- Core::IEditor *showOutputInEditor(const QString &title, const QString &output,
- int editorType, const QString &source,
- QTextCodec *codec);
-
- void filelog(const QString &workingDir,
- const QString &file = QString(),
- bool enableAnnotationContextMenu = false);
- void svnStatus(const QString &workingDir, const QString &relativePath = QString());
- void svnUpdate(const QString &workingDir, const QString &relativePath = QString());
- bool checkSVNSubDir(const QDir &directory) const;
- void startCommit(const QString &workingDir, const QStringList &files = QStringList());
-
- const QStringList m_svnDirectories;
-
- SubversionSettings m_settings;
- SubversionClient *m_client = nullptr;
- QString m_commitMessageFileName;
- QString m_commitRepository;
-
- Core::CommandLocator *m_commandLocator = nullptr;
- Utils::ParameterAction *m_addAction = nullptr;
- Utils::ParameterAction *m_deleteAction = nullptr;
- Utils::ParameterAction *m_revertAction = nullptr;
- Utils::ParameterAction *m_diffProjectAction = nullptr;
- Utils::ParameterAction *m_diffCurrentAction = nullptr;
- Utils::ParameterAction *m_logProjectAction = nullptr;
- QAction *m_logRepositoryAction = nullptr;
- QAction *m_commitAllAction = nullptr;
- QAction *m_revertRepositoryAction = nullptr;
- QAction *m_diffRepositoryAction = nullptr;
- QAction *m_statusRepositoryAction = nullptr;
- QAction *m_updateRepositoryAction = nullptr;
- Utils::ParameterAction *m_commitCurrentAction = nullptr;
- Utils::ParameterAction *m_filelogCurrentAction = nullptr;
- Utils::ParameterAction *m_annotateCurrentAction = nullptr;
- Utils::ParameterAction *m_statusProjectAction = nullptr;
- Utils::ParameterAction *m_updateProjectAction = nullptr;
- Utils::ParameterAction *m_commitProjectAction = nullptr;
- QAction *m_describeAction = nullptr;
-
- QAction *m_menuAction = nullptr;
- bool m_submitActionTriggered = false;
-};
-
class SubversionPlugin final : public ExtensionSystem::IPlugin
{
Q_OBJECT