File indexing completed on 2024-04-28 05:11:37
0001 /* 0002 SPDX-FileCopyrightText: 2010 Kevin Ottens <ervin@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "korganizereditorconfig.h" 0008 0009 #include <CalendarSupport/KCalPrefs> 0010 0011 #include <KIdentityManagementCore/Identity> 0012 #include <KIdentityManagementCore/IdentityManager> 0013 0014 using namespace IncidenceEditorNG; 0015 0016 KOrganizerEditorConfig::KOrganizerEditorConfig() 0017 : EditorConfig() 0018 { 0019 } 0020 0021 KOrganizerEditorConfig::~KOrganizerEditorConfig() = default; 0022 0023 KConfigSkeleton *KOrganizerEditorConfig::config() const 0024 { 0025 return CalendarSupport::KCalPrefs::instance(); 0026 } 0027 0028 QString KOrganizerEditorConfig::fullName() const 0029 { 0030 return CalendarSupport::KCalPrefs::instance()->fullName(); 0031 } 0032 0033 QString KOrganizerEditorConfig::email() const 0034 { 0035 return CalendarSupport::KCalPrefs::instance()->email(); 0036 } 0037 0038 bool KOrganizerEditorConfig::thatIsMe(const QString &email) const 0039 { 0040 return CalendarSupport::KCalPrefs::instance()->thatIsMe(email); 0041 } 0042 0043 QStringList KOrganizerEditorConfig::allEmails() const 0044 { 0045 return CalendarSupport::KCalPrefs::instance()->allEmails(); 0046 } 0047 0048 QList<EditorConfig::Organizer> KOrganizerEditorConfig::allOrganizers() const 0049 { 0050 const auto *manager = KIdentityManagementCore::IdentityManager::self(); 0051 QList<EditorConfig::Organizer> organizers; 0052 std::transform(manager->begin(), manager->end(), std::back_inserter(organizers), [](const auto &identity) { 0053 return EditorConfig::Organizer{identity.fullName(), identity.fullEmailAddr(), identity.pgpAutoSign(), identity.pgpAutoEncrypt()}; 0054 }); 0055 return organizers; 0056 } 0057 0058 bool KOrganizerEditorConfig::showTimeZoneSelectorInIncidenceEditor() const 0059 { 0060 return CalendarSupport::KCalPrefs::instance()->showTimeZoneSelectorInIncidenceEditor(); 0061 } 0062 0063 QDateTime KOrganizerEditorConfig::defaultDuration() const 0064 { 0065 return CalendarSupport::KCalPrefs::instance()->defaultDuration(); 0066 } 0067 0068 QDateTime KOrganizerEditorConfig::startTime() const 0069 { 0070 return CalendarSupport::KCalPrefs::instance()->startTime(); 0071 } 0072 0073 bool KOrganizerEditorConfig::defaultAudioFileReminders() const 0074 { 0075 return CalendarSupport::KCalPrefs::instance()->defaultAudioFileReminders(); 0076 } 0077 0078 QUrl KOrganizerEditorConfig::audioFilePath() const 0079 { 0080 return QUrl::fromLocalFile(CalendarSupport::KCalPrefs::instance()->audioFilePath()); 0081 } 0082 0083 int KOrganizerEditorConfig::reminderTime() const 0084 { 0085 return CalendarSupport::KCalPrefs::instance()->reminderTime(); 0086 } 0087 0088 int KOrganizerEditorConfig::reminderTimeUnits() const 0089 { 0090 return CalendarSupport::KCalPrefs::instance()->reminderTimeUnits(); 0091 } 0092 0093 bool KOrganizerEditorConfig::defaultTodoReminders() const 0094 { 0095 return CalendarSupport::KCalPrefs::instance()->defaultTodoReminders(); 0096 } 0097 0098 bool KOrganizerEditorConfig::defaultEventReminders() const 0099 { 0100 return CalendarSupport::KCalPrefs::instance()->defaultEventReminders(); 0101 } 0102 0103 QStringList KOrganizerEditorConfig::activeDesignerFields() const 0104 { 0105 return CalendarSupport::KCalPrefs::instance()->activeDesignerFields(); 0106 } 0107 0108 QStringList &KOrganizerEditorConfig::templates(KCalendarCore::IncidenceBase::IncidenceType type) 0109 { 0110 if (type == KCalendarCore::IncidenceBase::TypeEvent) { 0111 // TODO remove mEventTemplates+etc from Prefs::instance() 0112 return CalendarSupport::KCalPrefs::instance()->mEventTemplates; 0113 } 0114 if (type == KCalendarCore::IncidenceBase::TypeTodo) { 0115 return CalendarSupport::KCalPrefs::instance()->mTodoTemplates; 0116 } 0117 if (type == KCalendarCore::IncidenceBase::TypeJournal) { 0118 return CalendarSupport::KCalPrefs::instance()->mJournalTemplates; 0119 } 0120 return EditorConfig::templates(type); 0121 }