diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2019-07-13 20:33:49 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-07-16 12:36:26 +0200 |
commit | aeaf5d87ed0a41dd9f8265f9d88b34e233a89f74 (patch) | |
tree | aae41ed51856387f849fe3bb903de715828365df /src/corelib/itemmodels | |
parent | c5d6b263c204cb09db2be36826e19acb03dc24fb (diff) |
QAbstractItemModel: don't inherit QHash just to add elements
Now that we can depend on C++11, use _WITH_ARGS and std::initializer_list.
Saves ~400B in text size on optimized AMD64 GCC 9.1 Linux LTO builds.
Change-Id: I37fce1c63a5f74f6dfc059febf0152ac93c8be7f
Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/corelib/itemmodels')
-rw-r--r-- | src/corelib/itemmodels/qabstractitemmodel.cpp | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp index 3e74e5a0c8..c5fb5b9fc5 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.cpp +++ b/src/corelib/itemmodels/qabstractitemmodel.cpp @@ -532,21 +532,16 @@ void QAbstractItemModelPrivate::invalidatePersistentIndex(const QModelIndex &ind } } -namespace { - struct DefaultRoleNames : public QHash<int, QByteArray> +using DefaultRoleNames = QHash<int, QByteArray>; +Q_GLOBAL_STATIC_WITH_ARGS(DefaultRoleNames, qDefaultRoleNames, ( { - DefaultRoleNames() { - (*this)[Qt::DisplayRole] = "display"; - (*this)[Qt::DecorationRole] = "decoration"; - (*this)[Qt::EditRole] = "edit"; - (*this)[Qt::ToolTipRole] = "toolTip"; - (*this)[Qt::StatusTipRole] = "statusTip"; - (*this)[Qt::WhatsThisRole] = "whatsThis"; - } - }; -} - -Q_GLOBAL_STATIC(DefaultRoleNames, qDefaultRoleNames) + { Qt::DisplayRole, "display" }, + { Qt::DecorationRole, "decoration" }, + { Qt::EditRole, "edit" }, + { Qt::ToolTipRole, "toolTip" }, + { Qt::StatusTipRole, "statusTip" }, + { Qt::WhatsThisRole, "whatsThis" }, + })) const QHash<int,QByteArray> &QAbstractItemModelPrivate::defaultRoleNames() { |