summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/diffeditorplugin.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-02-06 11:52:59 +0100
committerhjk <hjk@qt.io>2020-02-06 11:21:59 +0000
commitb22768e980ef3e5275d98d1ed46d900aaadde904 (patch)
treed6f521d06cce333b2a211d2bb6863d1e08f21b3d /src/plugins/diffeditor/diffeditorplugin.cpp
parent0737291d541e98c4a5ed0d4a058cc64a4227a141 (diff)
downloadqt-creator-b22768e980ef3e5275d98d1ed46d900aaadde904.tar.gz
Diff/Vcs: Use a function object for reloading
Helps with slimming down the user code side. Change-Id: I4b0aac76c0d1516eb05bff9c18594e64f8b41a7a Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/diffeditor/diffeditorplugin.cpp')
-rw-r--r--src/plugins/diffeditor/diffeditorplugin.cpp26
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()