From 13fc3c83138bf7fc898228dd30fd4ae90fd3421d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 3 Jul 2017 11:26:52 +0200 Subject: DiffEditor: Share "failed" state among multiple views Change-Id: Id049ce8eafcb21d5e60fae17c47df8657c0e5779 Reviewed-by: Tobias Hunger --- src/plugins/diffeditor/diffview.cpp | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'src/plugins/diffeditor/diffview.cpp') diff --git a/src/plugins/diffeditor/diffview.cpp b/src/plugins/diffeditor/diffview.cpp index 5a8938ba0c..23e165f58e 100644 --- a/src/plugins/diffeditor/diffview.cpp +++ b/src/plugins/diffeditor/diffview.cpp @@ -117,15 +117,26 @@ void UnifiedView::setDocument(DiffEditorDocument *document) { QTC_ASSERT(m_widget, return); m_widget->setDocument(document); - if (document && document->isReloading()) + if (!document) + return; + + switch (document->state()) { + case DiffEditorDocument::Reloading: m_widget->clear(tr("Waiting for data...")); + break; + case DiffEditorDocument::LoadFailed: + m_widget->clear(tr("Retrieving data failed.")); + break; + default: + break; + } } void UnifiedView::beginOperation() { QTC_ASSERT(m_widget, return); DiffEditorDocument *document = m_widget->diffDocument(); - if (document && !document->isReloading()) + if (document && document->state() == DiffEditorDocument::LoadOK) m_widget->saveState(); m_widget->clear(tr("Waiting for data...")); } @@ -142,7 +153,7 @@ void UnifiedView::endOperation(bool success) if (success) m_widget->restoreState(); else - m_widget->clear(tr("Failed")); + m_widget->clear(tr("Retrieving data failed.")); } void UnifiedView::setCurrentDiffFileIndex(int index) @@ -192,15 +203,26 @@ void SideBySideView::setDocument(DiffEditorDocument *document) { QTC_ASSERT(m_widget, return); m_widget->setDocument(document); - if (document && document->isReloading()) + if (!document) + return; + + switch (document->state()) { + case DiffEditorDocument::Reloading: m_widget->clear(tr("Waiting for data...")); + break; + case DiffEditorDocument::LoadFailed: + m_widget->clear(tr("Retrieving data failed.")); + break; + default: + break; + } } void SideBySideView::beginOperation() { QTC_ASSERT(m_widget, return); DiffEditorDocument *document = m_widget->diffDocument(); - if (document && !document->isReloading()) + if (document && document->state() == DiffEditorDocument::LoadOK) m_widget->saveState(); m_widget->clear(tr("Waiting for data...")); } @@ -223,7 +245,7 @@ void SideBySideView::endOperation(bool success) if (success) m_widget->restoreState(); else - m_widget->clear(tr("Failed")); + m_widget->clear(tr("Retrieving data failed.")); } void SideBySideView::setSync(bool sync) -- cgit v1.2.1