Pimcommon

customtoolsplugin.h
1/*
2 SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "pimcommon_export.h"
10#include <QObject>
11#include <memory>
13namespace PimCommon
14{
15class CustomToolsWidgetNg;
16class CustomToolsViewInterface;
17class CustomToolsPluginPrivate;
18/**
19 * @brief The CustomToolsPlugin class
20 * @author Laurent Montel <montel@kde.org>
21 */
22class PIMCOMMON_EXPORT CustomToolsPlugin : public QObject
23{
24 Q_OBJECT
25public:
26 explicit CustomToolsPlugin(QObject *parent = nullptr);
27 ~CustomToolsPlugin() override;
28
29 virtual PimCommon::CustomToolsViewInterface *createView(KActionCollection *ac, CustomToolsWidgetNg *parent = nullptr) = 0;
30 [[nodiscard]] virtual QString customToolName() const = 0;
31
32 [[nodiscard]] virtual bool hasConfigureDialog() const;
33 virtual void showConfigureDialog(QWidget *parent);
34
35 void emitConfigChanged();
36
37 [[nodiscard]] virtual QString description() const;
38
39 void setIsEnabled(bool enabled);
40 [[nodiscard]] bool isEnabled() const;
41
42private:
43 std::unique_ptr<CustomToolsPluginPrivate> const d;
44};
45}
The CustomToolsPlugin class.
The CustomToolsViewInterface class.
The CustomToolsWidgetNg class.
folderdialogacltab.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:08:32 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.