File indexing completed on 2024-04-28 05:11:36
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Sandro Knauß <knauss@kolabsys.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0 0005 */ 0006 0007 #pragma once 0008 0009 #include "attendeetablemodel.h" 0010 #include "incidenceattendee.h" 0011 #include "incidenceeditor-ng.h" 0012 0013 namespace Ui 0014 { 0015 class EventOrTodoDesktop; 0016 } 0017 class QCompleter; 0018 namespace IncidenceEditorNG 0019 { 0020 class ResourceManagement; 0021 0022 class IncidenceResource : public IncidenceEditor 0023 { 0024 Q_OBJECT 0025 public: 0026 using IncidenceEditorNG::IncidenceEditor::load; // So we don't trigger -Woverloaded-virtual 0027 using IncidenceEditorNG::IncidenceEditor::save; // So we don't trigger -Woverloaded-virtual 0028 0029 explicit IncidenceResource(IncidenceAttendee *mIeAttendee, IncidenceDateTime *dateTime, Ui::EventOrTodoDesktop *ui); 0030 ~IncidenceResource() override; 0031 0032 void load(const KCalendarCore::Incidence::Ptr &incidence) override; 0033 void save(const KCalendarCore::Incidence::Ptr &incidence) override; 0034 bool isDirty() const override; 0035 0036 /** return the count of resources */ 0037 [[nodiscard]] int resourceCount() const; 0038 0039 Q_SIGNALS: 0040 /** is emitted it the count of the resources is changed. 0041 * @arg: new count of resources. 0042 */ 0043 void resourceCountChanged(int); 0044 0045 private: 0046 void findResources(); 0047 void bookResource(); 0048 void layoutChanged(); 0049 void updateCount(); 0050 0051 void slotDateChanged(); 0052 0053 void dialogOkPressed(); 0054 Ui::EventOrTodoDesktop *const mUi; 0055 0056 /** completer for findResources */ 0057 QCompleter *completer = nullptr; 0058 0059 /** used dataModel to rely on*/ 0060 AttendeeTableModel *dataModel = nullptr; 0061 IncidenceDateTime *mDateTime = nullptr; 0062 0063 ResourceManagement *resourceDialog = nullptr; 0064 }; 0065 }