diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-01-27 03:33:13 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-30 16:25:09 +0100 |
commit | d9468a975210ecb58ff199e931f47df5b99b267f (patch) | |
tree | cdcf71215bca02739c80f550e9ddbed635ad38ab /src/widgets/itemviews/qitemdelegate.cpp | |
parent | be1867b6c4743da937d269f04c2e108a18d3f400 (diff) |
Change the type key for delegate editors to int.
Previous type of QVariant::Type does not allow for custom types.
While technically source incompatible I found no re-implementation
of this class in qttools or qt-creator (most likely to use it for
property editors). The virtual methods are not needed because
registerEditor is all the API that is really needed.
Task-number: QTBUG-1065
Change-Id: I2a9c578c444a80359416f2224a0ee03903bfe779
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/widgets/itemviews/qitemdelegate.cpp')
-rw-r--r-- | src/widgets/itemviews/qitemdelegate.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/widgets/itemviews/qitemdelegate.cpp b/src/widgets/itemviews/qitemdelegate.cpp index aed751848a..a5351301a7 100644 --- a/src/widgets/itemviews/qitemdelegate.cpp +++ b/src/widgets/itemviews/qitemdelegate.cpp @@ -527,11 +527,10 @@ QWidget *QItemDelegate::createEditor(QWidget *parent, Q_D(const QItemDelegate); if (!index.isValid()) return 0; - QVariant::Type t = static_cast<QVariant::Type>(index.data(Qt::EditRole).userType()); const QItemEditorFactory *factory = d->f; if (factory == 0) factory = QItemEditorFactory::defaultFactory(); - return factory->createEditor(t, parent); + return factory->createEditor(index.data(Qt::EditRole).userType(), parent); } /*! @@ -568,7 +567,7 @@ void QItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) con // ### Qt 5: give QComboBox a USER property if (n.isEmpty() && editor->inherits("QComboBox")) - n = d->editorFactory()->valuePropertyName(static_cast<QVariant::Type>(v.userType())); + n = d->editorFactory()->valuePropertyName(v.userType()); if (!n.isEmpty()) { if (!v.isValid()) v = QVariant(editor->property(n).userType(), (const void *)0); @@ -603,7 +602,7 @@ void QItemDelegate::setModelData(QWidget *editor, QByteArray n = editor->metaObject()->userProperty().name(); if (n.isEmpty()) n = d->editorFactory()->valuePropertyName( - static_cast<QVariant::Type>(model->data(index, Qt::EditRole).userType())); + model->data(index, Qt::EditRole).userType()); if (!n.isEmpty()) model->setData(index, editor->property(n), Qt::EditRole); #endif |