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>
This commit is contained in:
jkobus
2014-07-04 13:55:51 +02:00
committed by Jarek Kobus
parent cb7963bc18
commit 91e4271069
8 changed files with 82 additions and 40 deletions

View File

@@ -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,