1 /* 2 This file is part of KNewStuffQuick. 3 SPDX-FileCopyrightText: 2021 Dan Leinir Turthra Jensen <admin@leinir.dk> 4 5 SPDX-License-Identifier: LGPL-2.1-or-later 6 */ 7 8 #include "quicksettings.h" 9 10 #include <KAuthorized> 11 12 #include <QCoreApplication> 13 14 using namespace KNewStuffQuick; 15 16 class QuickSettingsHelper 17 { 18 public: QuickSettingsHelper()19 QuickSettingsHelper() 20 : q(nullptr) 21 { 22 } ~QuickSettingsHelper()23 ~QuickSettingsHelper() 24 { 25 } 26 QuickSettingsHelper(const QuickSettingsHelper &) = delete; 27 QuickSettingsHelper &operator=(const QuickSettingsHelper &) = delete; 28 Settings *q; 29 }; 30 Q_GLOBAL_STATIC(QuickSettingsHelper, s_kns3_quickSettingsListener) 31 32 class KNewStuffQuick::SettingsPrivate 33 { 34 public: SettingsPrivate()35 SettingsPrivate() 36 { 37 } 38 }; 39 instance()40Settings *KNewStuffQuick::Settings::instance() 41 { 42 if (!s_kns3_quickSettingsListener()->q) { 43 new Settings; 44 } 45 return s_kns3_quickSettingsListener()->q; 46 } 47 Settings()48Settings::Settings() 49 : QObject(qApp) 50 , d(new KNewStuffQuick::SettingsPrivate) 51 { 52 s_kns3_quickSettingsListener->q = this; 53 } 54 55 Settings::~Settings() = default; 56 allowedByKiosk() const57bool KNewStuffQuick::Settings::allowedByKiosk() const 58 { 59 return KAuthorized::authorize(KAuthorized::GHNS); 60 } 61