diff options
Diffstat (limited to 'src/plugins/git/gitplugin.cpp')
-rw-r--r-- | src/plugins/git/gitplugin.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 8d664496a4..f2f5abbcfa 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -282,14 +282,20 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage) initializeVcs(new GitVersionControl(m_gitClient), context); // Create the settings Page - addAutoReleasedObject(new SettingsPage(versionControl())); + auto settingsPage = new SettingsPage(versionControl()); + addAutoReleasedObject(settingsPage); + connect(settingsPage, &SettingsPage::settingsChanged, + this, &GitPlugin::updateRepositoryBrowserAction); + addAutoReleasedObject(new GitGrep); - static const char *describeSlot = SLOT(show(QString,QString)); + const auto describeFunc = [this](const QString &source, const QString &id) { + m_gitClient->show(source, id); + }; const int editorCount = sizeof(editorParameters) / sizeof(editorParameters[0]); const auto widgetCreator = []() { return new GitEditorWidget; }; for (int i = 0; i < editorCount; i++) - addAutoReleasedObject(new VcsEditorFactory(editorParameters + i, widgetCreator, m_gitClient, describeSlot)); + addAutoReleasedObject(new VcsEditorFactory(editorParameters + i, widgetCreator, describeFunc)); addAutoReleasedObject(new VcsSubmitEditorFactory(&submitParameters, []() { return new GitSubmitEditor(&submitParameters); })); @@ -435,6 +441,11 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage) tr("Continue Rebase"), "Git.RebaseContinue", context, true, [this] { continueOrAbortCommand(); }); + m_skipRebaseAction + = createRepositoryAction(localRepositoryMenu, + tr("Skip Rebase"), "Git.RebaseSkip", + context, true, [this] { continueOrAbortCommand(); }); + m_continueCherryPickAction = createRepositoryAction(localRepositoryMenu, tr("Continue Cherry Pick"), "Git.CherryPickContinue", @@ -1120,6 +1131,8 @@ void GitPlugin::continueOrAbortCommand() m_gitClient->synchronousCherryPick(state.topLevel(), "--abort"); else if (action == m_abortRevertAction) m_gitClient->synchronousRevert(state.topLevel(), "--abort"); + else if (action == m_skipRebaseAction) + m_gitClient->rebase(state.topLevel(), "--skip"); else if (action == m_continueRebaseAction) m_gitClient->rebase(state.topLevel(), "--continue"); else if (action == m_continueCherryPickAction) @@ -1347,6 +1360,8 @@ void GitPlugin::updateContinueAndAbortCommands() m_abortRevertAction->setVisible(gitCommandInProgress == GitClient::Revert); m_abortRebaseAction->setVisible(gitCommandInProgress == GitClient::Rebase || gitCommandInProgress == GitClient::RebaseMerge); + m_skipRebaseAction->setVisible(gitCommandInProgress == GitClient::Rebase + || gitCommandInProgress == GitClient::RebaseMerge); m_continueCherryPickAction->setVisible(gitCommandInProgress == GitClient::CherryPick); m_continueRevertAction->setVisible(gitCommandInProgress == GitClient::Revert); m_continueRebaseAction->setVisible(gitCommandInProgress == GitClient::Rebase @@ -1359,6 +1374,7 @@ void GitPlugin::updateContinueAndAbortCommands() m_abortCherryPickAction->setVisible(false); m_abortRevertAction->setVisible(false); m_abortRebaseAction->setVisible(false); + m_skipRebaseAction->setVisible(false); m_continueCherryPickAction->setVisible(false); m_continueRevertAction->setVisible(false); m_continueRebaseAction->setVisible(false); |