diff --git a/src/launcher.h b/src/launcher.h new file mode 100644 index 0000000..3ef0fde --- /dev/null +++ b/src/launcher.h @@ -0,0 +1,17 @@ +#pragma once +#include +#include + +class Launcher : public QObject { + Q_OBJECT +public: + explicit Launcher(QObject* parent=nullptr); + + Q_INVOKABLE bool launch(const QVariantMap& entry); + +private: + bool launchDesktop(const QVariantMap& e); + bool launchUrl(const QString& url); + bool launchCommand(const QString& exec, const QStringList& args); + QString sanitizeDesktopExec(QString exec) const; +};