diff options
author | jkobus <jaroslaw.kobus@digia.com> | 2014-07-11 12:55:31 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@digia.com> | 2014-08-13 15:44:36 +0200 |
commit | 87b5db5562954a756317bc4678f201f11b28212f (patch) | |
tree | bab08a12c078719e548f738f294e3a2b242bfc57 /src/plugins/diffeditor/unifieddiffeditorwidget.cpp | |
parent | b97c9d731e3f003dbd2c68f103183f30c4b586d3 (diff) | |
download | qt-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.cpp | 25 |
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; |