summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-04-29 14:17:08 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-04-29 14:17:09 +0200
commit85e3c53e5c5e2de993c90ece324a68d0ff62f417 (patch)
tree6f078576f01f18afcdae773e48664640ce795abe /src/widgets/itemviews
parent2e749c089f6fd93909e7cd4cc8129f2969b35185 (diff)
parent7f943968ade6a65321d4a00822f5b3a034a19e0c (diff)
Merge remote-tracking branch 'origin/stable' into dev
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qitemdelegate.cpp5
-rw-r--r--src/widgets/itemviews/qtableview.cpp11
-rw-r--r--src/widgets/itemviews/qtreeview.cpp2
3 files changed, 13 insertions, 5 deletions
diff --git a/src/widgets/itemviews/qitemdelegate.cpp b/src/widgets/itemviews/qitemdelegate.cpp
index f2c3c4702f..7d8512adc4 100644
--- a/src/widgets/itemviews/qitemdelegate.cpp
+++ b/src/widgets/itemviews/qitemdelegate.cpp
@@ -523,7 +523,10 @@ QWidget *QItemDelegate::createEditor(QWidget *parent,
const QItemEditorFactory *factory = d->f;
if (factory == 0)
factory = QItemEditorFactory::defaultFactory();
- return factory->createEditor(index.data(Qt::EditRole).userType(), parent);
+ QWidget *w = factory->createEditor(index.data(Qt::EditRole).userType(), parent);
+ if (w)
+ w->setFocusPolicy(Qt::WheelFocus);
+ return w;
}
/*!
diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp
index 37c52948b0..471f8b149c 100644
--- a/src/widgets/itemviews/qtableview.cpp
+++ b/src/widgets/itemviews/qtableview.cpp
@@ -1126,10 +1126,15 @@ void QTableView::doItemsLayout()
{
Q_D(QTableView);
QAbstractItemView::doItemsLayout();
- if (verticalScrollMode() == QAbstractItemView::ScrollPerItem)
- d->verticalHeader->setOffsetToSectionPosition(verticalScrollBar()->value());
- else
+ if (verticalScrollMode() == QAbstractItemView::ScrollPerItem) {
+ const int max = verticalScrollBar()->maximum();
+ if (max > 0 && verticalScrollBar()->value() == max)
+ d->verticalHeader->setOffsetToLastSection();
+ else
+ d->verticalHeader->setOffsetToSectionPosition(verticalScrollBar()->value());
+ } else {
d->verticalHeader->setOffset(verticalScrollBar()->value());
+ }
if (!d->verticalHeader->updatesEnabled())
d->verticalHeader->setUpdatesEnabled(true);
}
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index 962ed97762..dd450daaea 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -879,7 +879,7 @@ bool QTreeView::isSortingEnabled() const
\property QTreeView::animated
\brief whether animations are enabled
- If this property is true the treeview will animate expandsion
+ If this property is true the treeview will animate expansion
and collapsing of branches. If this property is false, the treeview
will expand or collapse branches immediately without showing
the animation.