summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
diff options
context:
space:
mode:
authorjkobus <jaroslaw.kobus@digia.com>2014-07-11 12:55:31 +0200
committerJarek Kobus <jaroslaw.kobus@digia.com>2014-08-13 15:44:36 +0200
commit87b5db5562954a756317bc4678f201f11b28212f (patch)
treebab08a12c078719e548f738f294e3a2b242bfc57 /src/plugins/diffeditor/unifieddiffeditorwidget.cpp
parentb97c9d731e3f003dbd2c68f103183f30c4b586d3 (diff)
downloadqt-creator-87b5db5562954a756317bc4678f201f11b28212f.tar.gz
Save / restore state in diff editor when reloading
Task-number: QTCREATORBUG-12650 Change-Id: I0bb25ed39f8a15dd5da798ebf0ce72898a2e3b3d Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src/plugins/diffeditor/unifieddiffeditorwidget.cpp')
-rw-r--r--src/plugins/diffeditor/unifieddiffeditorwidget.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
index 5858fe91ff..3226aa6499 100644
--- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
+++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
@@ -134,6 +134,10 @@ void UnifiedDiffEditorWidget::setDiffEditorGuiController(
this, SLOT(clearAll(QString)));
disconnect(m_controller, SIGNAL(diffFilesChanged(QList<FileData>,QString)),
this, SLOT(setDiff(QList<FileData>,QString)));
+ disconnect(m_controller, SIGNAL(saveStateRequested()),
+ this, SLOT(saveStateRequested()));
+ disconnect(m_controller, SIGNAL(restoreStateRequested()),
+ this, SLOT(restoreStateRequested()));
disconnect(m_guiController, SIGNAL(currentDiffFileIndexChanged(int)),
this, SLOT(setCurrentDiffFileIndex(int)));
@@ -149,6 +153,10 @@ void UnifiedDiffEditorWidget::setDiffEditorGuiController(
this, SLOT(clearAll(QString)));
connect(m_controller, SIGNAL(diffFilesChanged(QList<FileData>,QString)),
this, SLOT(setDiff(QList<FileData>,QString)));
+ connect(m_controller, SIGNAL(saveStateRequested()),
+ this, SLOT(saveStateRequested()));
+ connect(m_controller, SIGNAL(restoreStateRequested()),
+ this, SLOT(restoreStateRequested()));
connect(m_guiController, SIGNAL(currentDiffFileIndexChanged(int)),
this, SLOT(setCurrentDiffFileIndex(int)));
@@ -158,6 +166,23 @@ void UnifiedDiffEditorWidget::setDiffEditorGuiController(
}
}
+void UnifiedDiffEditorWidget::saveStateRequested()
+{
+ if (!m_state.isNull())
+ return;
+
+ m_state = saveState();
+}
+
+void UnifiedDiffEditorWidget::restoreStateRequested()
+{
+ if (m_state.isNull())
+ return;
+
+ restoreState(m_state);
+ m_state.clear();
+}
+
DiffEditorGuiController *UnifiedDiffEditorWidget::diffEditorGuiController() const
{
return m_guiController;