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