forked from qt-creator/qt-creator
Git: Add context-menu actions for cherry-pick and revert
Change-Id: Ic266fe039423a37df2fc347ead7530322ac47bb8 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
5e5831bb12
commit
b53d398e2c
@@ -219,6 +219,20 @@ void GitEditor::commandFinishedGotoLine(bool ok, int /* exitCode */, const QVari
|
||||
}
|
||||
}
|
||||
|
||||
void GitEditor::cherryPickChange()
|
||||
{
|
||||
const QFileInfo fi(source());
|
||||
const QString workingDirectory = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
|
||||
GitPlugin::instance()->gitClient()->cherryPickCommit(workingDirectory, m_currentChange);
|
||||
}
|
||||
|
||||
void GitEditor::revertChange()
|
||||
{
|
||||
const QFileInfo fi(source());
|
||||
const QString workingDirectory = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
|
||||
GitPlugin::instance()->gitClient()->revertCommit(workingDirectory, m_currentChange);
|
||||
}
|
||||
|
||||
QString GitEditor::decorateVersion(const QString &revision) const
|
||||
{
|
||||
const QFileInfo fi(source());
|
||||
@@ -249,6 +263,12 @@ bool GitEditor::isValidRevision(const QString &revision) const
|
||||
return GitPlugin::instance()->gitClient()->isValidRevision(revision);
|
||||
}
|
||||
|
||||
void GitEditor::addChangeActions(QMenu *menu, const QString &change)
|
||||
{
|
||||
m_currentChange = change;
|
||||
menu->addAction(tr("Cherry-pick Change %1").arg(change), this, SLOT(cherryPickChange()));
|
||||
menu->addAction(tr("Revert Change %1").arg(change), this, SLOT(revertChange()));
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace Git
|
||||
|
||||
|
||||
@@ -54,6 +54,10 @@ public slots:
|
||||
// Matches the signature of the finished signal of GitCommand
|
||||
void commandFinishedGotoLine(bool ok, int exitCode, const QVariant &v);
|
||||
|
||||
private slots:
|
||||
void cherryPickChange();
|
||||
void revertChange();
|
||||
|
||||
private:
|
||||
QSet<QString> annotationChanges() const;
|
||||
QString changeUnderCursor(const QTextCursor &) const;
|
||||
@@ -61,9 +65,11 @@ private:
|
||||
QString decorateVersion(const QString &revision) const;
|
||||
QStringList annotationPreviousVersions(const QString &revision) const;
|
||||
bool isValidRevision(const QString &revision) const;
|
||||
void addChangeActions(QMenu *menu, const QString &change);
|
||||
|
||||
mutable QRegExp m_changeNumberPattern8;
|
||||
mutable QRegExp m_changeNumberPattern40;
|
||||
QString m_currentChange;
|
||||
};
|
||||
|
||||
} // namespace Git
|
||||
|
||||
Reference in New Issue
Block a user