forked from qt-creator/qt-creator
Git: Simplify createRepositoryAction usages
Change-Id: I53047333e2591b9e2aca7931a1e809f99baf6f31 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -784,7 +784,7 @@ void GitClient::diffProject(const QString &workingDirectory, const QString &proj
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitClient::diffRepository(const QString &workingDirectory) const
|
void GitClient::diffRepository(const QString &workingDirectory)
|
||||||
{
|
{
|
||||||
requestReload(QLatin1String("Repository:") + workingDirectory,
|
requestReload(QLatin1String("Repository:") + workingDirectory,
|
||||||
workingDirectory, tr("Git Diff Repository"),
|
workingDirectory, tr("Git Diff Repository"),
|
||||||
|
@@ -155,7 +155,7 @@ public:
|
|||||||
const QStringList &stagedFileNames) const;
|
const QStringList &stagedFileNames) const;
|
||||||
void diffProject(const QString &workingDirectory,
|
void diffProject(const QString &workingDirectory,
|
||||||
const QString &projectDirectory) const;
|
const QString &projectDirectory) const;
|
||||||
void diffRepository(const QString &workingDirectory) const;
|
void diffRepository(const QString &workingDirectory);
|
||||||
void diffBranch(const QString &workingDirectory,
|
void diffBranch(const QString &workingDirectory,
|
||||||
const QString &branchName) const;
|
const QString &branchName) const;
|
||||||
void merge(const QString &workingDirectory, const QStringList &unmergedFileNames = QStringList());
|
void merge(const QString &workingDirectory, const QStringList &unmergedFileNames = QStringList());
|
||||||
|
@@ -260,8 +260,7 @@ QAction *GitPlugin::createChangeRelatedRepositoryAction(ActionContainer *ac,
|
|||||||
|
|
||||||
// Action to act on the repository forwarded to a git client member function
|
// Action to act on the repository forwarded to a git client member function
|
||||||
// taking the directory.
|
// taking the directory.
|
||||||
QAction *GitPlugin::createRepositoryAction(ActionContainer *ac,
|
QAction *GitPlugin::createRepositoryAction(ActionContainer *ac, const QString &text, Id id,
|
||||||
const QString &text, Id id,
|
|
||||||
const Context &context, bool addToLocator,
|
const Context &context, bool addToLocator,
|
||||||
GitClientMemberFunc func, const QKeySequence &keys)
|
GitClientMemberFunc func, const QKeySequence &keys)
|
||||||
{
|
{
|
||||||
@@ -368,13 +367,13 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
gitContainer->addMenu(localRepositoryMenu);
|
gitContainer->addMenu(localRepositoryMenu);
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu, tr("Diff"), "Git.DiffRepository",
|
createRepositoryAction(localRepositoryMenu, tr("Diff"), "Git.DiffRepository",
|
||||||
context, true, [this] { diffRepository(); });
|
context, true, &GitClient::diffRepository);
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu, tr("Log"), "Git.LogRepository",
|
createRepositoryAction(localRepositoryMenu, tr("Log"), "Git.LogRepository",
|
||||||
context, true, [this] { logRepository(); });
|
context, true, [this] { logRepository(); });
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu, tr("Reflog"), "Git.ReflogRepository",
|
createRepositoryAction(localRepositoryMenu, tr("Reflog"), "Git.ReflogRepository",
|
||||||
context, true, [this] { reflogRepository(); });
|
context, true, &GitClient::reflog);
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu, tr("Clean..."), "Git.CleanRepository",
|
createRepositoryAction(localRepositoryMenu, tr("Clean..."), "Git.CleanRepository",
|
||||||
context, true, [this] { cleanRepository(); });
|
context, true, [this] { cleanRepository(); });
|
||||||
@@ -389,71 +388,68 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
context, true, [this] { startCommit(); },
|
context, true, [this] { startCommit(); },
|
||||||
QKeySequence(UseMacShortcuts ? tr("Meta+G,Meta+C") : tr("Alt+G,Alt+C")));
|
QKeySequence(UseMacShortcuts ? tr("Meta+G,Meta+C") : tr("Alt+G,Alt+C")));
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu,
|
createRepositoryAction(localRepositoryMenu, tr("Amend Last Commit..."), "Git.AmendCommit",
|
||||||
tr("Amend Last Commit..."), "Git.AmendCommit",
|
|
||||||
context, true, [this] { startAmendCommit(); });
|
context, true, [this] { startAmendCommit(); });
|
||||||
|
|
||||||
m_fixupCommitAction =
|
m_fixupCommitAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Fixup Previous Commit..."), "Git.FixupCommit",
|
tr("Fixup Previous Commit..."), "Git.FixupCommit", context, true,
|
||||||
context, true, [this] { startFixupCommit(); });
|
[this] { startFixupCommit(); });
|
||||||
|
|
||||||
// --------------
|
// --------------
|
||||||
localRepositoryMenu->addSeparator(context);
|
localRepositoryMenu->addSeparator(context);
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu,
|
createRepositoryAction(localRepositoryMenu, tr("Reset..."), "Git.Reset",
|
||||||
tr("Reset..."), "Git.Reset",
|
|
||||||
context, true, [this] { resetRepository(); });
|
context, true, [this] { resetRepository(); });
|
||||||
|
|
||||||
m_interactiveRebaseAction =
|
m_interactiveRebaseAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Interactive Rebase..."), "Git.InteractiveRebase",
|
tr("Interactive Rebase..."), "Git.InteractiveRebase",
|
||||||
context, true, [this] { startRebase(); });
|
context, true, [this] { startRebase(); });
|
||||||
|
|
||||||
m_submoduleUpdateAction =
|
m_submoduleUpdateAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Update Submodules"), "Git.SubmoduleUpdate",
|
tr("Update Submodules"), "Git.SubmoduleUpdate",
|
||||||
context, true, [this] { updateSubmodules(); });
|
context, true, [this] { updateSubmodules(); });
|
||||||
m_abortMergeAction =
|
m_abortMergeAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Abort Merge"), "Git.MergeAbort",
|
tr("Abort Merge"), "Git.MergeAbort",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
m_abortRebaseAction =
|
m_abortRebaseAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Abort Rebase"), "Git.RebaseAbort",
|
tr("Abort Rebase"), "Git.RebaseAbort",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
m_abortCherryPickAction =
|
m_abortCherryPickAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Abort Cherry Pick"), "Git.CherryPickAbort",
|
tr("Abort Cherry Pick"), "Git.CherryPickAbort",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
m_abortRevertAction =
|
m_abortRevertAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Abort Revert"), "Git.RevertAbort",
|
tr("Abort Revert"), "Git.RevertAbort",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
m_continueRebaseAction =
|
m_continueRebaseAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Continue Rebase"), "Git.RebaseContinue",
|
tr("Continue Rebase"), "Git.RebaseContinue",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
m_continueCherryPickAction =
|
m_continueCherryPickAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Continue Cherry Pick"), "Git.CherryPickContinue",
|
tr("Continue Cherry Pick"), "Git.CherryPickContinue",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
m_continueRevertAction =
|
m_continueRevertAction
|
||||||
createRepositoryAction(localRepositoryMenu,
|
= createRepositoryAction(localRepositoryMenu,
|
||||||
tr("Continue Revert"), "Git.RevertContinue",
|
tr("Continue Revert"), "Git.RevertContinue",
|
||||||
context, true, [this] { continueOrAbortCommand(); });
|
context, true, [this] { continueOrAbortCommand(); });
|
||||||
|
|
||||||
// --------------
|
// --------------
|
||||||
localRepositoryMenu->addSeparator(context);
|
localRepositoryMenu->addSeparator(context);
|
||||||
|
|
||||||
createRepositoryAction(localRepositoryMenu,
|
createRepositoryAction(localRepositoryMenu, tr("Branches..."), "Git.BranchList",
|
||||||
tr("Branches..."), "Git.BranchList",
|
|
||||||
context, true, [this] { branchList(); });
|
context, true, [this] { branchList(); });
|
||||||
|
|
||||||
// --------------
|
// --------------
|
||||||
@@ -474,8 +470,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
connect(m_applyCurrentFilePatchAction, &QAction::triggered,
|
connect(m_applyCurrentFilePatchAction, &QAction::triggered,
|
||||||
this, &GitPlugin::applyCurrentFilePatch);
|
this, &GitPlugin::applyCurrentFilePatch);
|
||||||
|
|
||||||
createRepositoryAction(patchMenu,
|
createRepositoryAction(patchMenu, tr("Apply from File..."), "Git.ApplyPatch",
|
||||||
tr("Apply from File..."), "Git.ApplyPatch",
|
|
||||||
context, true, [this] { promptApplyPatch(); });
|
context, true, [this] { promptApplyPatch(); });
|
||||||
|
|
||||||
// "Stash" menu
|
// "Stash" menu
|
||||||
@@ -483,8 +478,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
stashMenu->menu()->setTitle(tr("&Stash"));
|
stashMenu->menu()->setTitle(tr("&Stash"));
|
||||||
localRepositoryMenu->addMenu(stashMenu);
|
localRepositoryMenu->addMenu(stashMenu);
|
||||||
|
|
||||||
createRepositoryAction(stashMenu,
|
createRepositoryAction(stashMenu, tr("Stashes..."), "Git.StashList",
|
||||||
tr("Stashes..."), "Git.StashList",
|
|
||||||
context, false, [this] { stashList(); });
|
context, false, [this] { stashList(); });
|
||||||
|
|
||||||
stashMenu->addSeparator(context);
|
stashMenu->addSeparator(context);
|
||||||
@@ -535,19 +529,16 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
subversionMenu->menu()->setTitle(tr("&Subversion"));
|
subversionMenu->menu()->setTitle(tr("&Subversion"));
|
||||||
remoteRepositoryMenu->addMenu(subversionMenu);
|
remoteRepositoryMenu->addMenu(subversionMenu);
|
||||||
|
|
||||||
createRepositoryAction(subversionMenu,
|
createRepositoryAction(subversionMenu, tr("Log"), "Git.Subversion.Log",
|
||||||
tr("Log"), "Git.Subversion.Log",
|
|
||||||
context, false, &GitClient::subversionLog);
|
context, false, &GitClient::subversionLog);
|
||||||
|
|
||||||
createRepositoryAction(subversionMenu,
|
createRepositoryAction(subversionMenu, tr("Fetch"), "Git.Subversion.Fetch",
|
||||||
tr("Fetch"), "Git.Subversion.Fetch",
|
|
||||||
context, false, &GitClient::synchronousSubversionFetch);
|
context, false, &GitClient::synchronousSubversionFetch);
|
||||||
|
|
||||||
// --------------
|
// --------------
|
||||||
remoteRepositoryMenu->addSeparator(context);
|
remoteRepositoryMenu->addSeparator(context);
|
||||||
|
|
||||||
createRepositoryAction(remoteRepositoryMenu,
|
createRepositoryAction(remoteRepositoryMenu, tr("Manage Remotes..."), "Git.RemoteList",
|
||||||
tr("Manage Remotes..."), "Git.RemoteList",
|
|
||||||
context, false, [this] { remoteList(); });
|
context, false, [this] { remoteList(); });
|
||||||
|
|
||||||
/* \"Remote Repository" menu */
|
/* \"Remote Repository" menu */
|
||||||
@@ -567,12 +558,8 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
createChangeRelatedRepositoryAction(0, tr("Checkout..."), "Git.Checkout",
|
createChangeRelatedRepositoryAction(0, tr("Checkout..."), "Git.Checkout",
|
||||||
context, true);
|
context, true);
|
||||||
|
|
||||||
createRepositoryAction(0, tr("Rebase..."), "Git.Rebase",
|
createRepositoryAction(0, tr("Rebase..."), "Git.Rebase", context, true, [this] { branchList(); });
|
||||||
context, true, [this] { branchList(); });
|
createRepositoryAction(0, tr("Merge..."), "Git.Merge", context, true, [this] { branchList(); });
|
||||||
|
|
||||||
createRepositoryAction(0, tr("Merge..."), "Git.Merge",
|
|
||||||
context, true, [this] { branchList(); });
|
|
||||||
|
|
||||||
/* \Actions only in locator */
|
/* \Actions only in locator */
|
||||||
|
|
||||||
// --------------
|
// --------------
|
||||||
@@ -582,8 +569,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
gitToolsMenu->menu()->setTitle(tr("Git &Tools"));
|
gitToolsMenu->menu()->setTitle(tr("Git &Tools"));
|
||||||
gitContainer->addMenu(gitToolsMenu);
|
gitContainer->addMenu(gitToolsMenu);
|
||||||
|
|
||||||
createRepositoryAction(gitToolsMenu,
|
createRepositoryAction(gitToolsMenu, tr("Gitk"), "Git.LaunchGitK",
|
||||||
tr("Gitk"), "Git.LaunchGitK",
|
|
||||||
context, true, &GitClient::launchGitK);
|
context, true, &GitClient::launchGitK);
|
||||||
|
|
||||||
createFileAction(gitToolsMenu, tr("Gitk Current File"), tr("Gitk of \"%1\""),
|
createFileAction(gitToolsMenu, tr("Gitk Current File"), tr("Gitk of \"%1\""),
|
||||||
@@ -601,14 +587,13 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
// --------------
|
// --------------
|
||||||
gitToolsMenu->addSeparator(context);
|
gitToolsMenu->addSeparator(context);
|
||||||
|
|
||||||
m_repositoryBrowserAction =
|
m_repositoryBrowserAction
|
||||||
createRepositoryAction(gitToolsMenu,
|
= createRepositoryAction(gitToolsMenu,
|
||||||
tr("Repository Browser"), "Git.LaunchRepositoryBrowser",
|
tr("Repository Browser"), "Git.LaunchRepositoryBrowser",
|
||||||
context, true, &GitClient::launchRepositoryBrowser);
|
context, true, &GitClient::launchRepositoryBrowser);
|
||||||
|
|
||||||
m_mergeToolAction =
|
m_mergeToolAction
|
||||||
createRepositoryAction(gitToolsMenu,
|
= createRepositoryAction(gitToolsMenu, tr("Merge Tool"), "Git.MergeTool",
|
||||||
tr("Merge Tool"), "Git.MergeTool",
|
|
||||||
context, true, [this] { startMergeTool(); });
|
context, true, [this] { startMergeTool(); });
|
||||||
|
|
||||||
/* \"Git Tools" menu */
|
/* \"Git Tools" menu */
|
||||||
@@ -690,13 +675,6 @@ void GitPlugin::diffCurrentProject()
|
|||||||
m_gitClient->diffProject(state.currentProjectTopLevel(), relativeProject);
|
m_gitClient->diffProject(state.currentProjectTopLevel(), relativeProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitPlugin::diffRepository()
|
|
||||||
{
|
|
||||||
const VcsBasePluginState state = currentState();
|
|
||||||
QTC_ASSERT(state.hasTopLevel(), return);
|
|
||||||
m_gitClient->diffRepository(state.topLevel());
|
|
||||||
}
|
|
||||||
|
|
||||||
void GitPlugin::logFile()
|
void GitPlugin::logFile()
|
||||||
{
|
{
|
||||||
const VcsBasePluginState state = currentState();
|
const VcsBasePluginState state = currentState();
|
||||||
@@ -726,13 +704,6 @@ void GitPlugin::logRepository()
|
|||||||
m_gitClient->log(state.topLevel());
|
m_gitClient->log(state.topLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitPlugin::reflogRepository()
|
|
||||||
{
|
|
||||||
const VcsBasePluginState state = currentState();
|
|
||||||
QTC_ASSERT(state.hasTopLevel(), return);
|
|
||||||
m_gitClient->reflog(state.topLevel());
|
|
||||||
}
|
|
||||||
|
|
||||||
void GitPlugin::undoFileChanges(bool revertStaging)
|
void GitPlugin::undoFileChanges(bool revertStaging)
|
||||||
{
|
{
|
||||||
if (!DocumentManager::saveAllModifiedDocuments())
|
if (!DocumentManager::saveAllModifiedDocuments())
|
||||||
|
@@ -99,7 +99,6 @@ public slots:
|
|||||||
private slots:
|
private slots:
|
||||||
void diffCurrentFile();
|
void diffCurrentFile();
|
||||||
void diffCurrentProject();
|
void diffCurrentProject();
|
||||||
void diffRepository();
|
|
||||||
void submitEditorDiff(const QStringList &unstaged, const QStringList &staged);
|
void submitEditorDiff(const QStringList &unstaged, const QStringList &staged);
|
||||||
void submitEditorMerge(const QStringList &unmerged);
|
void submitEditorMerge(const QStringList &unmerged);
|
||||||
void submitCurrentLog();
|
void submitCurrentLog();
|
||||||
@@ -107,7 +106,6 @@ private slots:
|
|||||||
void blameFile();
|
void blameFile();
|
||||||
void logProject();
|
void logProject();
|
||||||
void logRepository();
|
void logRepository();
|
||||||
void reflogRepository();
|
|
||||||
void undoFileChanges(bool revertStaging);
|
void undoFileChanges(bool revertStaging);
|
||||||
void resetRepository();
|
void resetRepository();
|
||||||
void startRebase();
|
void startRebase();
|
||||||
@@ -174,21 +172,18 @@ private:
|
|||||||
void (GitPlugin::*func)(),
|
void (GitPlugin::*func)(),
|
||||||
const QKeySequence &keys = QKeySequence());
|
const QKeySequence &keys = QKeySequence());
|
||||||
|
|
||||||
QAction *createRepositoryAction(Core::ActionContainer *ac,
|
QAction *createRepositoryAction(Core::ActionContainer *ac, const QString &text, Core::Id id,
|
||||||
const QString &text, Core::Id id,
|
const Core::Context &context, bool addToLocator,
|
||||||
const Core::Context &context,
|
const std::function<void()> &callback,
|
||||||
bool addToLocator, const std::function<void()> &callback,
|
|
||||||
const QKeySequence &keys = QKeySequence());
|
const QKeySequence &keys = QKeySequence());
|
||||||
QAction *createChangeRelatedRepositoryAction(Core::ActionContainer *ac,
|
QAction *createChangeRelatedRepositoryAction(Core::ActionContainer *ac,
|
||||||
const QString &text, Core::Id id,
|
const QString &text, Core::Id id,
|
||||||
const Core::Context &context,
|
const Core::Context &context,
|
||||||
bool addToLocator,
|
bool addToLocator,
|
||||||
const QKeySequence &keys = QKeySequence());
|
const QKeySequence &keys = QKeySequence());
|
||||||
QAction *createRepositoryAction(Core::ActionContainer *ac,
|
QAction *createRepositoryAction(Core::ActionContainer *ac, const QString &text, Core::Id id,
|
||||||
const QString &text, Core::Id id,
|
const Core::Context &context, bool addToLocator,
|
||||||
const Core::Context &context,
|
GitClientMemberFunc, const QKeySequence &keys = QKeySequence());
|
||||||
bool addToLocator, GitClientMemberFunc,
|
|
||||||
const QKeySequence &keys = QKeySequence());
|
|
||||||
|
|
||||||
void updateRepositoryBrowserAction();
|
void updateRepositoryBrowserAction();
|
||||||
bool isCommitEditorOpen() const;
|
bool isCommitEditorOpen() const;
|
||||||
|
Reference in New Issue
Block a user