File indexing completed on 2025-01-19 03:51:17

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 acquire images with a digital scanner.
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_DSCANNER_PLUGIN_H
0016 #define DIGIKAM_DSCANNER_PLUGIN_H
0017 
0018 // Local includes
0019 
0020 #include "dplugingeneric.h"
0021 
0022 // KDE includes
0023 
0024 #include <ksanewidget.h>
0025 
0026 #define DPLUGIN_IID "org.kde.digikam.plugin.generic.DigitalScanner"
0027 
0028 using namespace Digikam;
0029 
0030 namespace DigikamGenericDScannerPlugin
0031 {
0032 
0033 class DigitalScannerPlugin : public DPluginGeneric
0034 {
0035     Q_OBJECT
0036     Q_PLUGIN_METADATA(IID DPLUGIN_IID)
0037     Q_INTERFACES(Digikam::DPluginGeneric)
0038 
0039 public:
0040 
0041     explicit DigitalScannerPlugin(QObject* const parent = nullptr);
0042     ~DigitalScannerPlugin()              override;
0043 
0044     QString name()                 const override;
0045     QString iid()                  const override;
0046     QIcon   icon()                 const override;
0047     QString details()              const override;
0048     QString description()          const override;
0049     QList<DPluginAuthor> authors() const override;
0050     QString handbookSection()      const override;
0051     QString handbookChapter()      const override;
0052 
0053     void setup(QObject* const)           override;
0054     void cleanUp()                       override;
0055 
0056 private Q_SLOTS:
0057 
0058     void slotDigitalScanner();
0059 
0060 private:
0061 
0062     KSaneIface::KSaneWidget* m_saneWidget = nullptr;
0063 };
0064 
0065 } // namespace DigikamGenericDScannerPlugin
0066 
0067 #endif // DIGIKAM_DSCANNER_PLUGIN_H