summaryrefslogtreecommitdiff
path: root/src/dic-options/PacksPage.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dic-options/PacksPage.h')
-rw-r--r--src/dic-options/PacksPage.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/dic-options/PacksPage.h b/src/dic-options/PacksPage.h
new file mode 100644
index 0000000..e191367
--- /dev/null
+++ b/src/dic-options/PacksPage.h
@@ -0,0 +1,70 @@
+#ifndef PACKSPAGE_H
+#define PACKSPAGE_H
+
+#include <QWidget>
+#include <QAbstractListModel>
+#include <QModelIndex>
+#include <QListView>
+#include <QVBoxLayout>
+#include <QHBoxLayout>
+#include <QGridLayout>
+
+#include "DictionaryOptionsDialog.h"
+#include "PackFieldsView.h"
+
+class CardSideView;
+class Dictionary;
+class PacksListModel;
+class UnusedFieldsListModel;
+
+class PacksPage : public QWidget
+{
+ Q_OBJECT
+public:
+ PacksPage( DictionaryOptionsDialog* aParent );
+ ~PacksPage();
+
+public slots:
+ void moveItemsUpDown();
+ void removeFields();
+ void addFields();
+ void addPack();
+ void removePacks();
+ void renamePack();
+
+private:
+ void createPacksList();
+ void createPackFieldsList();
+ void createUnusedFieldsList();
+ void createPackPreview();
+
+private slots:
+ void updatePreviewForPack();
+ void updateUsesExactAnswer(const QModelIndex& index);
+ void updatePackUsesExactAnswer(int state);
+
+private:
+ DictionaryOptionsDialog* m_parent;
+
+ // Models
+ PacksListModel* m_packsListModel;
+ QAbstractListModel* m_packFieldsListModel;
+ UnusedFieldsListModel* m_unusedFieldsListModel;
+ int m_curPack;
+
+ // List views
+ PackFieldsView* m_packsListView;
+ PackFieldsView* m_fieldsListView;
+ PackFieldsView* m_unusedFieldsListView;
+ QCheckBox* usesExactAnswerBox;
+ CardSideView* m_qstPreview;
+ CardSideView* m_ansPreview;
+
+ // Layouts
+ QGridLayout* m_packsListLt;
+ QGridLayout* m_fieldsListLt;
+ QGridLayout* m_unusedFieldsListLt;
+ QVBoxLayout* m_previewLt;
+};
+
+#endif