digiKam
Loading...
Searching...
No Matches
dplugingeneric.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2018-07-30
7 * Description : Generic digiKam plugin definition.
8 *
9 * SPDX-FileCopyrightText: 2018-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QWidget>
20
21// Local includes
22
23#include "dinfointerface.h"
24#include "dplugin.h"
25#include "dpluginaction.h"
26#include "digikam_export.h"
27
28namespace Digikam
29{
30
31class DIGIKAM_EXPORT DPluginGeneric : public DPlugin
32{
33 Q_OBJECT
34
35public:
36
40 explicit DPluginGeneric(QObject* const parent = nullptr);
41
45 ~DPluginGeneric() override;
46
47public:
48
52 void setVisible(bool b) override;
53
57 QList<DPluginAction*> actions(QObject* const parent) const;
58
62 int count() const override;
63
67 DPluginAction* findActionByName(const QString& name, QObject* const parent) const;
68
72 QStringList categories() const override;
73
77 QString ifaceIid() const override { return QLatin1String(DIGIKAM_DPLUGIN_GENERIC_IID); };
78
79protected:
80
81 void addAction(DPluginAction* const ac);
82
86 DInfoInterface* infoIface(QObject* const ac) const;
87
91 bool reactivateToolDialog(QWidget* const dlg) const;
92
93private:
94
95 class Private;
96 Private* const d = nullptr;
97};
98
99} // namespace Digikam
100
Definition dinfointerface.h:48
Definition dpluginaction.h:30
Definition dplugingeneric.h:32
QString ifaceIid() const override
Definition dplugingeneric.h:77
Definition dplugin.h:51
#define DIGIKAM_DPLUGIN_GENERIC_IID
Definition dplugin.h:38
Definition datefolderview.cpp:34