File indexing completed on 2024-05-19 05:21:39
0001 /* 0002 This file is part of KOrganizer. 0003 0004 SPDX-FileCopyrightText: 2001, 2003 Cornelius Schumacher <schumacher@kde.org> 0005 SPDX-FileCopyrightText: 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0 0008 */ 0009 0010 #pragma once 0011 0012 #include "korganizer_core_export.h" 0013 0014 #include <KPluginMetaData> 0015 #include <KXMLGUIClient> 0016 0017 #include <EventViews/CalendarDecoration> 0018 0019 namespace KIdentityManagementCore 0020 { 0021 class IdentityManager; 0022 } 0023 0024 class KORGANIZER_CORE_EXPORT KOCore 0025 { 0026 public: 0027 ~KOCore(); 0028 0029 static KOCore *self(); 0030 0031 [[nodiscard]] QList<KPluginMetaData> availableCalendarDecorations(); 0032 0033 EventViews::CalendarDecoration::Decoration *loadCalendarDecoration(const KPluginMetaData &service); 0034 EventViews::CalendarDecoration::Decoration::List loadCalendarDecorations(); 0035 0036 void addXMLGUIClient(QWidget *, KXMLGUIClient *guiclient); 0037 void removeXMLGUIClient(QWidget *); 0038 KXMLGUIClient *xmlguiClient(QWidget *) const; 0039 0040 void unloadPlugins(); 0041 0042 void reloadPlugins(); 0043 0044 KIdentityManagementCore::IdentityManager *identityManager(); 0045 0046 protected: 0047 KOCore(); 0048 0049 private: 0050 static KOCore *mSelf; 0051 0052 EventViews::CalendarDecoration::Decoration::List mCalendarDecorations; 0053 bool mCalendarDecorationsLoaded = false; 0054 0055 QMap<QWidget *, KXMLGUIClient *> mXMLGUIClients; 0056 };