summaryrefslogtreecommitdiffstats
path: root/src/gui/itemviews
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-10-27 11:15:49 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-10-27 11:17:20 (GMT)
commitbc49cbaab3356770eb4b27dcbc2e585bf21e9200 (patch)
tree4e21e292cb4764ec498d6929b9570f4a73fc49fb /src/gui/itemviews
parentca7640ff5e12f9e818d3b8ca38318f0fdcf47e3e (diff)
downloadQt-bc49cbaab3356770eb4b27dcbc2e585bf21e9200.zip
Qt-bc49cbaab3356770eb4b27dcbc2e585bf21e9200.tar.gz
Qt-bc49cbaab3356770eb4b27dcbc2e585bf21e9200.tar.bz2
QTableView would not correctly resize to contents
The problem was that we didn't call ensurePolished when getting the size of the sections. Task-number: QTBUG-1002 Reviewed-by: ogoffart
Diffstat (limited to 'src/gui/itemviews')
-rw-r--r--src/gui/itemviews/qheaderview.cpp2
-rw-r--r--src/gui/itemviews/qtableview.cpp4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index fc9820f..4b5ec71 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -2516,6 +2516,8 @@ QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const
Q_D(const QHeaderView);
Q_ASSERT(logicalIndex >= 0);
+ ensurePolished();
+
// use SizeHintRole
QVariant variant = d->model->headerData(logicalIndex, d->orientation, Qt::SizeHintRole);
if (variant.isValid())
diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp
index 2a937f1..c80faa2 100644
--- a/src/gui/itemviews/qtableview.cpp
+++ b/src/gui/itemviews/qtableview.cpp
@@ -2065,6 +2065,8 @@ int QTableView::sizeHintForRow(int row) const
if (!model())
return -1;
+ ensurePolished();
+
int left = qMax(0, columnAt(0));
int right = columnAt(d->viewport->width());
if (right == -1) // the table don't have enough columns to fill the viewport
@@ -2122,6 +2124,8 @@ int QTableView::sizeHintForColumn(int column) const
if (!model())
return -1;
+ ensurePolished();
+
int top = qMax(0, rowAt(0));
int bottom = rowAt(d->viewport->height());
if (!isVisible() || bottom == -1) // the table don't have enough rows to fill the viewport