summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorbjørn Lund Martsum <tmartsum@gmail.com>2012-11-22 19:49:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-25 08:29:39 +0100
commit8d4544f00d9b977ac7b5bf8b0c4b783ded4084de (patch)
tree683404f140766bd85fa790f4d1d0bb5de8e4f2d2
parentdfc0fbabe1747e308a5daa8f6d41ff85aa5d86b5 (diff)
QHeaderView: - avoid cursor move on setDefaultSectionSize
If we are reacting on the sectionResized signal and we call setDefaultSectionSize we should ensure that we are not moving the mouse-cursor. This is an improvement of f8f6acb05ce9aa5fccc329bf5587adf14ed9a710 Change-Id: I1adee7821bc8fcc9633f692bfd515f2c458b12c8 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
-rw-r--r--src/widgets/itemviews/qheaderview.cpp2
-rw-r--r--tests/manual/widgets/itemviews/qheaderview/qheaderviewtest1.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 6326b497c5..b909131229 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -3375,6 +3375,8 @@ void QHeaderViewPrivate::setDefaultSectionSize(int size)
executePostedLayout();
invalidateCachedSizeHint();
defaultSectionSize = size;
+ if (state == QHeaderViewPrivate::ResizeSection)
+ preventCursorChangeInSetOffset = true;
for (int i = 0; i < sectionItems.count(); ++i) {
QHeaderViewPrivate::SectionItem &section = sectionItems[i];
if (sectionHidden.isEmpty() || !sectionHidden.testBit(i)) { // resize on not hidden.
diff --git a/tests/manual/widgets/itemviews/qheaderview/qheaderviewtest1.cpp b/tests/manual/widgets/itemviews/qheaderview/qheaderviewtest1.cpp
index 2fc7bbec43..7a8c1d159d 100644
--- a/tests/manual/widgets/itemviews/qheaderview/qheaderviewtest1.cpp
+++ b/tests/manual/widgets/itemviews/qheaderview/qheaderviewtest1.cpp
@@ -65,8 +65,7 @@ void SomeHandler::slotSectionResized(int logsection, int oldsize, int newsize)
m_tv->setUpdatesEnabled(false);
// Do some manual resizing - lets make every section having the new size.
m_hv->blockSignals(true);
- for (int u = 0; u < m_hv->count(); ++u)
- m_hv->resizeSection(u, newsize);
+ m_hv->setDefaultSectionSize(newsize);
m_hv->blockSignals(false);
// Adjust offset and scrollbar. Maybe it isn't 100% perfect