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()40 Settings *KNewStuffQuick::Settings::instance()
41 {
42     if (!s_kns3_quickSettingsListener()->q) {
43         new Settings;
44     }
45     return s_kns3_quickSettingsListener()->q;
46 }
47 
Settings()48 Settings::Settings()
49     : QObject(qApp)
50     , d(new KNewStuffQuick::SettingsPrivate)
51 {
52     s_kns3_quickSettingsListener->q = this;
53 }
54 
55 Settings::~Settings() = default;
56 
allowedByKiosk() const57 bool KNewStuffQuick::Settings::allowedByKiosk() const
58 {
59     return KAuthorized::authorize(KAuthorized::GHNS);
60 }
61