diff options
author | hjk <hjk121@nokiamail.com> | 2014-07-01 10:55:24 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-07-03 11:13:44 +0200 |
commit | 1fd24aa8b7f446a94b3d47b9a36b5ef296833042 (patch) | |
tree | 1b27e7f005c9afe2ccc0db5a6ec3858e851ae65b /src/plugins/debugger/watchwindow.cpp | |
parent | 0544f9dd052a8e214f143c0a19c20cd652892bfb (diff) |
Debugger: Maintain slider position in watch view
Setting column width seems to reset slider positions, needlessly.
Work around.
Change-Id: Ifa6c6a204dd2fbd7ad3dada0c386b697ae7a4100
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Diffstat (limited to 'src/plugins/debugger/watchwindow.cpp')
-rw-r--r-- | src/plugins/debugger/watchwindow.cpp | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp index 2f887680f8..d89513b528 100644 --- a/src/plugins/debugger/watchwindow.cpp +++ b/src/plugins/debugger/watchwindow.cpp @@ -47,17 +47,18 @@ #include <utils/savedaction.h> #include <utils/fancylineedit.h> -#include <QDebug> -#include <QMetaProperty> -#include <QMimeData> - #include <QApplication> #include <QClipboard> +#include <QDebug> #include <QHeaderView> +#include <QInputDialog> #include <QItemDelegate> #include <QMenu> -#include <QInputDialog> #include <QMessageBox> +#include <QMetaProperty> +#include <QMimeData> +#include <QScrollBar> +#include <QTimer> //#define USE_WATCH_MODEL_TEST 1 @@ -1055,6 +1056,23 @@ void WatchTreeView::reset() resetHelper(); } +void WatchTreeView::doItemsLayout() +{ + if (m_sliderPosition == 0) + m_sliderPosition = verticalScrollBar()->sliderPosition(); + Utils::BaseTreeView::doItemsLayout(); + if (m_sliderPosition) + QTimer::singleShot(0, this, SLOT(adjustSlider())); +} + +void WatchTreeView::adjustSlider() +{ + if (m_sliderPosition) { + verticalScrollBar()->setSliderPosition(m_sliderPosition); + m_sliderPosition = 0; + } +} + void WatchTreeView::watchExpression(const QString &exp) { watchExpression(exp, QString()); |