File indexing completed on 2025-03-09 03:50:50
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-12-13 0007 * Description : a tool to blend bracketed images. 0008 * 0009 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * SPDX-FileCopyrightText: 2015 by Benjamin Girault <benjamin dot girault at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_EXPO_BLENDING_DLG_H 0017 #define DIGIKAM_EXPO_BLENDING_DLG_H 0018 0019 // Qt includes 0020 0021 #include <QString> 0022 #include <QPixmap> 0023 #include <QDialog> 0024 #include <QDialogButtonBox> 0025 0026 // Local includes 0027 0028 #include "expoblendingactions.h" 0029 0030 class QCloseEvent; 0031 0032 namespace DigikamGenericExpoBlendingPlugin 0033 { 0034 0035 class ExpoBlendingManager; 0036 class ExpoBlendingActionData; 0037 0038 class ExpoBlendingDlg : public QDialog 0039 { 0040 Q_OBJECT 0041 0042 public: 0043 0044 explicit ExpoBlendingDlg(ExpoBlendingManager* const mngr, 0045 QWidget* const parent = nullptr); 0046 ~ExpoBlendingDlg() override; 0047 0048 void loadItems(const QList<QUrl>& urls); 0049 0050 Q_SIGNALS: 0051 0052 void cancelClicked(); 0053 0054 private: 0055 0056 void closeEvent(QCloseEvent*) override; 0057 0058 void setRejectButtonMode(QDialogButtonBox::StandardButton button); 0059 0060 void readSettings(); 0061 void saveSettings(); 0062 0063 void busy(bool busy); 0064 void saveItem(const QUrl& temp, const EnfuseSettings& settings); 0065 0066 void setIdentity(const QUrl& url, const QString& identity); 0067 0068 private Q_SLOTS: 0069 0070 void slotCloseClicked(); 0071 void slotDefault(); 0072 void slotPreview(); 0073 void slotProcess(); 0074 void slotCancelClicked(); 0075 void slotFinished(); 0076 0077 void slotLoadProcessed(const QUrl&); 0078 void slotExpoBlendingAction(const DigikamGenericExpoBlendingPlugin::ExpoBlendingActionData&); 0079 void slotAddItems(const QList<QUrl>& urls); 0080 void slotItemClicked(const QUrl& url); 0081 0082 void slotPreviewButtonClicked(); 0083 void slotFileFormatChanged(); 0084 0085 private: 0086 0087 class Private; 0088 Private* const d; 0089 }; 0090 0091 } // namespace DigikamGenericExpoBlendingPlugin 0092 0093 #endif // DIGIKAM_EXPO_BLENDING_DLG_H