diff options
Diffstat (limited to 'src/plugins/git/gitplugin.cpp')
-rw-r--r-- | src/plugins/git/gitplugin.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index bc730a339c..72d9f4bb6d 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -1121,6 +1121,14 @@ bool GitPlugin::submitEditorAboutToClose() m_gitClient->continueCommandIfNeeded(m_submitRepository); } } + + if (m_gitClient->checkCommandInProgress(m_submitRepository) == GitClient::NoCommand) { + if (editor->panelData().pushAction == CommitAndPush) + m_gitClient->push(m_submitRepository); + else if (editor->panelData().pushAction == CommitAndPushToGerrit) + connect(editor, SIGNAL(destroyed()), this, SLOT(delayedPushToGerrit())); + } + return closeEditor; } @@ -1445,6 +1453,11 @@ void GitPlugin::updateContinueAndAbortCommands() } } +void GitPlugin::delayedPushToGerrit() +{ + m_gerritPlugin->push(m_submitRepository); +} + void GitPlugin::updateBranches(const QString &repository) { if (m_branchDialog && m_branchDialog->isVisible()) |