QAbstractItemView: add iconSizeChanged signal.
This is useful when writing a generic preview-icon-generator which should work with different type of views, itemviews and QML views. A way to be notified of a change of icon size was missing on the itemview side. [ChangeLog][QtWidgets][QAbstractItemView] Added iconSizeChanged signal. Change-Id: I19b3049961002ca27d71aefbb6980d1e6f225c79 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>bb10
parent
31c6d9f04b
commit
de4cad945d
|
|
@ -1538,6 +1538,7 @@ void QAbstractItemView::setIconSize(const QSize &size)
|
|||
return;
|
||||
d->iconSize = size;
|
||||
d->doDelayedItemsLayout();
|
||||
emit iconSizeChanged(size);
|
||||
}
|
||||
|
||||
QSize QAbstractItemView::iconSize() const
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ class Q_WIDGETS_EXPORT QAbstractItemView : public QAbstractScrollArea
|
|||
Q_PROPERTY(bool alternatingRowColors READ alternatingRowColors WRITE setAlternatingRowColors)
|
||||
Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode)
|
||||
Q_PROPERTY(SelectionBehavior selectionBehavior READ selectionBehavior WRITE setSelectionBehavior)
|
||||
Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
|
||||
Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize NOTIFY iconSizeChanged)
|
||||
Q_PROPERTY(Qt::TextElideMode textElideMode READ textElideMode WRITE setTextElideMode)
|
||||
Q_PROPERTY(ScrollMode verticalScrollMode READ verticalScrollMode WRITE setVerticalScrollMode)
|
||||
Q_PROPERTY(ScrollMode horizontalScrollMode READ horizontalScrollMode WRITE setHorizontalScrollMode)
|
||||
|
|
@ -263,6 +263,8 @@ Q_SIGNALS:
|
|||
void entered(const QModelIndex &index);
|
||||
void viewportEntered();
|
||||
|
||||
void iconSizeChanged(const QSize &size);
|
||||
|
||||
protected:
|
||||
QAbstractItemView(QAbstractItemViewPrivate &, QWidget *parent = 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -526,11 +526,16 @@ void tst_QAbstractItemView::basic_tests(TestView *view)
|
|||
// setIconSize
|
||||
view->setIconSize(QSize(16, 16));
|
||||
QCOMPARE(view->iconSize(), QSize(16, 16));
|
||||
QSignalSpy spy(view, &QAbstractItemView::iconSizeChanged);
|
||||
QVERIFY(spy.isValid());
|
||||
view->setIconSize(QSize(32, 32));
|
||||
QCOMPARE(view->iconSize(), QSize(32, 32));
|
||||
QCOMPARE(spy.count(), 1);
|
||||
QCOMPARE(spy.at(0).at(0).value<QSize>(), QSize(32, 32));
|
||||
// Should this happen?
|
||||
view->setIconSize(QSize(-1, -1));
|
||||
QCOMPARE(view->iconSize(), QSize(-1, -1));
|
||||
QCOMPARE(spy.count(), 2);
|
||||
|
||||
QCOMPARE(view->currentIndex(), QModelIndex());
|
||||
QCOMPARE(view->rootIndex(), QModelIndex());
|
||||
|
|
|
|||
Loading…
Reference in New Issue