/* SPDX-FileCopyrightText: 2014 Vishesh Handa SPDX-FileCopyrightText: 2020 Alexander Lohnau SPDX-FileCopyrightText: 2020 Cyril Rossi SPDX-FileCopyrightText: 2022 Fushan Wen SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include #include class KRunnerSettingsBase; class KRunnerSettingsData; class KRunnerSettings : public KQuickManagedConfigModule { Q_OBJECT Q_PROPERTY(KRunnerSettingsBase *krunnerSettings READ krunnerSettings CONSTANT) /** * @return @c true if the KCM is not launched from the plugin settings, @c false * otherwise. */ Q_PROPERTY(bool doesShowPluginButton MEMBER m_doesShowPluginButton CONSTANT) Q_PROPERTY(QStringList historyKeys READ historyKeys NOTIFY historyKeysChanged) public: KRunnerSettings(QObject *parent, const KPluginMetaData &metaData, const QVariantList &args); KRunnerSettingsBase *krunnerSettings() const; QStringList historyKeys() const; Q_INVOKABLE void deleteAllHistory(); Q_INVOKABLE void deleteHistoryGroup(const QString &key); Q_SIGNALS: void historyKeysChanged(); public Q_SLOTS: void save() override; private: void configureClearHistoryButton(); KRunnerSettingsData *m_data; KConfigGroup m_historyConfigGroup; QStringList m_historyKeys; bool m_doesShowPluginButton; const QString nullUuid = QStringLiteral("00000000-0000-0000-0000-000000000000"); };