File indexing completed on 2024-09-15 03:46:19

0001 /*
0002     SPDX-FileCopyrightText: 2009, 2010 Stefan Majewsky <majewsky@gmx.net>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef PALAPELI_PUZZLECREATOR_H
0008 #define PALAPELI_PUZZLECREATOR_H
0009 
0010 #include "slicerselector.h"
0011 
0012 #include <QMap>
0013 class QStackedWidget;
0014 #include <KAssistantDialog>
0015 class KLineEdit;
0016 class KUrlRequester;
0017 
0018 namespace Pala
0019 {
0020     class Slicer;
0021 }
0022 
0023 namespace Palapeli
0024 {
0025     class Puzzle;
0026     class SlicerConfigWidget;
0027 
0028     class PuzzleCreatorDialog : public KAssistantDialog
0029     {
0030         Q_OBJECT
0031         public:
0032             PuzzleCreatorDialog();
0033 
0034             Palapeli::Puzzle* result() const;
0035         private Q_SLOTS:
0036             void checkData();
0037             void updateSlicerSelection(const Palapeli::SlicerSelection& selection);
0038             void createPuzzle();
0039         private:
0040             Palapeli::Puzzle* m_result;
0041             //page items
0042             KPageWidgetItem* m_sourcePage;
0043             KPageWidgetItem* m_slicerPage;
0044             KPageWidgetItem* m_slicerConfigPage;
0045             //first page
0046             KUrlRequester* m_imageSelector;
0047             KLineEdit* m_nameEdit;
0048             KLineEdit* m_commentEdit;
0049             KLineEdit* m_authorEdit;
0050             //second/third page
0051             Palapeli::SlicerSelector* m_slicerSelector;
0052             QMap<const Pala::Slicer*, Palapeli::SlicerConfigWidget*> m_slicerConfigWidgets;
0053             QStackedWidget* m_slicerConfigMasterWidget;
0054     };
0055 }
0056 
0057 #endif // PALAPELI_PUZZLECREATOR_H