Messagelib

plugineditorbase.h
1/*
2 SPDX-FileCopyrightText: 2021-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "messagecomposer_export.h"
10#include <QObject>
11#include <memory>
12namespace MessageComposer
13{
14class PluginEditorBasePrivate;
15/**
16 * @brief The PluginEditorBase class
17 * @author Laurent Montel <montel@kde.org>
18 */
19class MESSAGECOMPOSER_EXPORT PluginEditorBase : public QObject
20{
21 Q_OBJECT
22public:
23 explicit PluginEditorBase(QObject *parent = nullptr);
24 ~PluginEditorBase() override;
25
26 [[nodiscard]] virtual bool hasConfigureDialog() const;
27
28 virtual void showConfigureDialog(QWidget *parent = nullptr);
29
30 void emitConfigChanged();
31
32 [[nodiscard]] virtual QString description() const;
33
34 void setIsEnabled(bool enabled);
35 [[nodiscard]] bool isEnabled() const;
36
37Q_SIGNALS:
38 void configChanged();
39
40private:
41 std::unique_ptr<PluginEditorBasePrivate> const d;
42};
43}
The PluginEditorBase class.
Simple interface that both EncryptJob and SignEncryptJob implement so the composer can extract some e...
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 22 2024 12:05:10 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.