summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/diffeditorcontroller.cpp
diff options
context:
space:
mode:
authorjkobus <jaroslaw.kobus@digia.com>2014-07-04 13:55:51 +0200
committerJarek Kobus <jaroslaw.kobus@digia.com>2014-07-07 10:34:11 +0200
commit91e42710697944375780708b2e8637b2f57608ac (patch)
treea01f7236821adde8c3d108e2a441fee056e98fdb /src/plugins/diffeditor/diffeditorcontroller.cpp
parentcb7963bc18297251bd44480ca9392d16e20e17f8 (diff)
downloadqt-creator-91e42710697944375780708b2e8637b2f57608ac.tar.gz
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 <orgads@gmail.com>
Diffstat (limited to 'src/plugins/diffeditor/diffeditorcontroller.cpp')
-rw-r--r--src/plugins/diffeditor/diffeditorcontroller.cpp28
1 files changed, 26 insertions, 2 deletions
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 <coreplugin/icore.h>
@@ -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,