forked from qt-creator/qt-creator
VCS: Deduplicate some submit editor closing logic
Change-Id: I622f5703c222a48606fcca3b99e87f9398e6a815 Reviewed-by: André Hartmann <aha_1980@gmx.de>
This commit is contained in:
committed by
Orgad Shaneh
parent
eaad78547c
commit
9b61e484be
@@ -528,8 +528,24 @@ void VcsBasePluginPrivate::slotSubmitEditorAboutToClose(VcsBaseSubmitEditor *sub
|
||||
<< (m_submitEditor ? m_submitEditor->document()->id().name() : QByteArray())
|
||||
<< "closing submit editor" << submitEditor
|
||||
<< (submitEditor ? submitEditor->document()->id().name() : QByteArray());
|
||||
if (submitEditor == m_submitEditor)
|
||||
*result = submitEditorAboutToClose();
|
||||
if (submitEditor == m_submitEditor) {
|
||||
const VcsBaseSubmitEditor::PromptSubmitResult response =
|
||||
submitEditor->promptSubmit(this, !m_submitActionTriggered);
|
||||
m_submitActionTriggered = false;
|
||||
|
||||
switch (response) {
|
||||
case VcsBaseSubmitEditor::SubmitCanceled:
|
||||
*result = false;
|
||||
break;
|
||||
case VcsBaseSubmitEditor::SubmitDiscarded:
|
||||
discardCommit();
|
||||
*result = true;
|
||||
break;
|
||||
default:
|
||||
*result = submitEditorAboutToClose();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void VcsBasePluginPrivate::slotStateChanged(const Internal::State &newInternalState, Core::IVersionControl *vc)
|
||||
@@ -597,6 +613,14 @@ QString VcsBasePluginPrivate::commitDisplayName() const
|
||||
return tr("Commit", "name of \"commit\" action of the VCS.");
|
||||
}
|
||||
|
||||
void VcsBasePluginPrivate::commitFromEditor()
|
||||
{
|
||||
// Close the submit editor
|
||||
m_submitActionTriggered = true;
|
||||
QTC_ASSERT(m_submitEditor, return);
|
||||
EditorManager::closeDocuments({m_submitEditor->document()});
|
||||
}
|
||||
|
||||
bool VcsBasePluginPrivate::promptBeforeCommit()
|
||||
{
|
||||
return DocumentManager::saveAllModifiedDocuments(tr("Save before %1?")
|
||||
@@ -677,6 +701,10 @@ bool VcsBasePluginPrivate::raiseSubmitEditor() const
|
||||
return true;
|
||||
}
|
||||
|
||||
void VcsBasePluginPrivate::discardCommit()
|
||||
{
|
||||
}
|
||||
|
||||
// Find top level for version controls like git/Mercurial that have
|
||||
// a directory at the top of the repository.
|
||||
// Note that checking for the existence of files is preferred over directories
|
||||
|
||||
Reference in New Issue
Block a user