Qx v0.7
Qt Extensions Library
Loading...
Searching...
No Matches
qx-applicationdesktopentry.h
1#ifndef QX_APPLICATION_DESKTOP_ENTRY_H
2#define QX_APPLICATION_DESKTOP_ENTRY_H
3
4// Shared Lib Support
5#include "qx/linux/qx_linux_export.h"
6
7// Intra-component Includes
8#include "qx/linux/qx-desktopentry.h"
9
10namespace Qx
11{
12
13class QX_LINUX_EXPORT DesktopAction
14{
15//-Instance Members-------------------------------------------------------------------------------------------------
16private:
17 QString mActionName;
18 QString mName;
19 QString mIcon;
20 QString mExec;
21
22//-Constructor-------------------------------------------------------------------------------------------------------
23public:
25
26//-Instance Functions----------------------------------------------------------------------------------------------
27public:
28 QString actionName() const;
29 QString name() const;
30 QString icon() const;
31 QString exec() const;
32
33 void setActionName(const QString& name);
34 void setName(const QString& name);
35 void setIcon(const QString& icon);
36 void setExec(const QString& exec);
37};
38
39class QX_LINUX_EXPORT ApplicationDesktopEntry : public DesktopEntry
40{
41//-Class Members-------------------------------------------------------------------------------------------------
42private:
43 static inline const QString TYPE = u"Application"_s;
44 static inline const QString EXTENSION = u"desktop"_s;
45 static inline const QString ACTION_HEADER = u"[Desktop Actions %1]"_s;
46
47//-Instance Members-------------------------------------------------------------------------------------------------
48private:
49 bool mDBusActivatable;
50 QString mTryExec;
51 QString mExec;
52 QString mPath;
53 bool mTerminal;
54 QHash<QString, DesktopAction> mActions;
55 QStringList mMimeTypes;
56 QStringList mCategories;
57 QStringList mImplements;
58 QStringList mKeywords;
59 bool mStartupNotify;
60 QString mStartupWMClass;
61 bool mPrefersNonDefaultGPU;
62 bool mSingleMainWindow;
63
64//-Constructor-------------------------------------------------------------------------------------------------------
65public:
67
68//-Instance Functions----------------------------------------------------------------------------------------------
69public:
70 QString type() const override;
71 QString extension() const override;
72 QString toString() const override;
73
74 bool isDBusActivatable();
75 QString tryExec();
76 QString exec();
77 QString path();
78 bool isTerminal();
79 QList<DesktopAction> actions();
80 DesktopAction action(const QString& actionName);
81 QStringList mimeTypes() const;
82 QStringList categories() const;
83 QStringList implements() const;
84 QStringList keywords() const;
85 bool isStartupNotify() const;
86 QString startupWMClass() const;
87 bool isPrefersNonDefaultGPU() const;
88 bool isSingleMainWindow() const;
89
90 void setDBusActivatable(bool activatable);
91 void setTryExec(const QString& tryExec);
92 void setExec(const QString& exec);
93 void setPath(const QString& path);
94 void setTerminal(bool terminal);
96 void removeAction(const QString& actionName);
97 void setMimeTypes(const QStringList& mimeTypes);
98 void setCategories(const QStringList& categories);
99 void setImplements(const QStringList& implements);
100 void setKeywords(const QStringList& keywords);
101 void setStartupNotify(bool notify);
102 void setStartupWMClass(const QString& wmClass);
103 void setPrefersNonDefaultGPU(bool prefers);
104 void setSingleMainWindow(bool single);
105};
106
107}
108
109#endif // QX_APPLICATION_DESKTOP_ENTRY_H
bool isPrefersNonDefaultGPU() const
Definition qx-applicationdesktopentry.cpp:230
void setKeywords(const QStringList &keywords)
Definition qx-applicationdesktopentry.cpp:293
QString tryExec()
Definition qx-applicationdesktopentry.cpp:166
QStringList mimeTypes() const
Definition qx-applicationdesktopentry.cpp:197
DesktopAction action(const QString &actionName)
Definition qx-applicationdesktopentry.cpp:192
void setStartupNotify(bool notify)
Definition qx-applicationdesktopentry.cpp:299
ApplicationDesktopEntry()
Definition qx-applicationdesktopentry.cpp:89
void setDBusActivatable(bool activatable)
Definition qx-applicationdesktopentry.cpp:241
QStringList implements() const
Definition qx-applicationdesktopentry.cpp:207
QString toString() const override
Definition qx-applicationdesktopentry.cpp:102
bool isDBusActivatable()
Definition qx-applicationdesktopentry.cpp:160
QStringList keywords() const
Definition qx-applicationdesktopentry.cpp:212
QList< DesktopAction > actions()
Definition qx-applicationdesktopentry.cpp:186
bool isSingleMainWindow() const
Definition qx-applicationdesktopentry.cpp:236
void setStartupWMClass(const QString &wmClass)
Definition qx-applicationdesktopentry.cpp:305
QStringList categories() const
Definition qx-applicationdesktopentry.cpp:202
void insertAction(const DesktopAction &action)
Definition qx-applicationdesktopentry.cpp:267
QString path()
Definition qx-applicationdesktopentry.cpp:176
void setImplements(const QStringList &implements)
Definition qx-applicationdesktopentry.cpp:288
QString type() const override
Definition qx-applicationdesktopentry.cpp:99
void setTerminal(bool terminal)
Definition qx-applicationdesktopentry.cpp:262
QString extension() const override
Definition qx-applicationdesktopentry.cpp:100
void setPath(const QString &path)
Definition qx-applicationdesktopentry.cpp:257
void setSingleMainWindow(bool single)
Definition qx-applicationdesktopentry.cpp:317
void setPrefersNonDefaultGPU(bool prefers)
Definition qx-applicationdesktopentry.cpp:311
bool isTerminal()
Definition qx-applicationdesktopentry.cpp:181
bool isStartupNotify() const
Definition qx-applicationdesktopentry.cpp:218
void setMimeTypes(const QStringList &mimeTypes)
Definition qx-applicationdesktopentry.cpp:278
void setCategories(const QStringList &categories)
Definition qx-applicationdesktopentry.cpp:283
void setExec(const QString &exec)
Definition qx-applicationdesktopentry.cpp:252
QString exec()
Definition qx-applicationdesktopentry.cpp:171
QString startupWMClass() const
Definition qx-applicationdesktopentry.cpp:224
void removeAction(const QString &actionName)
Definition qx-applicationdesktopentry.cpp:273
void setTryExec(const QString &tryExec)
Definition qx-applicationdesktopentry.cpp:247
The DesktopAction class contains the details of a ApplicationDesktopEntry action.
Definition qx-applicationdesktopentry.h:14
void setIcon(const QString &icon)
Definition qx-applicationdesktopentry.cpp:64
void setName(const QString &name)
Definition qx-applicationdesktopentry.cpp:59
DesktopAction()
Definition qx-applicationdesktopentry.cpp:25
QString name() const
Definition qx-applicationdesktopentry.cpp:37
QString exec() const
Definition qx-applicationdesktopentry.cpp:47
QString icon() const
Definition qx-applicationdesktopentry.cpp:42
void setActionName(const QString &name)
Definition qx-applicationdesktopentry.cpp:54
void setExec(const QString &exec)
Definition qx-applicationdesktopentry.cpp:69
QString actionName() const
Definition qx-applicationdesktopentry.cpp:32
The Qx namespace is the main namespace through which all non-global functionality of the Qx library i...
Definition qx-abstracterror.cpp:13