CalendarSupport

noteeditdialog.h
1/*
2 * SPDX-FileCopyrightText: 2014 Sandro Knauß <knauss@kolabsys.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
5 */
6
7#pragma once
8
9#include "calendarsupport_export.h"
10
11#include <KMime/KMimeMessage>
12
13#include <Akonadi/Collection>
14#include <Akonadi/Item>
15
16#include <QDialog>
17
19class QLineEdit;
20
21namespace TextCustomEditor
22{
23class RichTextEditorWidget;
24}
25
26namespace Akonadi
27{
29}
30
31namespace CalendarSupport
32{
33class CALENDARSUPPORT_EXPORT NoteEditDialog : public QDialog
34{
35 Q_OBJECT
36public:
37 explicit NoteEditDialog(QWidget *parent = nullptr);
38 ~NoteEditDialog() override;
39
40 [[nodiscard]] Akonadi::Collection collection() const;
41 void setCollection(const Akonadi::Collection &value);
42
43 void load(const Akonadi::Item &item);
44 [[nodiscard]] KMime::Message::Ptr note() const;
45
46 // Used for tests
47 static QAbstractItemModel *_k_noteEditStubModel;
48
49public Q_SLOTS:
50 void accept() override;
51
52private Q_SLOTS:
53 CALENDARSUPPORT_NO_EXPORT void slotCollectionChanged(int);
54 CALENDARSUPPORT_NO_EXPORT void slotUpdateButtons();
55
56Q_SIGNALS:
57 void createNote(const Akonadi::Item &note, const Akonadi::Collection &collection);
58 void collectionChanged(const Akonadi::Collection &col);
59
60private:
61 CALENDARSUPPORT_NO_EXPORT void readConfig();
62 CALENDARSUPPORT_NO_EXPORT void writeConfig();
63 Akonadi::Collection mCollection;
64 Akonadi::Item mItem;
65 QLineEdit *const mNoteTitle;
66 QPushButton *mOkButton = nullptr;
67 TextCustomEditor::RichTextEditorWidget *mNoteText = nullptr;
68 Akonadi::CollectionComboBox *mCollectionCombobox = nullptr;
69};
70}
QAction * load(const QObject *recvr, const char *slot, QObject *parent)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:16:32 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.