summaryrefslogtreecommitdiff
path: root/src/plugins/git/gitplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/git/gitplugin.cpp')
-rw-r--r--src/plugins/git/gitplugin.cpp13
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())