digiKam
panopreviewpage.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 : 2011-05-23
7  * Description : a tool to create panorama by fusion of several images.
8  *
9  * Copyright (C) 2011-2016 by Benjamin Girault <benjamin dot girault 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_PANO_PREVIEW_PAGE_H
24 #define DIGIKAM_PANO_PREVIEW_PAGE_H
25 
26 // Local includes
27 
28 #include "dwizardpage.h"
29 #include "panoactions.h"
30 #include <QMutexLocker>
31 #include <QMutex>
32 
33 using namespace Digikam;
34 
36 {
37 
38 class PanoManager;
39 
41 {
42  Q_OBJECT
43 
44 public:
45 
46  explicit PanoPreviewPage(PanoManager* const mngr, QWizard* const dlg);
47  ~PanoPreviewPage() override;
48 
49 private:
50 
51  void computePreview();
52  void startStitching();
53 
54  void preInitializePage();
55  void initializePage() override;
56  bool validatePage() override;
57  void cleanupPage() override;
58 
59 #if (QT_VERSION > QT_VERSION_CHECK(5, 99, 0))
60  void cleanupPage(QMutexLocker<QMutex>& lock);
61 #else
62  void cleanupPage(QMutexLocker& lock);
63 #endif
64 
65 Q_SIGNALS:
66 
69 
70 private Q_SLOTS:
71 
72  void slotCancel();
73  void slotStartStitching();
74  void slotPanoAction(const DigikamGenericPanoramaPlugin::PanoActionData&);
75 
76 private:
77 
78  class Private;
79  Private* const d;
80 };
81 
82 } // namespace DigikamGenericPanoramaPlugin
83 
84 #endif // DIGIKAM_PANO_PREVIEW_PAGE_H
Definition: panomanager.h:55
Definition: panopreviewpage.h:41
Definition: dwizardpage.h:42
Definition: panoactions.h:36
Definition: datefolderview.cpp:43