diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-09-19 14:06:11 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-21 02:44:22 +0200 |
commit | f4a8383a9a01f94262fef8049cabb4e0972f68e8 (patch) | |
tree | 5a535b3e08db9ce68206284019e1e6f48f241514 /src/widgets/itemviews/qstyleditemdelegate.cpp | |
parent | 5ad378859a185c681cdea39a21c850b46e1369bb (diff) |
Replace QStyleOptionViewItemV? with QStyleOptionViewItem
The former are a typedef for the latter in Qt 5. This only touches
internal implementation, as the API was migrated long ago.
Change-Id: Ided73021ebecc00508e6325c3d988b6c6ad336cd
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src/widgets/itemviews/qstyleditemdelegate.cpp')
-rw-r--r-- | src/widgets/itemviews/qstyleditemdelegate.cpp | 120 |
1 files changed, 56 insertions, 64 deletions
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); |