summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp28
-rw-r--r--src/widgets/itemviews/qabstractitemview_p.h4
-rw-r--r--src/widgets/itemviews/qcolumnview.cpp2
-rw-r--r--src/widgets/itemviews/qitemdelegate.cpp19
-rw-r--r--src/widgets/itemviews/qlistview.cpp18
-rw-r--r--src/widgets/itemviews/qlistview_p.h8
-rw-r--r--src/widgets/itemviews/qstyleditemdelegate.cpp120
-rw-r--r--src/widgets/itemviews/qtableview.cpp22
-rw-r--r--src/widgets/itemviews/qtableview_p.h4
-rw-r--r--src/widgets/itemviews/qtreeview.cpp46
-rw-r--r--src/widgets/itemviews/qtreeview_p.h6
11 files changed, 133 insertions, 144 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index 37617acac2..797f79f016 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -1663,7 +1663,7 @@ bool QAbstractItemView::viewportEvent(QEvent *event)
case QEvent::WhatsThis: {
QHelpEvent *he = static_cast<QHelpEvent*>(event);
const QModelIndex index = indexAt(he->pos());
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
option.rect = visualRect(index);
option.state |= (index == currentIndex() ? QStyle::State_HasFocus : QStyle::State_None);
@@ -1863,7 +1863,7 @@ void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)
emit clicked(index);
if (edited)
return;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
if (d->pressedAlreadySelected)
option.state |= QStyle::State_Selected;
if (style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, &option, this))
@@ -2654,7 +2654,7 @@ void QAbstractItemView::updateEditorGeometries()
Q_D(QAbstractItemView);
if(d->editorIndexHash.isEmpty())
return;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
QEditorIndexHash::iterator it = d->editorIndexHash.begin();
QWidgetList editorsToRelease;
QWidgetList editorsToHide;
@@ -2997,7 +2997,7 @@ QSize QAbstractItemView::sizeHintForIndex(const QModelIndex &index) const
Q_D(const QAbstractItemView);
if (!d->isIndexValid(index) || !d->itemDelegate)
return QSize();
- return d->delegateForIndex(index)->sizeHint(d->viewOptionsV4(), index);
+ return d->delegateForIndex(index)->sizeHint(d->viewOptions(), index);
}
/*!
@@ -3025,7 +3025,7 @@ int QAbstractItemView::sizeHintForRow(int row) const
ensurePolished();
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
int height = 0;
int colCount = d->model->columnCount(d->root);
QModelIndex index;
@@ -3056,7 +3056,7 @@ int QAbstractItemView::sizeHintForColumn(int column) const
ensurePolished();
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
int width = 0;
int rows = d->model->rowCount(d->root);
QModelIndex index;
@@ -3079,7 +3079,7 @@ int QAbstractItemView::sizeHintForColumn(int column) const
void QAbstractItemView::openPersistentEditor(const QModelIndex &index)
{
Q_D(QAbstractItemView);
- QStyleOptionViewItemV4 options = d->viewOptionsV4();
+ QStyleOptionViewItem options = d->viewOptions();
options.rect = visualRect(index);
options.state |= (index == currentIndex() ? QStyle::State_HasFocus : QStyle::State_None);
@@ -3617,13 +3617,13 @@ void QAbstractItemView::startDrag(Qt::DropActions supportedActions)
QStyleOptionViewItem QAbstractItemView::viewOptions() const
{
Q_D(const QAbstractItemView);
- return d->viewOptionsV4();
+ return d->viewOptions();
}
-QStyleOptionViewItemV4 QAbstractItemViewPrivate::viewOptionsV4() const
+QStyleOptionViewItem QAbstractItemViewPrivate::viewOptions() const
{
Q_Q(const QAbstractItemView);
- QStyleOptionViewItemV4 option;
+ QStyleOptionViewItem option;
option.init(q);
option.state &= ~QStyle::State_MouseOver;
option.font = q->font();
@@ -3649,7 +3649,7 @@ QStyleOptionViewItemV4 QAbstractItemViewPrivate::viewOptionsV4() const
option.rect = QRect();
option.showDecorationSelected = q->style()->styleHint(QStyle::SH_ItemView_ShowDecorationSelected, 0, q);
if (wrapItemText)
- option.features = QStyleOptionViewItemV2::WrapText;
+ option.features = QStyleOptionViewItem::WrapText;
option.locale = q->locale();
option.locale.setNumberOptions(QLocale::OmitGroupSeparator);
option.widget = q;
@@ -4243,7 +4243,7 @@ bool QAbstractItemViewPrivate::sendDelegateEvent(const QModelIndex &index, QEven
{
Q_Q(const QAbstractItemView);
QModelIndex buddy = model->buddy(index);
- QStyleOptionViewItemV4 options = viewOptionsV4();
+ QStyleOptionViewItem options = viewOptions();
options.rect = q->visualRect(buddy);
options.state |= (buddy == q->currentIndex() ? QStyle::State_HasFocus : QStyle::State_None);
QAbstractItemDelegate *delegate = delegateForIndex(index);
@@ -4255,7 +4255,7 @@ bool QAbstractItemViewPrivate::openEditor(const QModelIndex &index, QEvent *even
Q_Q(QAbstractItemView);
QModelIndex buddy = model->buddy(index);
- QStyleOptionViewItemV4 options = viewOptionsV4();
+ QStyleOptionViewItem options = viewOptions();
options.rect = q->visualRect(buddy);
options.state |= (buddy == q->currentIndex() ? QStyle::State_HasFocus : QStyle::State_None);
@@ -4307,7 +4307,7 @@ QPixmap QAbstractItemViewPrivate::renderToPixmap(const QModelIndexList &indexes,
QPixmap pixmap(r->size());
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
- QStyleOptionViewItemV4 option = viewOptionsV4();
+ QStyleOptionViewItem option = viewOptions();
option.state |= QStyle::State_Selected;
for (int j = 0; j < paintPairs.count(); ++j) {
option.rect = paintPairs.at(j).first.translated(-r->topLeft());
diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h
index 4575dd3847..7ed9e73324 100644
--- a/src/widgets/itemviews/qabstractitemview_p.h
+++ b/src/widgets/itemviews/qabstractitemview_p.h
@@ -197,7 +197,7 @@ public:
#endif
virtual QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const;
// reimplemented in subclasses
- virtual void adjustViewOptionsForIndex(QStyleOptionViewItemV4*, const QModelIndex&) const {}
+ virtual void adjustViewOptionsForIndex(QStyleOptionViewItem*, const QModelIndex&) const {}
inline void releaseEditor(QWidget *editor, const QModelIndex &index = QModelIndex()) const {
if (editor) {
@@ -345,7 +345,7 @@ public:
QModelIndexList selectedDraggableIndexes() const;
- QStyleOptionViewItemV4 viewOptionsV4() const;
+ QStyleOptionViewItem viewOptions() const;
void doDelayedReset()
{
diff --git a/src/widgets/itemviews/qcolumnview.cpp b/src/widgets/itemviews/qcolumnview.cpp
index 24b25ccb8a..a9ed7efeb2 100644
--- a/src/widgets/itemviews/qcolumnview.cpp
+++ b/src/widgets/itemviews/qcolumnview.cpp
@@ -1134,7 +1134,7 @@ void QColumnViewDelegate::paint(QPainter *painter,
bool reverse = (option.direction == Qt::RightToLeft);
int width = ((option.rect.height() * 2) / 3);
// Modify the options to give us room to add an arrow
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
if (reverse)
opt.rect.adjust(width,0,0,0);
else
diff --git a/src/widgets/itemviews/qitemdelegate.cpp b/src/widgets/itemviews/qitemdelegate.cpp
index 2972202406..fde800b1e8 100644
--- a/src/widgets/itemviews/qitemdelegate.cpp
+++ b/src/widgets/itemviews/qitemdelegate.cpp
@@ -111,24 +111,21 @@ public:
return text;
}
- static QString valueToText(const QVariant &value, const QStyleOptionViewItemV4 &option);
+ static QString valueToText(const QVariant &value, const QStyleOptionViewItem &option);
void _q_commitDataAndCloseEditor(QWidget *editor);
QItemEditorFactory *f;
bool clipPainting;
- QRect textLayoutBounds(const QStyleOptionViewItemV2 &options) const;
+ QRect textLayoutBounds(const QStyleOptionViewItem &options) const;
QSizeF doTextLayout(int lineWidth) const;
mutable QTextLayout textLayout;
mutable QTextOption textOption;
const QWidget *widget(const QStyleOptionViewItem &option) const
{
- if (const QStyleOptionViewItemV3 *v3 = qstyleoption_cast<const QStyleOptionViewItemV3 *>(&option))
- return v3->widget;
-
- return 0;
+ return option.widget;
}
// ### temporary hack until we have QStandardItemDelegate
@@ -146,10 +143,10 @@ void QItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget *editor)
emit q->closeEditor(editor, QAbstractItemDelegate::SubmitModelCache);
}
-QRect QItemDelegatePrivate::textLayoutBounds(const QStyleOptionViewItemV2 &option) const
+QRect QItemDelegatePrivate::textLayoutBounds(const QStyleOptionViewItem &option) const
{
QRect rect = option.rect;
- const bool wrapText = option.features & QStyleOptionViewItemV2::WrapText;
+ const bool wrapText = option.features & QStyleOptionViewItem::WrapText;
switch (option.decorationPosition) {
case QStyleOptionViewItem::Left:
case QStyleOptionViewItem::Right:
@@ -353,7 +350,7 @@ void QItemDelegate::setClipping(bool clip)
d->clipPainting = clip;
}
-QString QItemDelegatePrivate::valueToText(const QVariant &value, const QStyleOptionViewItemV4 &option)
+QString QItemDelegatePrivate::valueToText(const QVariant &value, const QStyleOptionViewItem &option)
{
QString text;
switch (value.userType()) {
@@ -667,13 +664,13 @@ void QItemDelegate::drawDisplay(QPainter *painter, const QStyleOptionViewItem &o
painter->restore();
}
- const QStyleOptionViewItemV4 opt = option;
+ const QStyleOptionViewItem opt = option;
const QWidget *widget = d->widget(option);
QStyle *style = widget ? widget->style() : QApplication::style();
const int textMargin = style->pixelMetric(QStyle::PM_FocusFrameHMargin, 0, widget) + 1;
QRect textRect = rect.adjusted(textMargin, 0, -textMargin, 0); // remove width padding
- const bool wrapText = opt.features & QStyleOptionViewItemV2::WrapText;
+ const bool wrapText = opt.features & QStyleOptionViewItem::WrapText;
d->textOption.setWrapMode(wrapText ? QTextOption::WordWrap : QTextOption::ManualWrap);
d->textOption.setTextDirection(option.direction);
d->textOption.setAlignment(QStyle::visualAlignment(option.direction, option.displayAlignment));
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp
index 1b41b5f0fa..52b0c823e6 100644
--- a/src/widgets/itemviews/qlistview.cpp
+++ b/src/widgets/itemviews/qlistview.cpp
@@ -926,7 +926,7 @@ void QListView::paintEvent(QPaintEvent *e)
Q_D(QListView);
if (!d->itemDelegate)
return;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
QPainter painter(d->viewport);
const QVector<QModelIndex> toBeRendered = d->intersectingSet(e->rect().translated(horizontalOffset(), verticalOffset()), false);
@@ -995,9 +995,9 @@ void QListView::paintEvent(QPaintEvent *e)
}
}
if (alternateBase) {
- option.features |= QStyleOptionViewItemV2::Alternate;
+ option.features |= QStyleOptionViewItem::Alternate;
} else {
- option.features &= ~QStyleOptionViewItemV2::Alternate;
+ option.features &= ~QStyleOptionViewItem::Alternate;
}
// draw background of the item (only alternate row). rest of the background
@@ -1455,7 +1455,7 @@ void QListView::updateGeometries()
verticalScrollBar()->setRange(0, 0);
} else {
QModelIndex index = d->model->index(0, d->column, d->root);
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
QSize step = d->itemSize(option, index);
d->commonListView->updateHorizontalScrollBar(step);
d->commonListView->updateVerticalScrollBar(step);
@@ -2262,7 +2262,7 @@ QListViewItem QListModeViewBase::indexToListViewItem(const QModelIndex &index) c
0, segmentStartRows.count() - 1);
- QStyleOptionViewItemV4 options = viewOptions();
+ QStyleOptionViewItem options = viewOptions();
options.rect.setSize(contentsSize);
QSize size = (uniformItemSizes() && cachedItemSize().isValid())
? cachedItemSize() : itemSize(options, index);
@@ -2327,7 +2327,7 @@ void QListModeViewBase::doStaticLayout(const QListViewLayoutInfo &info)
{
const bool useItemSize = !info.grid.isValid();
const QPoint topLeft = initStaticLayout(info);
- QStyleOptionViewItemV4 option = viewOptions();
+ QStyleOptionViewItem option = viewOptions();
option.rect = info.bounds;
option.rect.adjust(info.spacing, info.spacing, -info.spacing, -info.spacing);
@@ -2649,7 +2649,7 @@ void QIconModeViewBase::paintDragDrop(QPainter *painter)
if (!draggedItems.isEmpty() && viewport()->rect().contains(draggedItemsPos)) {
//we need to draw the items that arre dragged
painter->translate(draggedItemsDelta());
- QStyleOptionViewItemV4 option = viewOptions();
+ QStyleOptionViewItem option = viewOptions();
option.state &= ~QStyle::State_MouseOver;
QVector<QModelIndex>::const_iterator it = draggedItems.constBegin();
QListViewItem item = indexToListViewItem(*it);
@@ -2791,7 +2791,7 @@ void QIconModeViewBase::scrollContentsBy(int dx, int dy, bool scrollElasticBand)
void QIconModeViewBase::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
{
if (column() >= topLeft.column() && column() <= bottomRight.column()) {
- QStyleOptionViewItemV4 option = viewOptions();
+ QStyleOptionViewItem option = viewOptions();
int bottom = qMin(items.count(), bottomRight.row() + 1);
for (int row = topLeft.row(); row < bottom; ++row)
items[row].resize(itemSize(option, modelIndex(row)));
@@ -2802,7 +2802,7 @@ bool QIconModeViewBase::doBatchedItemLayout(const QListViewLayoutInfo &info, int
{
if (info.last >= items.count()) {
//first we create the items
- QStyleOptionViewItemV4 option = viewOptions();
+ QStyleOptionViewItem option = viewOptions();
for (int row = items.count(); row <= info.last; ++row) {
QSize size = itemSize(option, modelIndex(row));
QListViewItem item(QRect(0, 0, size.width(), size.height()), row); // default pos
diff --git a/src/widgets/itemviews/qlistview_p.h b/src/widgets/itemviews/qlistview_p.h
index 3ba132afd1..d1dbfe0f47 100644
--- a/src/widgets/itemviews/qlistview_p.h
+++ b/src/widgets/itemviews/qlistview_p.h
@@ -175,13 +175,13 @@ public:
inline QModelIndex modelIndex(int row) const;
inline int rowCount() const;
- inline QStyleOptionViewItemV4 viewOptions() const;
+ inline QStyleOptionViewItem viewOptions() const;
inline QWidget *viewport() const;
inline QRect clipRect() const;
inline QSize cachedItemSize() const;
inline QRect viewItemRect(const QListViewItem &item) const;
- inline QSize itemSize(const QStyleOptionViewItemV2 &opt, const QModelIndex &idx) const;
+ inline QSize itemSize(const QStyleOptionViewItem &opt, const QModelIndex &idx) const;
inline QAbstractItemDelegate *delegate(const QModelIndex &idx) const;
inline bool isHidden(int row) const;
@@ -468,13 +468,13 @@ inline QModelIndex QCommonListViewBase::modelIndex(int row) const
{ return dd->model->index(row, dd->column, dd->root); }
inline int QCommonListViewBase::rowCount() const { return dd->model->rowCount(dd->root); }
-inline QStyleOptionViewItemV4 QCommonListViewBase::viewOptions() const { return dd->viewOptionsV4(); }
+inline QStyleOptionViewItem QCommonListViewBase::viewOptions() const { return dd->viewOptions(); }
inline QWidget *QCommonListViewBase::viewport() const { return dd->viewport; }
inline QRect QCommonListViewBase::clipRect() const { return dd->clipRect(); }
inline QSize QCommonListViewBase::cachedItemSize() const { return dd->cachedItemSize; }
inline QRect QCommonListViewBase::viewItemRect(const QListViewItem &item) const { return dd->viewItemRect(item); }
-inline QSize QCommonListViewBase::itemSize(const QStyleOptionViewItemV2 &opt, const QModelIndex &idx) const
+inline QSize QCommonListViewBase::itemSize(const QStyleOptionViewItem &opt, const QModelIndex &idx) const
{ return dd->itemSize(opt, idx); }
inline QAbstractItemDelegate *QCommonListViewBase::delegate(const QModelIndex &idx) const
diff --git a/src/widgets/itemviews/qstyleditemdelegate.cpp b/src/widgets/itemviews/qstyleditemdelegate.cpp
index fce80341e1..3d4a73ef0e 100644
--- a/src/widgets/itemviews/qstyleditemdelegate.cpp
+++ b/src/widgets/itemviews/qstyleditemdelegate.cpp
@@ -89,9 +89,7 @@ public:
static const QWidget *widget(const QStyleOptionViewItem &option)
{
- if (const QStyleOptionViewItemV3 *v3 = qstyleoption_cast<const QStyleOptionViewItemV3 *>(&option))
- return v3->widget;
- return 0;
+ return option.widget;
}
const QItemEditorFactory *editorFactory() const
@@ -315,9 +313,7 @@ QString QStyledItemDelegate::displayText(const QVariant &value, const QLocale& l
/*!
Initialize \a option with the values using the index \a index. This method
is useful for subclasses when they need a QStyleOptionViewItem, but don't want
- to fill in all the information themselves. This function will check the version
- of the QStyleOptionViewItem and fill in the additional values for a
- QStyleOptionViewItemV2, QStyleOptionViewItemV3 and QStyleOptionViewItemV4.
+ to fill in all the information themselves.
\sa QStyleOption::initFrom()
*/
@@ -338,62 +334,60 @@ void QStyledItemDelegate::initStyleOption(QStyleOptionViewItem *option,
if (value.canConvert<QBrush>())
option->palette.setBrush(QPalette::Text, qvariant_cast<QBrush>(value));
- if (QStyleOptionViewItemV4 *v4 = qstyleoption_cast<QStyleOptionViewItemV4 *>(option)) {
- v4->index = index;
- QVariant value = index.data(Qt::CheckStateRole);
- if (value.isValid() && !value.isNull()) {
- v4->features |= QStyleOptionViewItemV2::HasCheckIndicator;
- v4->checkState = static_cast<Qt::CheckState>(value.toInt());
- }
+ option->index = index;
+ value = index.data(Qt::CheckStateRole);
+ if (value.isValid() && !value.isNull()) {
+ option->features |= QStyleOptionViewItem::HasCheckIndicator;
+ option->checkState = static_cast<Qt::CheckState>(value.toInt());
+ }
- value = index.data(Qt::DecorationRole);
- if (value.isValid() && !value.isNull()) {
- v4->features |= QStyleOptionViewItemV2::HasDecoration;
- switch (value.type()) {
- case QVariant::Icon: {
- v4->icon = qvariant_cast<QIcon>(value);
- QIcon::Mode mode;
- if (!(option->state & QStyle::State_Enabled))
- mode = QIcon::Disabled;
- else if (option->state & QStyle::State_Selected)
- mode = QIcon::Selected;
- else
- mode = QIcon::Normal;
- QIcon::State state = option->state & QStyle::State_Open ? QIcon::On : QIcon::Off;
- v4->decorationSize = v4->icon.actualSize(option->decorationSize, mode, state);
- break;
- }
- case QVariant::Color: {
- QPixmap pixmap(option->decorationSize);
- pixmap.fill(qvariant_cast<QColor>(value));
- v4->icon = QIcon(pixmap);
- break;
- }
- case QVariant::Image: {
- QImage image = qvariant_cast<QImage>(value);
- v4->icon = QIcon(QPixmap::fromImage(image));
- v4->decorationSize = image.size();
- break;
- }
- case QVariant::Pixmap: {
- QPixmap pixmap = qvariant_cast<QPixmap>(value);
- v4->icon = QIcon(pixmap);
- v4->decorationSize = pixmap.size();
- break;
- }
- default:
- break;
- }
+ value = index.data(Qt::DecorationRole);
+ if (value.isValid() && !value.isNull()) {
+ option->features |= QStyleOptionViewItem::HasDecoration;
+ switch (value.type()) {
+ case QVariant::Icon: {
+ option->icon = qvariant_cast<QIcon>(value);
+ QIcon::Mode mode;
+ if (!(option->state & QStyle::State_Enabled))
+ mode = QIcon::Disabled;
+ else if (option->state & QStyle::State_Selected)
+ mode = QIcon::Selected;
+ else
+ mode = QIcon::Normal;
+ QIcon::State state = option->state & QStyle::State_Open ? QIcon::On : QIcon::Off;
+ option->decorationSize = option->icon.actualSize(option->decorationSize, mode, state);
+ break;
}
-
- value = index.data(Qt::DisplayRole);
- if (value.isValid() && !value.isNull()) {
- v4->features |= QStyleOptionViewItemV2::HasDisplay;
- v4->text = displayText(value, v4->locale);
+ case QVariant::Color: {
+ QPixmap pixmap(option->decorationSize);
+ pixmap.fill(qvariant_cast<QColor>(value));
+ option->icon = QIcon(pixmap);
+ break;
+ }
+ case QVariant::Image: {
+ QImage image = qvariant_cast<QImage>(value);
+ option->icon = QIcon(QPixmap::fromImage(image));
+ option->decorationSize = image.size();
+ break;
}
+ case QVariant::Pixmap: {
+ QPixmap pixmap = qvariant_cast<QPixmap>(value);
+ option->icon = QIcon(pixmap);
+ option->decorationSize = pixmap.size();
+ break;
+ }
+ default:
+ break;
+ }
+ }
- v4->backgroundBrush = qvariant_cast<QBrush>(index.data(Qt::BackgroundRole));
+ value = index.data(Qt::DisplayRole);
+ if (value.isValid() && !value.isNull()) {
+ option->features |= QStyleOptionViewItem::HasDisplay;
+ option->text = displayText(value, option->locale);
}
+
+ option->backgroundBrush = qvariant_cast<QBrush>(index.data(Qt::BackgroundRole));
}
/*!
@@ -404,9 +398,7 @@ void QStyledItemDelegate::initStyleOption(QStyleOptionViewItem *option,
When reimplementing paint in a subclass. Use the initStyleOption()
to set up the \a option in the same way as the
- QStyledItemDelegate; the option will always be an instance of
- QStyleOptionViewItemV4. Please see its class description for
- information on its contents.
+ QStyledItemDelegate.
Whenever possible, use the \a option while painting.
Especially its \l{QStyleOption::}{rect} variable to decide
@@ -425,7 +417,7 @@ void QStyledItemDelegate::paint(QPainter *painter,
{
Q_ASSERT(index.isValid());
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
initStyleOption(&opt, index);
const QWidget *widget = QStyledItemDelegatePrivate::widget(option);
@@ -450,7 +442,7 @@ QSize QStyledItemDelegate::sizeHint(const QStyleOptionViewItem &option,
if (value.isValid())
return qvariant_cast<QSize>(value);
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
initStyleOption(&opt, index);
const QWidget *widget = QStyledItemDelegatePrivate::widget(option);
QStyle *style = widget ? widget->style() : QApplication::style();
@@ -544,7 +536,7 @@ void QStyledItemDelegate::updateEditorGeometry(QWidget *editor,
Q_ASSERT(index.isValid());
const QWidget *widget = QStyledItemDelegatePrivate::widget(option);
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
initStyleOption(&opt, index);
// let the editor take up all available space
//if the editor is not a QLineEdit
@@ -723,7 +715,7 @@ bool QStyledItemDelegate::editorEvent(QEvent *event,
if ((event->type() == QEvent::MouseButtonRelease)
|| (event->type() == QEvent::MouseButtonDblClick)
|| (event->type() == QEvent::MouseButtonPress)) {
- QStyleOptionViewItemV4 viewOpt(option);
+ QStyleOptionViewItem viewOpt(option);
initStyleOption(&viewOpt, index);
QRect checkRect = style->subElementRect(QStyle::SE_ItemViewItemCheckIndicator, &viewOpt, widget);
QMouseEvent *me = static_cast<QMouseEvent*>(event);
diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp
index b851907b08..a70103efd1 100644
--- a/src/widgets/itemviews/qtableview.cpp
+++ b/src/widgets/itemviews/qtableview.cpp
@@ -797,7 +797,7 @@ QRect QTableViewPrivate::visualSpanRect(const QSpanCollection::Span &span) const
\a drawn is a QBitArray of visualRowCountxvisualCoulumnCount which say if particular cell has been drawn
*/
void QTableViewPrivate::drawAndClipSpans(const QRegion &area, QPainter *painter,
- const QStyleOptionViewItemV4 &option, QBitArray *drawn,
+ const QStyleOptionViewItem &option, QBitArray *drawn,
int firstVisualRow, int lastVisualRow, int firstVisualColumn, int lastVisualColumn)
{
bool alternateBase = false;
@@ -828,13 +828,13 @@ void QTableViewPrivate::drawAndClipSpans(const QRegion &area, QPainter *painter,
rect.translate(scrollDelayOffset);
if (!area.intersects(rect))
continue;
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
opt.rect = rect;
alternateBase = alternatingColors && (span->top() & 1);
if (alternateBase)
- opt.features |= QStyleOptionViewItemV2::Alternate;
+ opt.features |= QStyleOptionViewItem::Alternate;
else
- opt.features &= ~QStyleOptionViewItemV2::Alternate;
+ opt.features &= ~QStyleOptionViewItem::Alternate;
drawCell(painter, opt, index);
region -= rect;
for (int r = span->top(); r <= span->bottom(); ++r) {
@@ -898,10 +898,10 @@ void QTableViewPrivate::_q_updateSpanRemovedColumns(const QModelIndex &parent, i
\internal
Draws a table cell.
*/
-void QTableViewPrivate::drawCell(QPainter *painter, const QStyleOptionViewItemV4 &option, const QModelIndex &index)
+void QTableViewPrivate::drawCell(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index)
{
Q_Q(QTableView);
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
if (selectionModel && selectionModel->isSelected(index))
opt.state |= QStyle::State_Selected;
@@ -1307,7 +1307,7 @@ void QTableView::paintEvent(QPaintEvent *event)
{
Q_D(QTableView);
// setup temp variables for the painting
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
const QPoint offset = d->scrollDelayOffset;
const bool showGrid = d->showGrid;
const int gridSize = showGrid ? 1 : 0;
@@ -1423,9 +1423,9 @@ void QTableView::paintEvent(QPaintEvent *event)
option.rect = QRect(colp + (showGrid && rightToLeft ? 1 : 0), rowY, colw, rowh);
if (alternate) {
if (alternateBase)
- option.features |= QStyleOptionViewItemV2::Alternate;
+ option.features |= QStyleOptionViewItem::Alternate;
else
- option.features &= ~QStyleOptionViewItemV2::Alternate;
+ option.features &= ~QStyleOptionViewItem::Alternate;
}
d->drawCell(&painter, option, index);
}
@@ -2177,7 +2177,7 @@ int QTableView::sizeHintForRow(int row) const
if (right == -1) // the table don't have enough columns to fill the viewport
right = d->model->columnCount(d->root) - 1;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
int hint = 0;
QModelIndex index;
@@ -2236,7 +2236,7 @@ int QTableView::sizeHintForColumn(int column) const
if (!isVisible() || bottom == -1) // the table don't have enough rows to fill the viewport
bottom = d->model->rowCount(d->root) - 1;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
int hint = 0;
QModelIndex index;
diff --git a/src/widgets/itemviews/qtableview_p.h b/src/widgets/itemviews/qtableview_p.h
index 13e526f93a..ea1dbdca13 100644
--- a/src/widgets/itemviews/qtableview_p.h
+++ b/src/widgets/itemviews/qtableview_p.h
@@ -176,9 +176,9 @@ public:
int sectionSpanSize(const QHeaderView *header, int logical, int span) const;
bool spanContainsSection(const QHeaderView *header, int logical, int spanLogical, int span) const;
void drawAndClipSpans(const QRegion &area, QPainter *painter,
- const QStyleOptionViewItemV4 &option, QBitArray *drawn,
+ const QStyleOptionViewItem &option, QBitArray *drawn,
int firstVisualRow, int lastVisualRow, int firstVisualColumn, int lastVisualColumn);
- void drawCell(QPainter *painter, const QStyleOptionViewItemV4 &option, const QModelIndex &index);
+ void drawCell(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index);
bool showGrid;
Qt::PenStyle gridStyle;
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index 9477301f35..92a143d36a 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -1284,7 +1284,7 @@ void QTreeView::paintEvent(QPaintEvent *event)
}
}
-void QTreeViewPrivate::paintAlternatingRowColors(QPainter *painter, QStyleOptionViewItemV4 *option, int y, int bottom) const
+void QTreeViewPrivate::paintAlternatingRowColors(QPainter *painter, QStyleOptionViewItem *option, int y, int bottom) const
{
Q_Q(const QTreeView);
if (!alternatingColors || !q->style()->styleHint(QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea, option, q))
@@ -1298,9 +1298,9 @@ void QTreeViewPrivate::paintAlternatingRowColors(QPainter *painter, QStyleOption
while (y <= bottom) {
option->rect.setRect(0, y, viewport->width(), rowHeight);
if (current & 1) {
- option->features |= QStyleOptionViewItemV2::Alternate;
+ option->features |= QStyleOptionViewItem::Alternate;
} else {
- option->features &= ~QStyleOptionViewItemV2::Alternate;
+ option->features &= ~QStyleOptionViewItem::Alternate;
}
++current;
q->style()->drawPrimitive(QStyle::PE_PanelItemViewRow, option, painter, q);
@@ -1360,7 +1360,7 @@ QItemViewPaintPairs QTreeViewPrivate::draggablePaintPairs(const QModelIndexList
return QAbstractItemViewPrivate::draggablePaintPairs(list, r);
}
-void QTreeViewPrivate::adjustViewOptionsForIndex(QStyleOptionViewItemV4 *option, const QModelIndex &current) const
+void QTreeViewPrivate::adjustViewOptionsForIndex(QStyleOptionViewItem *option, const QModelIndex &current) const
{
const int row = viewIndex(current); // get the index in viewItems[]
option->state = option->state | (viewItems.at(row).expanded ? QStyle::State_Open : QStyle::State_None)
@@ -1371,7 +1371,7 @@ void QTreeViewPrivate::adjustViewOptionsForIndex(QStyleOptionViewItemV4 *option,
|| option->showDecorationSelected;
QVector<int> logicalIndices; // index = visual index of visible columns only. data = logical index.
- QVector<QStyleOptionViewItemV4::ViewItemPosition> viewItemPosList; // vector of left/middle/end for each logicalIndex, visible columns only.
+ QVector<QStyleOptionViewItem::ViewItemPosition> viewItemPosList; // vector of left/middle/end for each logicalIndex, visible columns only.
const bool spanning = viewItems.at(row).spanning;
const int left = (spanning ? header->visualIndex(0) : 0);
const int right = (spanning ? header->visualIndex(0) : header->count() - 1 );
@@ -1401,7 +1401,7 @@ void QTreeView::drawTree(QPainter *painter, const QRegion &region) const
Q_D(const QTreeView);
const QVector<QTreeViewItem> viewItems = d->viewItems;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
const QStyle::State state = option.state;
d->current = 0;
@@ -1473,12 +1473,12 @@ static inline bool ancestorOf(QObject *widget, QObject *other)
return false;
}
-void QTreeViewPrivate::calcLogicalIndices(QVector<int> *logicalIndices, QVector<QStyleOptionViewItemV4::ViewItemPosition> *itemPositions, int left, int right) const
+void QTreeViewPrivate::calcLogicalIndices(QVector<int> *logicalIndices, QVector<QStyleOptionViewItem::ViewItemPosition> *itemPositions, int left, int right) const
{
const int columnCount = header->count();
/* 'left' and 'right' are the left-most and right-most visible visual indices.
Compute the first visible logical indices before and after the left and right.
- We will use these values to determine the QStyleOptionViewItemV4::viewItemPosition. */
+ We will use these values to determine the QStyleOptionViewItem::viewItemPosition. */
int logicalIndexBeforeLeft = -1, logicalIndexAfterRight = -1;
for (int visualIndex = left - 1; visualIndex >= 0; --visualIndex) {
int logicalIndex = header->logicalIndex(visualIndex);
@@ -1509,16 +1509,16 @@ void QTreeViewPrivate::calcLogicalIndices(QVector<int> *logicalIndices, QVector<
int prevLogicalSection = currentLogicalSection - 1 < 0
? logicalIndexBeforeLeft
: logicalIndices->at(currentLogicalSection - 1);
- QStyleOptionViewItemV4::ViewItemPosition pos;
+ QStyleOptionViewItem::ViewItemPosition pos;
if (columnCount == 1 || (nextLogicalSection == 0 && prevLogicalSection == -1)
|| (headerSection == 0 && nextLogicalSection == -1) || spanning)
- pos = QStyleOptionViewItemV4::OnlyOne;
+ pos = QStyleOptionViewItem::OnlyOne;
else if (headerSection == 0 || (nextLogicalSection != 0 && prevLogicalSection == -1))
- pos = QStyleOptionViewItemV4::Beginning;
+ pos = QStyleOptionViewItem::Beginning;
else if (nextLogicalSection == 0 || nextLogicalSection == -1)
- pos = QStyleOptionViewItemV4::End;
+ pos = QStyleOptionViewItem::End;
else
- pos = QStyleOptionViewItemV4::Middle;
+ pos = QStyleOptionViewItem::Middle;
(*itemPositions)[currentLogicalSection] = pos;
}
}
@@ -1535,7 +1535,7 @@ void QTreeView::drawRow(QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
Q_D(const QTreeView);
- QStyleOptionViewItemV4 opt = option;
+ QStyleOptionViewItem opt = option;
const QPoint offset = d->scrollDelayOffset;
const int y = option.rect.y() + offset.y();
const QModelIndex parent = index.parent();
@@ -1597,7 +1597,7 @@ void QTreeView::drawRow(QPainter *painter, const QStyleOptionViewItem &option,
&& index.row() == hover.row();
QVector<int> logicalIndices;
- QVector<QStyleOptionViewItemV4::ViewItemPosition> viewItemPosList; // vector of left/middle/end for each logicalIndex
+ QVector<QStyleOptionViewItem::ViewItemPosition> viewItemPosList; // vector of left/middle/end for each logicalIndex
d->calcLogicalIndices(&logicalIndices, &viewItemPosList, left, right);
for (int currentLogicalSection = 0; currentLogicalSection < logicalIndices.count(); ++currentLogicalSection) {
@@ -1655,9 +1655,9 @@ void QTreeView::drawRow(QPainter *painter, const QStyleOptionViewItem &option,
if (alternate) {
if (d->current & 1) {
- opt.features |= QStyleOptionViewItemV2::Alternate;
+ opt.features |= QStyleOptionViewItem::Alternate;
} else {
- opt.features &= ~QStyleOptionViewItemV2::Alternate;
+ opt.features &= ~QStyleOptionViewItem::Alternate;
}
}
@@ -1746,7 +1746,7 @@ void QTreeView::drawBranches(QPainter *painter, const QRect &rect,
QModelIndex current = parent;
QModelIndex ancestor = current.parent();
- QStyleOptionViewItemV2 opt = viewOptions();
+ QStyleOptionViewItem opt = viewOptions();
QStyle::State extraFlags = QStyle::State_None;
if (isEnabled())
extraFlags |= QStyle::State_Enabled;
@@ -1758,9 +1758,9 @@ void QTreeView::drawBranches(QPainter *painter, const QRect &rect,
if (d->alternatingColors) {
if (d->current & 1) {
- opt.features |= QStyleOptionViewItemV2::Alternate;
+ opt.features |= QStyleOptionViewItem::Alternate;
} else {
- opt.features &= ~QStyleOptionViewItemV2::Alternate;
+ opt.features &= ~QStyleOptionViewItem::Alternate;
}
}
@@ -2732,7 +2732,7 @@ int QTreeView::sizeHintForColumn(int column) const
return -1;
ensurePolished();
int w = 0;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
const QVector<QTreeViewItem> viewItems = d->viewItems;
int start = 0;
@@ -2799,7 +2799,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const
qSwap(end, start);
int height = -1;
- QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ QStyleOptionViewItem option = d->viewOptions();
// ### If we want word wrapping in the items,
// ### we need to go through all the columns
// ### and set the width of the column
@@ -3069,7 +3069,7 @@ QPixmap QTreeViewPrivate::renderTreeToPixmapForAnimation(const QRect &rect) cons
painter.end();
//and now let's render the editors the editors
- QStyleOptionViewItemV4 option = viewOptionsV4();
+ QStyleOptionViewItem option = viewOptions();
for (QEditorIndexHash::const_iterator it = editorIndexHash.constBegin(); it != editorIndexHash.constEnd(); ++it) {
QWidget *editor = it.key();
const QModelIndex &index = it.value();
diff --git a/src/widgets/itemviews/qtreeview_p.h b/src/widgets/itemviews/qtreeview_p.h
index 091420e49e..6e41a56d80 100644
--- a/src/widgets/itemviews/qtreeview_p.h
+++ b/src/widgets/itemviews/qtreeview_p.h
@@ -97,7 +97,7 @@ public:
void initialize();
QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const;
- void adjustViewOptionsForIndex(QStyleOptionViewItemV4 *option, const QModelIndex &current) const;
+ void adjustViewOptionsForIndex(QStyleOptionViewItem *option, const QModelIndex &current) const;
#ifndef QT_NO_ANIMATION
struct AnimatedOperation : public QVariantAnimation
@@ -166,11 +166,11 @@ public:
void updateChildCount(const int parentItem, const int delta);
- void paintAlternatingRowColors(QPainter *painter, QStyleOptionViewItemV4 *option, int y, int bottom) const;
+ void paintAlternatingRowColors(QPainter *painter, QStyleOptionViewItem *option, int y, int bottom) const;
// logicalIndices: vector of currently visibly logical indices
// itemPositions: vector of view item positions (beginning/middle/end/onlyone)
- void calcLogicalIndices(QVector<int> *logicalIndices, QVector<QStyleOptionViewItemV4::ViewItemPosition> *itemPositions, int left, int right) const;
+ void calcLogicalIndices(QVector<int> *logicalIndices, QVector<QStyleOptionViewItem::ViewItemPosition> *itemPositions, int left, int right) const;
QHeaderView *header;
int indent;