File indexing completed on 2024-04-28 05:11:29

0001 /*
0002   SPDX-FileCopyrightText: 2010 Bertjan Broeksema <broeksema@kde.org>
0003   SPDX-FileCopyrightText: 2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
0004 
0005   SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <KCalendarCore/Alarm>
0011 
0012 #include <QStringList>
0013 
0014 namespace IncidenceEditorNG
0015 {
0016 enum {
0017     // Fallback in case config is invalid
0018     DEFAULT_REMINDER_OFFSET = 15 // minutes
0019 };
0020 
0021 namespace AlarmPresets
0022 {
0023 enum When { BeforeStart, BeforeEnd };
0024 
0025 /**
0026  * Returns the available presets.
0027  */
0028 [[nodiscard]] QStringList availablePresets(When when = BeforeStart);
0029 
0030 /**
0031  * Returns a recurrence preset for given name. The name <em>must</em> be one
0032  * of availablePresets().
0033  *
0034  * Note: The caller takes ownership over the pointer.
0035  */
0036 [[nodiscard]] KCalendarCore::Alarm::Ptr preset(When when, const QString &name);
0037 
0038 /**
0039  * Returns an Alarm configured accordingly to the default preset.
0040  *
0041  * Note: The caller takes ownership over the pointer.
0042  */
0043 [[nodiscard]] KCalendarCore::Alarm::Ptr defaultAlarm(When when);
0044 
0045 /**
0046  * Returns the index of the preset in availablePresets for the given recurrence,
0047  * or -1 if no preset is equal to the given recurrence.
0048  */
0049 [[nodiscard]] int presetIndex(When when, const KCalendarCore::Alarm::Ptr &alarm);
0050 
0051 /**
0052    Returns the index of the default preset. ( Comes from KCalPrefs ).
0053  */
0054 [[nodiscard]] int defaultPresetIndex();
0055 }
0056 }