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

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 namespace Ui
0013 {
0014 class EventOrTodoDesktop;
0015 }
0016 
0017 namespace IncidenceEditorNG
0018 {
0019 /**
0020  * The IncidenceWhatWhere editor keeps track of the following Incidence parts:
0021  * - Summary
0022  * - Location
0023  */
0024 class IncidenceWhatWhere : public IncidenceEditor
0025 {
0026     Q_OBJECT
0027 public:
0028     using IncidenceEditorNG::IncidenceEditor::load; // So we don't trigger -Woverloaded-virtual
0029     using IncidenceEditorNG::IncidenceEditor::save; // So we don't trigger -Woverloaded-virtual
0030 
0031     explicit IncidenceWhatWhere(Ui::EventOrTodoDesktop *ui);
0032 
0033     void load(const KCalendarCore::Incidence::Ptr &incidence) override;
0034     void save(const KCalendarCore::Incidence::Ptr &incidence) override;
0035     [[nodiscard]] bool isDirty() const override;
0036     [[nodiscard]] bool isValid() const override;
0037     void focusInvalidField() override;
0038     virtual void validate();
0039 
0040 private:
0041     Ui::EventOrTodoDesktop *const mUi;
0042 };
0043 } // IncidenceEditorNG