From 8d4544f00d9b977ac7b5bf8b0c4b783ded4084de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= Date: Thu, 22 Nov 2012 19:49:05 +0100 Subject: 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 --- src/widgets/itemviews/qheaderview.cpp | 2 ++ tests/manual/widgets/itemviews/qheaderview/qheaderviewtest1.cpp | 3 +-- 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 §ion = 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 -- cgit v1.2.3