统一Data Model的roleName

This commit is contained in:
hewenfei 2023-03-31 16:02:17 +08:00
parent 218ffacbfe
commit fd8d7ed2d6
4 changed files with 22 additions and 15 deletions

View File

@ -146,6 +146,18 @@ QString UkuiMenu::DataEntity::extraData() const
return m_extraData; return m_extraData;
} }
QHash<int, QByteArray> UkuiMenu::DataEntity::AppRoleNames()
{
QHash<int, QByteArray> names;
names.insert(DataEntity::Id, "id");
names.insert(DataEntity::Type, "type");
names.insert(DataEntity::Icon, "icon");
names.insert(DataEntity::Name, "name");
names.insert(DataEntity::Comment, "comment");
names.insert(DataEntity::ExtraData, "extraData");
return names;
}
// ====== LabelItem ====== // // ====== LabelItem ====== //
UkuiMenu::LabelItem::LabelItem(bool disable, int index, QString id, QString displayName) UkuiMenu::LabelItem::LabelItem(bool disable, int index, QString id, QString displayName)
: m_disable(disable), m_index(index), m_id(std::move(id)), m_displayName(std::move(displayName)) {} : m_disable(disable), m_index(index), m_id(std::move(id)), m_displayName(std::move(displayName)) {}

View File

@ -92,13 +92,16 @@ class DataEntity
// TODO 改用 Q_OBJECT // TODO 改用 Q_OBJECT
Q_GADGET Q_GADGET
Q_PROPERTY(DataType::Type type READ type WRITE setType) Q_PROPERTY(DataType::Type type READ type WRITE setType)
Q_PROPERTY(QString id READ id)
Q_PROPERTY(QString icon READ icon WRITE setIcon) Q_PROPERTY(QString icon READ icon WRITE setIcon)
Q_PROPERTY(QString name READ name WRITE setName) Q_PROPERTY(QString name READ name WRITE setName)
Q_PROPERTY(QString comment READ comment WRITE setComment) Q_PROPERTY(QString comment READ comment WRITE setComment)
Q_PROPERTY(QString extraData READ extraData WRITE setExtraData) Q_PROPERTY(QString extraData READ extraData WRITE setExtraData)
public: public:
static QHash<int, QByteArray> AppRoleNames();
enum PropertyName { enum PropertyName {
Type = 0, Id = 0,
Type,
Icon, Icon,
Name, Name,
Comment, Comment,

View File

@ -45,6 +45,8 @@ QVariant AppModel::data(const QModelIndex &index, int role) const
} }
switch (role) { switch (role) {
case DataEntity::Id:
return m_apps.at(i).id();
case DataEntity::Type: case DataEntity::Type:
return m_apps.at(i).type(); return m_apps.at(i).type();
case DataEntity::Icon: case DataEntity::Icon:
@ -64,13 +66,7 @@ QVariant AppModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> AppModel::roleNames() const QHash<int, QByteArray> AppModel::roleNames() const
{ {
QHash<int, QByteArray> names; return DataEntity::AppRoleNames();
names.insert(DataEntity::Type, "type");
names.insert(DataEntity::Icon, "icon");
names.insert(DataEntity::Name, "name");
names.insert(DataEntity::Comment, "comment");
names.insert(DataEntity::ExtraData, "extraData");
return names;
} }
int AppModel::getLabelIndex(const QString &id) int AppModel::getLabelIndex(const QString &id)

View File

@ -77,6 +77,8 @@ QVariant FolderModel::data(const QModelIndex &index, int role) const
} }
switch (role) { switch (role) {
case DataEntity::Id:
return app.id();
case DataEntity::Type: case DataEntity::Type:
return app.type(); return app.type();
case DataEntity::Icon: case DataEntity::Icon:
@ -96,13 +98,7 @@ QVariant FolderModel::data(const QModelIndex &index, int role) const
QHash<int, QByteArray> FolderModel::roleNames() const QHash<int, QByteArray> FolderModel::roleNames() const
{ {
QHash<int, QByteArray> names; return DataEntity::AppRoleNames();
names.insert(DataEntity::Type, "type");
names.insert(DataEntity::Icon, "icon");
names.insert(DataEntity::Name, "name");
names.insert(DataEntity::Comment, "comment");
names.insert(DataEntity::ExtraData, "extraData");
return names;
} }
} // UkuiMenu } // UkuiMenu