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