aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2020-02-25 20:20:43 +0200
committerOrgad Shaneh <orgads@gmail.com>2020-02-26 10:40:21 +0000
commitb52ffa250144c364068a158aee5cb54bfd676171 (patch)
tree043f5a72eced3870a0dafc7e544573b05afe2b92 /src/plugins/git
parent7c4f0a9b1ed29e9440211e37e45d0e3451ac2a62 (diff)
Git: Move addChangeActions from GitEditor to GitClient
Change-Id: Id901994ac2909b00ca58a0a8a91d2d3a273c39b3 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/git')
-rw-r--r--src/plugins/git/gitclient.cpp49
-rw-r--r--src/plugins/git/gitclient.h3
-rw-r--r--src/plugins/git/giteditor.cpp51
-rw-r--r--src/plugins/git/giteditor.h1
4 files changed, 53 insertions, 51 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index f4130345ce..8608d947e1 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -3596,6 +3596,55 @@ GitRemote::GitRemote(const QString &location) : Core::IVersionControl::RepoUrl(l
isValid = QDir(path).exists() || QDir(path + ".git").exists();
}
+void GitClient::addChangeActions(QMenu *menu, const QString &workingDir, const QString &change)
+{
+ menu->addAction(tr("Cherr&y-Pick Change %1").arg(change), [workingDir, change] {
+ m_instance->synchronousCherryPick(workingDir, change);
+ });
+ menu->addAction(tr("Re&vert Change %1").arg(change), [workingDir, change] {
+ m_instance->synchronousRevert(workingDir, change);
+ });
+ menu->addAction(tr("C&heckout Change %1").arg(change), [workingDir, change] {
+ m_instance->checkout(workingDir, change);
+ });
+ connect(menu->addAction(tr("&Interactive Rebase from Change %1...").arg(change)),
+ &QAction::triggered, [workingDir, change] {
+ GitPlugin::startRebaseFromCommit(workingDir, change);
+ });
+ menu->addAction(tr("&Log for Change %1").arg(change), [workingDir, change] {
+ m_instance->log(workingDir, QString(), false, {change});
+ });
+ menu->addAction(tr("Add &Tag for Change %1...").arg(change), [workingDir, change] {
+ QString output;
+ QString errorMessage;
+ m_instance->synchronousTagCmd(workingDir, QStringList(),
+ &output, &errorMessage);
+
+ const QStringList tags = output.split('\n');
+ BranchAddDialog dialog(tags, BranchAddDialog::Type::AddTag, Core::ICore::dialogParent());
+
+ if (dialog.exec() == QDialog::Rejected)
+ return;
+
+ m_instance->synchronousTagCmd(workingDir,
+ {dialog.branchName(), change},
+ &output, &errorMessage);
+ VcsOutputWindow::append(output);
+ if (!errorMessage.isEmpty())
+ VcsOutputWindow::append(errorMessage, VcsOutputWindow::MessageStyle::Error);
+ });
+
+ auto resetChange = [workingDir, change](const QByteArray &resetType) {
+ m_instance->reset(
+ workingDir, QLatin1String("--" + resetType), change);
+ };
+ auto resetMenu = new QMenu(tr("&Reset to Change %1").arg(change), menu);
+ resetMenu->addAction(tr("&Hard"), std::bind(resetChange, "hard"));
+ resetMenu->addAction(tr("&Mixed"), std::bind(resetChange, "mixed"));
+ resetMenu->addAction(tr("&Soft"), std::bind(resetChange, "soft"));
+ menu->addMenu(resetMenu);
+}
+
} // namespace Internal
} // namespace Git
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index 932e2ee74f..c159fb3137 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -353,6 +353,9 @@ public:
VcsBase::VcsCommand *asyncUpstreamStatus(const QString &workingDirectory,
const QString &branch, const QString &upstream);
+
+ static void addChangeActions(QMenu *menu, const QString &workingDir, const QString &change);
+
private:
void finishSubmoduleUpdate();
void chunkActionsRequested(QMenu *menu, int fileIndex, int chunkIndex,
diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp
index 21b688b2e8..3646395596 100644
--- a/src/plugins/git/giteditor.cpp
+++ b/src/plugins/git/giteditor.cpp
@@ -308,59 +308,10 @@ bool GitEditorWidget::isValidRevision(const QString &revision) const
return GitClient::instance()->isValidRevision(revision);
}
-void GitEditorWidget::addChangeActions(QMenu *menu, const QString &change, const QString &workingDir)
-{
- menu->addAction(tr("Cherr&y-Pick Change %1").arg(change), [workingDir, change] {
- GitClient::instance()->synchronousCherryPick(workingDir, change);
- });
- menu->addAction(tr("Re&vert Change %1").arg(change), [workingDir, change] {
- GitClient::instance()->synchronousRevert(workingDir, change);
- });
- menu->addAction(tr("C&heckout Change %1").arg(change), [workingDir, change] {
- GitClient::instance()->checkout(workingDir, change);
- });
- connect(menu->addAction(tr("&Interactive Rebase from Change %1...").arg(change)),
- &QAction::triggered, [workingDir, change] {
- GitPlugin::startRebaseFromCommit(workingDir, change);
- });
- menu->addAction(tr("&Log for Change %1").arg(change), [workingDir, change] {
- GitClient::instance()->log(workingDir, QString(), false, {change});
- });
- menu->addAction(tr("Add &Tag for Change %1...").arg(change), [workingDir, change] {
- QString output;
- QString errorMessage;
- GitClient::instance()->synchronousTagCmd(workingDir, QStringList(),
- &output, &errorMessage);
-
- const QStringList tags = output.split('\n');
- BranchAddDialog dialog(tags, BranchAddDialog::Type::AddTag, Core::ICore::dialogParent());
-
- if (dialog.exec() == QDialog::Rejected)
- return;
-
- GitClient::instance()->synchronousTagCmd(workingDir,
- {dialog.branchName(), change},
- &output, &errorMessage);
- VcsOutputWindow::append(output);
- if (!errorMessage.isEmpty())
- VcsOutputWindow::append(errorMessage, VcsOutputWindow::MessageStyle::Error);
- });
-
- auto resetChange = [workingDir, change](const QByteArray &resetType) {
- GitClient::instance()->reset(
- workingDir, QLatin1String("--" + resetType), change);
- };
- auto resetMenu = new QMenu(tr("&Reset to Change %1").arg(change), menu);
- resetMenu->addAction(tr("&Hard"), std::bind(resetChange, "hard"));
- resetMenu->addAction(tr("&Mixed"), std::bind(resetChange, "mixed"));
- resetMenu->addAction(tr("&Soft"), std::bind(resetChange, "soft"));
- menu->addMenu(resetMenu);
-}
-
void GitEditorWidget::addChangeActions(QMenu *menu, const QString &change)
{
if (contentType() != OtherContent)
- addChangeActions(menu, change, sourceWorkingDirectory());
+ GitClient::addChangeActions(menu, change, sourceWorkingDirectory());
}
QString GitEditorWidget::revisionSubject(const QTextBlock &inBlock) const
diff --git a/src/plugins/git/giteditor.h b/src/plugins/git/giteditor.h
index b2eab5de72..0377c2d680 100644
--- a/src/plugins/git/giteditor.h
+++ b/src/plugins/git/giteditor.h
@@ -66,7 +66,6 @@ private:
QStringList annotationPreviousVersions(const QString &revision) const override;
bool isValidRevision(const QString &revision) const override;
void addChangeActions(QMenu *menu, const QString &change) override;
- static void addChangeActions(QMenu *menu, const QString &workingDir, const QString &change);
QString revisionSubject(const QTextBlock &inBlock) const override;
bool supportChangeLinks() const override;
QString fileNameForLine(int line) const override;