diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2021-07-14 11:49:10 +1200 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2021-07-14 11:49:10 +1200 |
commit | d24f813f3f2a05c112e803e4256b53535895fc98 (patch) | |
tree | 601e6ae9a1cd44bcfdcf91739a5ca36aedd827c9 /src/dic-options/PacksPage.h |
Diffstat (limited to 'src/dic-options/PacksPage.h')
-rw-r--r-- | src/dic-options/PacksPage.h | 70 |
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 |