feat: 修改数据结构,增加枚举值
This commit is contained in:
parent
094529e995
commit
2a2c513415
|
@ -43,6 +43,7 @@ public:
|
||||||
QString comment; // 应用描述
|
QString comment; // 应用描述
|
||||||
QString extraData; // 额外的数据
|
QString extraData; // 额外的数据
|
||||||
QString insertTime; //安装的时间
|
QString insertTime; //安装的时间
|
||||||
|
QString group; // 分类
|
||||||
};
|
};
|
||||||
|
|
||||||
DataEntity::DataEntity() : d(new DataEntityPrivate) {}
|
DataEntity::DataEntity() : d(new DataEntityPrivate) {}
|
||||||
|
@ -222,7 +223,16 @@ QHash<int, QByteArray> DataEntity::AppRoleNames()
|
||||||
names.insert(DataEntity::Name, "name");
|
names.insert(DataEntity::Name, "name");
|
||||||
names.insert(DataEntity::Comment, "comment");
|
names.insert(DataEntity::Comment, "comment");
|
||||||
names.insert(DataEntity::ExtraData, "extraData");
|
names.insert(DataEntity::ExtraData, "extraData");
|
||||||
|
names.insert(DataEntity::Category, "category");
|
||||||
|
names.insert(DataEntity::Group, "group");
|
||||||
|
names.insert(DataEntity::FirstLetter, "firstLetter");
|
||||||
|
names.insert(DataEntity::InstallationTime, "installationTime");
|
||||||
|
names.insert(DataEntity::IsLaunched, "isLaunched");
|
||||||
|
names.insert(DataEntity::LaunchTimes, "launchTimes");
|
||||||
|
names.insert(DataEntity::IsLocked, "isLocked");
|
||||||
names.insert(DataEntity::Favorite, "favorite");
|
names.insert(DataEntity::Favorite, "favorite");
|
||||||
|
names.insert(DataEntity::Top, "top");
|
||||||
|
names.insert(DataEntity::RecentInstall, "recentInstall");
|
||||||
return names;
|
return names;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,3 +267,111 @@ DataEntity::~DataEntity()
|
||||||
d = nullptr;
|
d = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QVariant DataEntity::getValue(DataEntity::PropertyName property) const
|
||||||
|
{
|
||||||
|
switch (property) {
|
||||||
|
case Id:
|
||||||
|
return d->id;
|
||||||
|
case Type:
|
||||||
|
return d->type;
|
||||||
|
case Icon:
|
||||||
|
return d->icon;
|
||||||
|
case Name:
|
||||||
|
return d->name;
|
||||||
|
case Comment:
|
||||||
|
return d->comment;
|
||||||
|
case ExtraData:
|
||||||
|
return d->extraData;
|
||||||
|
case Category:
|
||||||
|
return d->category;
|
||||||
|
case Group:
|
||||||
|
return d->group;
|
||||||
|
case FirstLetter:
|
||||||
|
return d->firstLetter;
|
||||||
|
case InstallationTime:
|
||||||
|
return d->insertTime;
|
||||||
|
case IsLaunched:
|
||||||
|
return d->launched;
|
||||||
|
case LaunchTimes:
|
||||||
|
return d->launchTimes;
|
||||||
|
case IsLocked:
|
||||||
|
return d->lock;
|
||||||
|
case Favorite:
|
||||||
|
return d->favorite;
|
||||||
|
case Top:
|
||||||
|
return d->top;
|
||||||
|
case RecentInstall:
|
||||||
|
return d->recentInstall;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataEntity::setValue(DataEntity::PropertyName property, const QVariant &value)
|
||||||
|
{
|
||||||
|
switch (property) {
|
||||||
|
case Id:
|
||||||
|
d->id = value.toString();
|
||||||
|
break;
|
||||||
|
case Type:
|
||||||
|
d->type = value.value<DataType::Type>();
|
||||||
|
break;
|
||||||
|
case Icon:
|
||||||
|
d->icon = value.toString();
|
||||||
|
break;
|
||||||
|
case Name:
|
||||||
|
d->name = value.toString();
|
||||||
|
break;
|
||||||
|
case Comment:
|
||||||
|
d->comment = value.toString();
|
||||||
|
break;
|
||||||
|
case ExtraData:
|
||||||
|
d->extraData = value.toString();
|
||||||
|
break;
|
||||||
|
case Category:
|
||||||
|
d->category = value.toString();
|
||||||
|
break;
|
||||||
|
case Group:
|
||||||
|
d->group = value.toString();
|
||||||
|
break;
|
||||||
|
case FirstLetter:
|
||||||
|
d->firstLetter = value.toString();
|
||||||
|
break;
|
||||||
|
case InstallationTime:
|
||||||
|
d->insertTime = value.toString();
|
||||||
|
break;
|
||||||
|
case IsLaunched:
|
||||||
|
d->launched = value.toBool();
|
||||||
|
break;
|
||||||
|
case LaunchTimes:
|
||||||
|
d->launchTimes = value.toInt();
|
||||||
|
break;
|
||||||
|
case IsLocked:
|
||||||
|
d->lock = value.toBool();
|
||||||
|
break;
|
||||||
|
case Favorite:
|
||||||
|
d->favorite = value.toInt();
|
||||||
|
break;
|
||||||
|
case Top:
|
||||||
|
d->top = value.toInt();
|
||||||
|
break;
|
||||||
|
case RecentInstall:
|
||||||
|
d->recentInstall = value.toBool();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataEntity::setGroup(const QString &group)
|
||||||
|
{
|
||||||
|
d->group = group;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString DataEntity::group() const
|
||||||
|
{
|
||||||
|
return d->group;
|
||||||
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
|
#include <QVariant>
|
||||||
|
|
||||||
class DataEntityPrivate;
|
class DataEntityPrivate;
|
||||||
|
|
||||||
|
@ -41,7 +42,6 @@ public:
|
||||||
// 应用数据
|
// 应用数据
|
||||||
class DataEntity
|
class DataEntity
|
||||||
{
|
{
|
||||||
// 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 id READ id)
|
||||||
|
@ -58,7 +58,16 @@ public:
|
||||||
Name,
|
Name,
|
||||||
Comment,
|
Comment,
|
||||||
ExtraData,
|
ExtraData,
|
||||||
Favorite
|
Category, /**> 应用类别 */
|
||||||
|
Group, /**> 应用分组 */
|
||||||
|
FirstLetter, /**> 应用名称首字母 */
|
||||||
|
InstallationTime, /**> 安装时间 */
|
||||||
|
IsLaunched, /**> 是否启动过该程序 */
|
||||||
|
LaunchTimes, /**> 应用被启动的次数 */
|
||||||
|
IsLocked, /**> 应用是否锁定 */
|
||||||
|
Favorite, /**> 是否被收藏及序号, 小于或等于0表示未被收藏 */
|
||||||
|
Top, /**> 是否被置顶及序号, 小于或等于0表示未被置顶 */
|
||||||
|
RecentInstall
|
||||||
};
|
};
|
||||||
DataEntity();
|
DataEntity();
|
||||||
DataEntity(DataType::Type type, const QString& name, const QString& icon, const QString& comment, const QString& extraData);
|
DataEntity(DataType::Type type, const QString& name, const QString& icon, const QString& comment, const QString& extraData);
|
||||||
|
@ -70,6 +79,9 @@ public:
|
||||||
DataEntity(DataEntity&& other) noexcept;
|
DataEntity(DataEntity&& other) noexcept;
|
||||||
DataEntity &operator=(DataEntity&& other) noexcept;
|
DataEntity &operator=(DataEntity&& other) noexcept;
|
||||||
|
|
||||||
|
QVariant getValue(DataEntity::PropertyName property) const;
|
||||||
|
void setValue(DataEntity::PropertyName property, const QVariant &value);
|
||||||
|
|
||||||
int top() const;
|
int top() const;
|
||||||
void setTop(int top);
|
void setTop(int top);
|
||||||
|
|
||||||
|
@ -118,10 +130,15 @@ public:
|
||||||
void setExtraData(const QString& extraData);
|
void setExtraData(const QString& extraData);
|
||||||
QString extraData() const;
|
QString extraData() const;
|
||||||
|
|
||||||
|
void setGroup(const QString& group);
|
||||||
|
QString group() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DataEntityPrivate *d {nullptr};
|
DataEntityPrivate *d {nullptr};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // UkuiMenu
|
} // UkuiMenu
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(UkuiMenu::DataType)
|
||||||
|
|
||||||
#endif //UKUI_MENU_DATA_ENTITY_H
|
#endif //UKUI_MENU_DATA_ENTITY_H
|
||||||
|
|
Loading…
Reference in New Issue