diff options
Diffstat (limited to 'src/plugins/diffeditor/diffeditorplugin.cpp')
-rw-r--r-- | src/plugins/diffeditor/diffeditorplugin.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/src/plugins/diffeditor/diffeditorplugin.cpp b/src/plugins/diffeditor/diffeditorplugin.cpp index ff405524e3..c3898a5296 100644 --- a/src/plugins/diffeditor/diffeditorplugin.cpp +++ b/src/plugins/diffeditor/diffeditorplugin.cpp @@ -130,11 +130,11 @@ class DiffFilesController : public DiffEditorController Q_OBJECT public: DiffFilesController(IDocument *document); - ~DiffFilesController() override; + ~DiffFilesController() override { cancelReload(); } protected: - void reload() final; virtual QList<ReloadInput> reloadInputList() const = 0; + private: void reloaded(); void cancelReload(); @@ -147,22 +147,16 @@ DiffFilesController::DiffFilesController(IDocument *document) { connect(&m_futureWatcher, &QFutureWatcher<FileData>::finished, this, &DiffFilesController::reloaded); -} - -DiffFilesController::~DiffFilesController() -{ - cancelReload(); -} -void DiffFilesController::reload() -{ - cancelReload(); - m_futureWatcher.setFuture(Utils::map(reloadInputList(), - DiffFile(ignoreWhitespace(), - contextLineCount()))); + setReloader([this] { + cancelReload(); + m_futureWatcher.setFuture(Utils::map(reloadInputList(), + DiffFile(ignoreWhitespace(), + contextLineCount()))); - Core::ProgressManager::addTask(m_futureWatcher.future(), - tr("Calculating diff"), "DiffEditor"); + Core::ProgressManager::addTask(m_futureWatcher.future(), + tr("Calculating diff"), "DiffEditor"); + }); } void DiffFilesController::reloaded() |