summaryrefslogtreecommitdiffstats
path: root/src/sql
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-09-03 10:51:40 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-09-10 03:15:49 +0200
commitd49a7412f55390e461773f4ffc36a82958d59b6d (patch)
tree20e860fa351f8e52ad8bb332793248a735d7e3bc /src/sql
parentae7442a4e93d4a63f28c1c2692be80a3d87f54a9 (diff)
Derive some item delegates from QStyledItemDelegate
Address a ### Qt6 comment from change 283008e123e5eacb83869682528b2024186634f8, and start using QStyledItemDelegate in more places, so those get proper look and feel. Change-Id: I39767ba99b7942faada1fba0ac241deb35563b63 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Diffstat (limited to 'src/sql')
-rw-r--r--src/sql/models/qsqlrelationaldelegate.h55
1 files changed, 27 insertions, 28 deletions
diff --git a/src/sql/models/qsqlrelationaldelegate.h b/src/sql/models/qsqlrelationaldelegate.h
index 189fc876fd..130c82868e 100644
--- a/src/sql/models/qsqlrelationaldelegate.h
+++ b/src/sql/models/qsqlrelationaldelegate.h
@@ -46,7 +46,7 @@ QT_REQUIRE_CONFIG(sqlmodel);
#ifdef QT_WIDGETS_LIB
-#include <QtWidgets/qitemdelegate.h>
+#include <QtWidgets/qstyleditemdelegate.h>
#if QT_CONFIG(listview)
#include <QtWidgets/qlistview.h>
#endif
@@ -58,8 +58,7 @@ QT_REQUIRE_CONFIG(sqlmodel);
#include <QtCore/qmetaobject.h>
QT_BEGIN_NAMESPACE
-// ### Qt6: QStyledItemDelegate
-class QSqlRelationalDelegate: public QItemDelegate
+class QSqlRelationalDelegate : public QStyledItemDelegate
{
static int fieldIndex(const QSqlTableModel *const model,
const QSqlDriver *const driver,
@@ -73,31 +72,31 @@ class QSqlRelationalDelegate: public QItemDelegate
public:
-explicit QSqlRelationalDelegate(QObject *aParent = nullptr)
- : QItemDelegate(aParent)
-{}
+ explicit QSqlRelationalDelegate(QObject *aParent = nullptr)
+ : QStyledItemDelegate(aParent)
+ {}
-~QSqlRelationalDelegate()
-{}
+ ~QSqlRelationalDelegate()
+ {}
-QWidget *createEditor(QWidget *aParent,
- const QStyleOptionViewItem &option,
- const QModelIndex &index) const override
-{
- const QSqlRelationalTableModel *sqlModel = qobject_cast<const QSqlRelationalTableModel *>(index.model());
- QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : nullptr;
- if (!childModel)
- return QItemDelegate::createEditor(aParent, option, index);
- const QSqlDriver *const driver = childModel->database().driver();
-
- QComboBox *combo = new QComboBox(aParent);
- combo->setModel(childModel);
- combo->setModelColumn(fieldIndex(childModel, driver,
- sqlModel->relation(index.column()).displayColumn()));
- combo->installEventFilter(const_cast<QSqlRelationalDelegate *>(this));
-
- return combo;
-}
+ QWidget *createEditor(QWidget *aParent,
+ const QStyleOptionViewItem &option,
+ const QModelIndex &index) const override
+ {
+ const QSqlRelationalTableModel *sqlModel = qobject_cast<const QSqlRelationalTableModel *>(index.model());
+ QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : nullptr;
+ if (!childModel)
+ return QStyledItemDelegate::createEditor(aParent, option, index);
+ const QSqlDriver *const driver = childModel->database().driver();
+
+ QComboBox *combo = new QComboBox(aParent);
+ combo->setModel(childModel);
+ combo->setModelColumn(fieldIndex(childModel, driver,
+ sqlModel->relation(index.column()).displayColumn()));
+ combo->installEventFilter(const_cast<QSqlRelationalDelegate *>(this));
+
+ return combo;
+ }
void setEditorData(QWidget *editor, const QModelIndex &index) const override
{
@@ -117,7 +116,7 @@ QWidget *createEditor(QWidget *aParent,
return;
}
}
- QItemDelegate::setEditorData(editor, index);
+ QStyledItemDelegate::setEditorData(editor, index);
}
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override
@@ -129,7 +128,7 @@ void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex
QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : nullptr;
QComboBox *combo = qobject_cast<QComboBox *>(editor);
if (!sqlModel || !childModel || !combo) {
- QItemDelegate::setModelData(editor, model, index);
+ QStyledItemDelegate::setModelData(editor, model, index);
return;
}
const QSqlDriver *const driver = childModel->database().driver();