From 91e42710697944375780708b2e8637b2f57608ac Mon Sep 17 00:00:00 2001 From: jkobus Date: Fri, 4 Jul 2014 13:55:51 +0200 Subject: Hide reload button for diff editor when there is no reloader Refactor code a bit. Now DiffEditorController has a pointer to DiffEditorReloader. Change-Id: I224579127f112923bc665cd59717b0c4d833981b Reviewed-by: Orgad Shaneh --- src/plugins/diffeditor/diffeditorcontroller.cpp | 28 +++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'src/plugins/diffeditor/diffeditorcontroller.cpp') diff --git a/src/plugins/diffeditor/diffeditorcontroller.cpp b/src/plugins/diffeditor/diffeditorcontroller.cpp index 1d9d76448f..f1ee5fe1fc 100644 --- a/src/plugins/diffeditor/diffeditorcontroller.cpp +++ b/src/plugins/diffeditor/diffeditorcontroller.cpp @@ -29,6 +29,7 @@ #include "diffeditorconstants.h" #include "diffeditorcontroller.h" +#include "diffeditorreloader.h" #include @@ -44,7 +45,8 @@ DiffEditorController::DiffEditorController(QObject *parent) : QObject(parent), m_descriptionEnabled(false), m_contextLinesNumber(3), - m_ignoreWhitespace(true) + m_ignoreWhitespace(true), + m_reloader(0) { QSettings *s = Core::ICore::settings(); s->beginGroup(QLatin1String(settingsGroupC)); @@ -124,6 +126,27 @@ QString DiffEditorController::makePatch(int diffFileIndex, lastChunk && fileData.lastChunkAtTheEndOfFile); } +DiffEditorReloader *DiffEditorController::reloader() const +{ + return m_reloader; +} + +void DiffEditorController::setReloader(DiffEditorReloader *reloader) +{ + if (m_reloader == reloader) + return; // nothing changes + + if (m_reloader) + m_reloader->setDiffEditorController(0); + + m_reloader = reloader; + + if (m_reloader) + m_reloader->setDiffEditorController(this); + + reloaderChanged(m_reloader); +} + void DiffEditorController::clear() { clear(tr("No difference")); @@ -238,7 +261,8 @@ void DiffEditorController::setIgnoreWhitespace(bool ignore) void DiffEditorController::requestReload() { - emit reloadRequested(); + if (m_reloader) + m_reloader->requestReload(); } void DiffEditorController::requestChunkActions(QMenu *menu, -- cgit v1.2.1