File indexing completed on 2025-01-05 03:53:12
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2011-05-23 0007 * Description : a tool to create panorama by fusion of several images. 0008 * Acknowledge : based on the expoblending tool 0009 * 0010 * SPDX-FileCopyrightText: 2011-2016 by Benjamin Girault <benjamin dot girault at gmail dot com> 0011 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0012 * 0013 * SPDX-License-Identifier: GPL-2.0-or-later 0014 * 0015 * ============================================================ */ 0016 0017 #include "panowizard.h" 0018 0019 // KDE includes 0020 0021 #include <klocalizedstring.h> 0022 0023 // Local includes 0024 0025 #include "panomanager.h" 0026 #include "panointropage.h" 0027 #include "panoitemspage.h" 0028 #include "panopreprocesspage.h" 0029 #include "panooptimizepage.h" 0030 #include "panopreviewpage.h" 0031 #include "panolastpage.h" 0032 #include "dxmlguiwindow.h" 0033 0034 namespace DigikamGenericPanoramaPlugin 0035 { 0036 0037 class Q_DECL_HIDDEN PanoWizard::Private 0038 { 0039 public: 0040 0041 explicit Private() 0042 : mngr (nullptr), 0043 introPage (nullptr), 0044 itemsPage (nullptr), 0045 preProcessingPage(nullptr), 0046 optimizePage (nullptr), 0047 previewPage (nullptr), 0048 lastPage (nullptr) 0049 { 0050 } 0051 0052 PanoManager* mngr; 0053 PanoIntroPage* introPage; 0054 PanoItemsPage* itemsPage; 0055 PanoPreProcessPage* preProcessingPage; 0056 PanoOptimizePage* optimizePage; 0057 PanoPreviewPage* previewPage; 0058 PanoLastPage* lastPage; 0059 }; 0060 0061 PanoWizard::PanoWizard(PanoManager* const mngr, QWidget* const parent) 0062 : DWizardDlg(parent, QLatin1String("Panorama Dialog")), 0063 d(new Private) 0064 { 0065 setModal(false); 0066 setWindowTitle(i18nc("@title:window", "Panorama Creator Wizard")); 0067 0068 d->mngr = mngr; 0069 d->introPage = new PanoIntroPage(d->mngr, this); 0070 d->itemsPage = new PanoItemsPage(d->mngr, this); 0071 d->preProcessingPage = new PanoPreProcessPage(d->mngr, this); 0072 d->optimizePage = new PanoOptimizePage(d->mngr, this); 0073 d->previewPage = new PanoPreviewPage(d->mngr, this); 0074 d->lastPage = new PanoLastPage(d->mngr, this); 0075 0076 // --------------------------------------------------------------- 0077 0078 connect(d->preProcessingPage, SIGNAL(signalPreProcessed()), 0079 this, SLOT(next())); 0080 0081 connect(d->optimizePage, SIGNAL(signalOptimized()), 0082 this, SLOT(next())); 0083 0084 connect(d->previewPage, SIGNAL(signalStitchingFinished()), 0085 this, SLOT(next())); 0086 0087 connect(d->lastPage, SIGNAL(signalCopyFinished()), 0088 this, SLOT(accept())); 0089 } 0090 0091 PanoWizard::~PanoWizard() 0092 { 0093 delete d; 0094 } 0095 0096 } // namespace DigikamGenericPanoramaPlugin 0097 0098 #include "moc_panowizard.cpp"