69 lines
2.8 KiB
C++
69 lines
2.8 KiB
C++
/*
|
||
*
|
||
* Copyright (C) 2023, KylinSoft Co., Ltd.
|
||
*
|
||
* This program is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU General Public License as published by
|
||
* the Free Software Foundation, either version 3 of the License, or
|
||
* (at your option) any later version.
|
||
*
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU General Public License
|
||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
*
|
||
* Authors: iaom <zhangpengfei@kylinos.cn>
|
||
*/
|
||
#ifndef APPLICATIONPROPERTY_H
|
||
#define APPLICATIONPROPERTY_H
|
||
|
||
#include <QObject>
|
||
#include <QMap>
|
||
#include <QVector>
|
||
#include <QVariant>
|
||
#include <QDBusArgument>
|
||
namespace UkuiSearch {
|
||
|
||
namespace ApplicationProperty {
|
||
/**
|
||
* @brief 表示应用基础信息
|
||
*/
|
||
enum Property {
|
||
Invalid = 0,
|
||
DesktopFilePath, //desktop文件路径
|
||
ModifiedTime, //数据修改时间
|
||
InsertTime, //数据插入时间
|
||
LocalName, //应用名(本地化)
|
||
NameEn, //应用英文名
|
||
NameZh, //应用中文名
|
||
PinyinName, //名称拼音
|
||
FirstLetterOfPinyin, //拼音首字母
|
||
FirstLetterAll, //名称首字母
|
||
Icon, //应用图标
|
||
Type, //种类(Application等)
|
||
Category, //分类(AudioVideo等)
|
||
Exec, //执行命令
|
||
Comment, //简介
|
||
Md5, //desktop文件的md5
|
||
LaunchTimes, //启动次数
|
||
Favorites, //收藏顺序(0 未收藏)
|
||
Launched, //是否从开始菜单启动过
|
||
Top, //置顶顺序(0 未置顶)
|
||
Lock, //是否锁定(不允许显示或打开)
|
||
DontDisplay, //是否不需要显示(设置了Nodisplay等字段)
|
||
AutoStart //是否自启动(位于自启动目录/etc/xdg/autostart下)
|
||
};
|
||
} //namespace ApplicationProperty
|
||
typedef QVector<ApplicationProperty::Property> ApplicationProperties;
|
||
typedef QMap<ApplicationProperty::Property, QVariant> ApplicationPropertyMap;
|
||
typedef QMap<QString, ApplicationPropertyMap> ApplicationInfoMap; // desktopFile->ApplicationPropertyMap
|
||
}
|
||
Q_DECLARE_METATYPE(UkuiSearch::ApplicationProperty::Property)
|
||
Q_DECLARE_METATYPE(UkuiSearch::ApplicationPropertyMap)
|
||
Q_DECLARE_METATYPE(UkuiSearch::ApplicationInfoMap)
|
||
Q_DECLARE_METATYPE(UkuiSearch::ApplicationProperties)
|
||
#endif // APPLICATIONPROPERTY_H
|