forked from qt-creator/qt-creator
VCS: Discard commit if submit widget is disabled
Change-Id: I8f11f56565f46919e93a30f754465de3bc44437e Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
bbdd0655bc
commit
a6d8bbbb14
@@ -1077,16 +1077,12 @@ bool GitPlugin::submitEditorAboutToClose()
|
|||||||
return true;
|
return true;
|
||||||
// Prompt user. Force a prompt unless submit was actually invoked (that
|
// Prompt user. Force a prompt unless submit was actually invoked (that
|
||||||
// is, the editor was closed or shutdown).
|
// is, the editor was closed or shutdown).
|
||||||
VcsBase::VcsBaseSubmitEditor::PromptSubmitResult answer;
|
bool promptData = false;
|
||||||
if (editor->forceClose()) {
|
const VcsBase::VcsBaseSubmitEditor::PromptSubmitResult answer
|
||||||
answer = VcsBase::VcsBaseSubmitEditor::SubmitDiscarded;
|
= editor->promptSubmit(tr("Closing Git Editor"),
|
||||||
} else {
|
tr("Do you want to commit the change?"),
|
||||||
bool promptData = false;
|
tr("Git will not accept this commit. Do you want to continue to edit it?"),
|
||||||
answer = editor->promptSubmit(tr("Closing Git Editor"),
|
&promptData, !m_submitActionTriggered, false);
|
||||||
tr("Do you want to commit the change?"),
|
|
||||||
tr("Git will not accept this commit. Do you want to continue to edit it?"),
|
|
||||||
&promptData, !m_submitActionTriggered, false);
|
|
||||||
}
|
|
||||||
m_submitActionTriggered = false;
|
m_submitActionTriggered = false;
|
||||||
switch (answer) {
|
switch (answer) {
|
||||||
case VcsBase::VcsBaseSubmitEditor::SubmitCanceled:
|
case VcsBase::VcsBaseSubmitEditor::SubmitCanceled:
|
||||||
|
@@ -90,7 +90,6 @@ GitSubmitEditor::GitSubmitEditor(const VcsBase::VcsBaseSubmitEditorParameters *p
|
|||||||
m_model(0),
|
m_model(0),
|
||||||
m_commitEncoding(0),
|
m_commitEncoding(0),
|
||||||
m_commitType(SimpleCommit),
|
m_commitType(SimpleCommit),
|
||||||
m_forceClose(false),
|
|
||||||
m_firstUpdate(true)
|
m_firstUpdate(true)
|
||||||
{
|
{
|
||||||
connect(this, SIGNAL(diffSelectedFiles(QList<int>)), this, SLOT(slotDiffSelected(QList<int>)));
|
connect(this, SIGNAL(diffSelectedFiles(QList<int>)), this, SLOT(slotDiffSelected(QList<int>)));
|
||||||
@@ -186,14 +185,12 @@ void GitSubmitEditor::updateFileModel()
|
|||||||
QString errorMessage, commitTemplate;
|
QString errorMessage, commitTemplate;
|
||||||
CommitData data(m_commitType);
|
CommitData data(m_commitType);
|
||||||
if (client->getCommitData(m_workingDirectory, &commitTemplate, data, &errorMessage)) {
|
if (client->getCommitData(m_workingDirectory, &commitTemplate, data, &errorMessage)) {
|
||||||
m_forceClose = false;
|
|
||||||
setCommitData(data);
|
setCommitData(data);
|
||||||
submitEditorWidget()->refreshLog(m_workingDirectory);
|
submitEditorWidget()->refreshLog(m_workingDirectory);
|
||||||
widget()->setEnabled(true);
|
widget()->setEnabled(true);
|
||||||
} else {
|
} else {
|
||||||
// Nothing to commit left!
|
// Nothing to commit left!
|
||||||
VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage);
|
VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage);
|
||||||
m_forceClose = true;
|
|
||||||
m_model->clear();
|
m_model->clear();
|
||||||
widget()->setEnabled(false);
|
widget()->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,6 @@ public:
|
|||||||
|
|
||||||
void setCommitData(const CommitData &);
|
void setCommitData(const CommitData &);
|
||||||
GitSubmitEditorPanelData panelData() const;
|
GitSubmitEditorPanelData panelData() const;
|
||||||
bool forceClose() { updateFileModel(); return m_forceClose; }
|
|
||||||
CommitType commitType() const { return m_commitType; }
|
CommitType commitType() const { return m_commitType; }
|
||||||
QString amendSHA1() const;
|
QString amendSHA1() const;
|
||||||
|
|
||||||
@@ -78,7 +77,6 @@ private:
|
|||||||
QTextCodec *m_commitEncoding;
|
QTextCodec *m_commitEncoding;
|
||||||
CommitType m_commitType;
|
CommitType m_commitType;
|
||||||
QString m_amendSHA1;
|
QString m_amendSHA1;
|
||||||
bool m_forceClose;
|
|
||||||
QString m_workingDirectory;
|
QString m_workingDirectory;
|
||||||
bool m_firstUpdate;
|
bool m_firstUpdate;
|
||||||
};
|
};
|
||||||
|
@@ -547,6 +547,9 @@ VcsBaseSubmitEditor::PromptSubmitResult
|
|||||||
|
|
||||||
Core::EditorManager::activateEditor(this, Core::EditorManager::IgnoreNavigationHistory);
|
Core::EditorManager::activateEditor(this, Core::EditorManager::IgnoreNavigationHistory);
|
||||||
|
|
||||||
|
if (!submitWidget->isEnabled())
|
||||||
|
return SubmitDiscarded;
|
||||||
|
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
QMessageBox::StandardButton answer = QMessageBox::Yes;
|
QMessageBox::StandardButton answer = QMessageBox::Yes;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user