File indexing completed on 2024-04-21 03:52:44
0001 /* 0002 This file is part of the kcalcore library. 0003 0004 SPDX-FileCopyrightText: 1998 Preston Brown <pbrown@kde.org> 0005 SPDX-FileCopyrightText: 2000-2004 Cornelius Schumacher <schumacher@kde.org> 0006 SPDX-FileCopyrightText: 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 0007 SPDX-FileCopyrightText: 2006 David Jarvie <djarvie@kde.org> 0008 0009 SPDX-License-Identifier: LGPL-2.0-or-later 0010 */ 0011 0012 #ifndef KCALCORE_CALENDAR_P_H 0013 #define KCALCORE_CALENDAR_P_H 0014 0015 #include "calendar.h" 0016 #include "calfilter.h" 0017 0018 namespace KCalendarCore 0019 { 0020 /** 0021 Private class that helps to provide binary compatibility between releases. 0022 @internal 0023 */ 0024 //@cond PRIVATE 0025 class Q_DECL_HIDDEN Calendar::Private 0026 { 0027 public: 0028 Private() 0029 : mModified(false) 0030 , mNewObserver(false) 0031 , mObserversEnabled(true) 0032 , mDefaultFilter(new CalFilter) 0033 , batchAddingInProgress(false) 0034 { 0035 // Setup default filter, which does nothing 0036 mFilter = mDefaultFilter; 0037 mFilter->setEnabled(false); 0038 0039 mOwner.setName(QStringLiteral("Unknown Name")); 0040 mOwner.setEmail(QStringLiteral("unknown@nowhere")); 0041 } 0042 0043 ~Private() 0044 { 0045 if (mFilter != mDefaultFilter) { 0046 delete mFilter; 0047 } 0048 delete mDefaultFilter; 0049 } 0050 QTimeZone timeZoneIdSpec(const QByteArray &timeZoneId); 0051 0052 QString mProductId; 0053 Person mOwner; 0054 QTimeZone mTimeZone; 0055 QList<QTimeZone> mTimeZones; 0056 bool mModified = false; 0057 bool mNewObserver = false; 0058 bool mObserversEnabled = false; 0059 QList<CalendarObserver *> mObservers; 0060 0061 CalFilter *mDefaultFilter = nullptr; 0062 CalFilter *mFilter = nullptr; 0063 0064 bool batchAddingInProgress = false; 0065 bool mIsLoading = false; 0066 QString mId; 0067 QString mName; 0068 QIcon mIcon; 0069 AccessMode mAccessMode = ReadWrite; 0070 }; 0071 0072 } 0073 0074 #endif