File indexing completed on 2024-04-28 05:34:23
0001 /** 0002 * SPDX-FileCopyrightText: 2023 Arjen Hiemstra <ahiemstra@heimr.nl> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include <QCommandLineParser> 0010 #include <QObject> 0011 #include <QPointer> 0012 #include <qqmlregistration.h> 0013 0014 #include <KAboutData> 0015 0016 class CommandLineArguments : public QObject 0017 { 0018 Q_OBJECT 0019 Q_PROPERTY(QString pageId READ pageId CONSTANT) 0020 Q_PROPERTY(QString pageName READ pageName CONSTANT) 0021 Q_PROPERTY(QVariant aboutData READ aboutData CONSTANT) 0022 QML_ELEMENT 0023 QML_SINGLETON 0024 0025 public: 0026 CommandLineArguments(QObject *parent = nullptr); 0027 0028 QString pageId() const; 0029 QString pageName() const; 0030 QVariant aboutData() const; 0031 0032 static void setCommandLineParser(std::shared_ptr<QCommandLineParser> parser); 0033 0034 private: 0035 QString m_pageId; 0036 QString m_pageName; 0037 0038 inline static std::shared_ptr<QCommandLineParser> s_commandLineParser; 0039 };