File indexing completed on 2025-03-09 03:50:51

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2009-11-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: 2012-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_WIZARD_H
0017 #define DIGIKAM_EXPO_BLENDING_WIZARD_H
0018 
0019 // Qt includes
0020 
0021 #include <QString>
0022 #include <QWidget>
0023 
0024 // Local includes
0025 
0026 #include "dwizarddlg.h"
0027 #include "expoblendingactions.h"
0028 
0029 using namespace Digikam;
0030 
0031 namespace DigikamGenericExpoBlendingPlugin
0032 {
0033 class ExpoBlendingManager;
0034 
0035 class ExpoBlendingWizard : public DWizardDlg
0036 {
0037     Q_OBJECT
0038 
0039 public:
0040 
0041     explicit ExpoBlendingWizard(ExpoBlendingManager* const mngr, QWidget* const parent = nullptr);
0042     ~ExpoBlendingWizard()                override;
0043 
0044     QList<QUrl> itemUrls()         const;
0045 
0046     ExpoBlendingManager* manager() const;
0047 
0048     bool validateCurrentPage()           override;
0049 
0050 private Q_SLOTS:
0051 
0052     void slotCurrentIdChanged(int);
0053     void slotExpoBlendingIntroPageIsValid(bool);
0054     void slotItemsPageIsValid(bool);
0055     void slotPreProcessed(const ExpoBlendingItemUrlsMap&);
0056 
0057 private:
0058 
0059     class Private;
0060     Private* const d;
0061 };
0062 
0063 } // namespace DigikamGenericExpoBlendingPlugin
0064 
0065 #endif // DIGIKAM_EXPO_BLENDING_WIZARD_H