1 /* ============================================================ 2 * 3 * This file is a part of digiKam project 4 * https://www.digikam.org 5 * 6 * Date : 2009-12-13 7 * Description : a tool to blend bracketed images. 8 * 9 * Copyright (C) 2009-2021 by Gilles Caulier <caulier dot gilles at gmail dot com> 10 * Copyright (C) 2015 by Benjamin Girault <benjamin dot girault at gmail dot com> 11 * 12 * This program is free software; you can redistribute it 13 * and/or modify it under the terms of the GNU General 14 * Public License as published by the Free Software Foundation; 15 * either version 2, or (at your option) 16 * any later version. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * ============================================================ */ 24 25 #ifndef DIGIKAM_EXPO_BLENDING_DLG_H 26 #define DIGIKAM_EXPO_BLENDING_DLG_H 27 28 // Qt includes 29 30 #include <QString> 31 #include <QPixmap> 32 #include <QDialog> 33 #include <QDialogButtonBox> 34 35 // Local includes 36 37 #include "expoblendingactions.h" 38 39 class QCloseEvent; 40 41 namespace DigikamGenericExpoBlendingPlugin 42 { 43 44 class ExpoBlendingManager; 45 class ExpoBlendingActionData; 46 47 class ExpoBlendingDlg : public QDialog 48 { 49 Q_OBJECT 50 51 public: 52 53 explicit ExpoBlendingDlg(ExpoBlendingManager* const mngr, 54 QWidget* const parent = nullptr); 55 ~ExpoBlendingDlg() override; 56 57 void loadItems(const QList<QUrl>& urls); 58 59 Q_SIGNALS: 60 61 void cancelClicked(); 62 63 private: 64 65 void closeEvent(QCloseEvent*) override; 66 67 void setRejectButtonMode(QDialogButtonBox::StandardButton button); 68 69 void readSettings(); 70 void saveSettings(); 71 72 void busy(bool busy); 73 void saveItem(const QUrl& temp, const EnfuseSettings& settings); 74 75 void setIdentity(const QUrl& url, const QString& identity); 76 77 private Q_SLOTS: 78 79 void slotCloseClicked(); 80 void slotDefault(); 81 void slotPreview(); 82 void slotProcess(); 83 void slotCancelClicked(); 84 void slotFinished(); 85 86 void slotLoadProcessed(const QUrl&); 87 void slotExpoBlendingAction(const DigikamGenericExpoBlendingPlugin::ExpoBlendingActionData&); 88 void slotAddItems(const QList<QUrl>& urls); 89 void slotItemClicked(const QUrl& url); 90 91 void slotPreviewButtonClicked(); 92 void slotFileFormatChanged(); 93 94 private: 95 96 class Private; 97 Private* const d; 98 }; 99 100 } // namespace DigikamGenericExpoBlendingPlugin 101 102 #endif // DIGIKAM_EXPO_BLENDING_DLG_H 103