digiKam
rawimportdarktableplugin.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 : 2019-09-18
7  * Description : DarkTable raw import plugin.
8  *
9  * Copyright (C) 2019-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * ============================================================ */
22 
23 #ifndef DIGIKAM_RAW_IMPORT_DARKTABLE_PLUGIN_H
24 #define DIGIKAM_RAW_IMPORT_DARKTABLE_PLUGIN_H
25 
26 // Qt includes
27 
28 #include <QProcess>
29 
30 // Local includes
31 
32 #include "dpluginrawimport.h"
33 
34 #define DPLUGIN_IID "org.kde.digikam.plugin.rawimport.DarkTable"
35 
36 using namespace Digikam;
37 
39 {
40 
41 // cppcheck-suppress noConstructor
43 {
44  Q_OBJECT
45  Q_PLUGIN_METADATA(IID DPLUGIN_IID)
46  Q_INTERFACES(Digikam::DPluginRawImport)
47 
48 public:
49 
50  explicit DarkTableRawImportPlugin(QObject* const parent = nullptr);
51  ~DarkTableRawImportPlugin() override;
52 
53  QString name() const override;
54  QString iid() const override;
55  QIcon icon() const override;
56  QString details() const override;
57  QString description() const override;
58  QList<DPluginAuthor> authors() const override;
59 
60  void setup(QObject* const) override;
61 
62  bool run(const QString& filePath, const DRawDecoding& def) override;
63 
64 private Q_SLOTS:
65 
66  void slotErrorOccurred(QProcess::ProcessError);
67  void slotProcessFinished(int, QProcess::ExitStatus);
68  void slotProcessReadyRead();
69 
70 private:
71 
72  class Private;
73  Private* const d;
74 };
75 
76 } // namespace DigikamRawImportDarkTablePlugin
77 
78 #endif // DIGIKAM_RAW_IMPORT_DARKTABLE_PLUGIN_H
Definition: rawimportdarktableplugin.h:43
Definition: dpluginrawimport.h:39
Definition: drawdecoding.h:48
Definition: piwigotalker.h:48
Definition: rawimportdarktableplugin.cpp:51
Definition: datefolderview.cpp:43
#define DPLUGIN_IID
Definition: rawimportdarktableplugin.h:34