File indexing completed on 2025-01-05 03:53:24

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2018-07-30
0007  * Description : a plugin to export to Dropbox web-service.
0008  *
0009  * SPDX-FileCopyrightText: 2018-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #ifndef DIGIKAM_DB_PLUGIN_H
0016 #define DIGIKAM_DB_PLUGIN_H
0017 
0018 // Local includes
0019 
0020 #include "dplugingeneric.h"
0021 
0022 #define DPLUGIN_IID "org.kde.digikam.plugin.generic.DropBox"
0023 
0024 using namespace Digikam;
0025 
0026 namespace DigikamGenericDropBoxPlugin
0027 {
0028 
0029 class DBWindow;
0030 
0031 class DBPlugin : public DPluginGeneric
0032 {
0033     Q_OBJECT
0034     Q_PLUGIN_METADATA(IID DPLUGIN_IID)
0035     Q_INTERFACES(Digikam::DPluginGeneric)
0036 
0037 public:
0038 
0039     explicit DBPlugin(QObject* const parent = nullptr);
0040     ~DBPlugin()                          override;
0041 
0042     QString name()                 const override;
0043     QString iid()                  const override;
0044     QIcon   icon()                 const override;
0045     QString details()              const override;
0046     QString description()          const override;
0047     QList<DPluginAuthor> authors() const override;
0048     QString handbookSection()      const override;
0049     QString handbookChapter()      const override;
0050 
0051     void setup(QObject* const)           override;
0052     void cleanUp()                       override;
0053 
0054 private Q_SLOTS:
0055 
0056     void slotDropBox();
0057 
0058 private:
0059 
0060     QPointer<DBWindow> m_toolDlg;
0061 };
0062 
0063 } // namespace DigikamGenericDropBoxPlugin
0064 
0065 #endif // DIGIKAM_DB_PLUGIN_H