File indexing completed on 2025-03-09 03:52:14

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 and import items with a remote location.
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_FT_PLUGIN_H
0016 #define DIGIKAM_FT_PLUGIN_H
0017 
0018 // Local includes
0019 
0020 #include "dplugingeneric.h"
0021 
0022 #define DPLUGIN_IID "org.kde.digikam.plugin.generic.FileTransfer"
0023 
0024 using namespace Digikam;
0025 
0026 namespace DigikamGenericFileTransferPlugin
0027 {
0028 
0029 class FTExportWindow;
0030 class FTImportWindow;
0031 
0032 class FTPlugin : public DPluginGeneric
0033 {
0034     Q_OBJECT
0035     Q_PLUGIN_METADATA(IID DPLUGIN_IID)
0036     Q_INTERFACES(Digikam::DPluginGeneric)
0037 
0038 public:
0039 
0040     explicit FTPlugin(QObject* const parent = nullptr);
0041     ~FTPlugin()                          override;
0042 
0043     QString name()                 const override;
0044     QString iid()                  const override;
0045     QIcon   icon()                 const override;
0046     QString details()              const override;
0047     QString description()          const override;
0048     QList<DPluginAuthor> authors() const override;
0049     QString handbookSection()      const override;
0050     QString handbookChapter()      const override;
0051 
0052     void setup(QObject* const)           override;
0053     void cleanUp()                       override;
0054 
0055 private Q_SLOTS:
0056 
0057     void slotFileTransferExport();
0058     void slotFileTransferImport();
0059 
0060 private:
0061 
0062     QPointer<FTExportWindow> m_toolDlgExport;
0063     QPointer<FTImportWindow> m_toolDlgImport;
0064 };
0065 
0066 } // namespace DigikamGenericFileTransferPlugin
0067 
0068 #endif // DIGIKAM_FT_PLUGIN_H