browserchooser 0.0.2
A simple browser chooser.
Loading...
Searching...
No Matches
desktopentry.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <expected>
5
6#include <QtCore/QMap>
7#include <QtCore/QString>
8#include <QtCore/QStringList>
9
12public:
14 DesktopEntry() = default; // LCOV_EXCL_LINE
19 explicit DesktopEntry(const QString &filename);
25 bool parse(const QString &filename);
27 [[nodiscard]] bool isValid() const {
28 return valid_;
29 }
30
31 [[nodiscard]] QString filename() const {
32 return filename_;
33 }
34
35 [[nodiscard]] QString name() const;
37 [[nodiscard]] QString exec() const {
38 return exec_;
39 }
40
41 [[nodiscard]] QString executableName() const;
43 [[nodiscard]] QString icon() const {
44 return icon_;
45 }
46
47 [[nodiscard]] QString comment() const;
48 // LCOV_EXCL_START
50 [[nodiscard]] QString startupWMClass() const {
51 return startupWMClass_;
52 }
53
54 [[nodiscard]] QStringList categories() const {
55 return categories_;
56 }
57
58 [[nodiscard]] QStringList mimeTypes() const {
59 return mimeTypes_;
60 }
61 // LCOV_EXCL_STOP
63 [[nodiscard]] bool noDisplay() const {
64 return noDisplay_;
65 }
66#ifdef Q_OS_MAC
72 bool parseAppBundle(const QString &bundlePath);
73#elif defined(Q_OS_WIN)
79 bool parseFromExecutable(const QString &exePath);
80#endif
81
82private:
83 QString getValue(const QString &key) const;
84 QString getLocalizedValue(const QString &key) const;
85 QStringList getListValue(const QString &key) const;
86
87 QString filename_;
88 QString exec_;
89 QString icon_;
90 QString startupWMClass_;
91 QStringList categories_;
92 QStringList mimeTypes_;
93 bool noDisplay_ = false;
94 bool valid_ = false;
96};
97
99enum class DesktopEntryError { ParseFailed };
100
106[[nodiscard]] std::expected<DesktopEntry, DesktopEntryError>
107readDesktopEntry(const QString &filename);
QString comment() const
Definition desktopentry.cpp:134
QString exec() const
Definition desktopentry.h:37
QString filename() const
Definition desktopentry.h:31
QStringList mimeTypes() const
Definition desktopentry.h:58
bool isValid() const
Definition desktopentry.h:27
bool parse(const QString &filename)
Definition desktopentry.cpp:41
DesktopEntry()=default
QString icon() const
Definition desktopentry.h:43
QString startupWMClass() const
Definition desktopentry.h:50
QStringList categories() const
Definition desktopentry.h:54
QString name() const
Definition desktopentry.cpp:130
bool noDisplay() const
Definition desktopentry.h:63
QString executableName() const
Definition desktopentry.cpp:147
std::expected< DesktopEntry, DesktopEntryError > readDesktopEntry(const QString &filename)
Definition desktopentry.cpp:227
DesktopEntryError
Definition desktopentry.h:99