File indexing completed on 2024-04-28 05:11:34
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 "incidenceeditor-ng.h" 0011 0012 #include <memory> 0013 0014 namespace Ui 0015 { 0016 class EventOrTodoDesktop; 0017 } 0018 0019 namespace IncidenceEditorNG 0020 { 0021 class IncidenceDescriptionPrivate; 0022 0023 /** 0024 * The IncidenceDescriptionEditor keeps track of the following Incidence parts: 0025 * - description 0026 */ 0027 class IncidenceDescription : public IncidenceEditor 0028 { 0029 Q_OBJECT 0030 public: 0031 using IncidenceEditorNG::IncidenceEditor::load; // So we don't trigger -Woverloaded-virtual 0032 using IncidenceEditorNG::IncidenceEditor::save; // So we don't trigger -Woverloaded-virtual 0033 0034 explicit IncidenceDescription(Ui::EventOrTodoDesktop *ui); 0035 0036 ~IncidenceDescription() override; 0037 0038 void load(const KCalendarCore::Incidence::Ptr &incidence) override; 0039 void save(const KCalendarCore::Incidence::Ptr &incidence) override; 0040 [[nodiscard]] bool isDirty() const override; 0041 0042 void printDebugInfo() const override; 0043 0044 private: 0045 void toggleRichTextDescription(); 0046 void enableRichTextDescription(bool enable); 0047 void setupToolBar(); 0048 0049 private: 0050 Ui::EventOrTodoDesktop *const mUi; 0051 //@cond PRIVATE 0052 Q_DECLARE_PRIVATE(IncidenceDescription) 0053 std::unique_ptr<IncidenceDescriptionPrivate> const d; 0054 //@endcond 0055 }; 0056 }