From 5d33dd54e1e0169b5df846957fb122e64997c8b1 Mon Sep 17 00:00:00 2001 From: Olivier Tilloy Date: Mon, 19 Nov 2012 16:06:21 +0100 Subject: =?UTF-8?q?Reimplement=20roleNames()=20instead=20of=20using=20setR?= =?UTF-8?q?oleNames(=E2=80=A6).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Qt5, setRoleNames(…) is marked deprecated. --- libqmenumodel/src/qmenumodel.cpp | 23 ++++++++++++++--------- libqmenumodel/src/qmenumodel.h | 1 + 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/libqmenumodel/src/qmenumodel.cpp b/libqmenumodel/src/qmenumodel.cpp index f0c2274..c59522d 100644 --- a/libqmenumodel/src/qmenumodel.cpp +++ b/libqmenumodel/src/qmenumodel.cpp @@ -41,15 +41,6 @@ QMenuModel::QMenuModel(GMenuModel *other, QObject *parent) m_menuModel(0), m_signalChangedId(0) { - static QHash rolesNames; - if (rolesNames.empty()) { - rolesNames[Action] = "action"; - rolesNames[Label] = "label"; - rolesNames[LinkSection] = "linkSection"; - rolesNames[LinkSubMenu] = "linkSubMenu"; - rolesNames[Extra] = "extra"; - } - setRoleNames(rolesNames); setMenuModel(other); } @@ -101,6 +92,20 @@ void QMenuModel::clearModel() } } +/*! \internal */ +QHash QMenuModel::roleNames() const +{ + static QHash roles; + if (roles.isEmpty()) { + roles[Action] = "action"; + roles[Label] = "label"; + roles[LinkSection] = "linkSection"; + roles[LinkSubMenu] = "linkSubMenu"; + roles[Extra] = "extra"; + } + return roles; +} + /*! \internal */ QVariant QMenuModel::data(const QModelIndex &index, int role) const { diff --git a/libqmenumodel/src/qmenumodel.h b/libqmenumodel/src/qmenumodel.h index 22c30df..beec7ba 100644 --- a/libqmenumodel/src/qmenumodel.h +++ b/libqmenumodel/src/qmenumodel.h @@ -43,6 +43,7 @@ public: ~QMenuModel(); /* QAbstractItemModel */ + QHash roleNames() const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; QModelIndex parent (const QModelIndex &index) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; -- cgit v1.2.3