BibleTime
btbookshelfworkspage.h
Go to the documentation of this file.
1 /*********
2 *
3 * In the name of the Father, and of the Son, and of the Holy Spirit.
4 *
5 * This file is part of BibleTime's source code, https://bibletime.info/
6 *
7 * Copyright 1999-2021 by the BibleTime developers.
8 * The BibleTime source code is licensed under the GNU General Public License
9 * version 2.0.
10 *
11 **********/
12 
13 #pragma once
14 
15 #include "btbookshelfwizardpage.h"
16 
17 #include <memory>
18 #include <QObject>
19 #include <QString>
20 #include <vector>
21 #include "../../backend/bookshelfmodel/btbookshelftreemodel.h"
22 #include "../../backend/managers/cswordbackend.h"
23 #include "btbookshelfwizardenums.h"
24 
25 
27 class BtBookshelfModel;
28 class BtBookshelfView;
29 class BtInstallPageModel;
30 class BtModuleSet;
31 class QComboBox;
32 class QLabel;
33 class QLineEdit;
34 class QMenu;
35 class QToolButton;
36 class QWidget;
37 
39 
40  Q_OBJECT
41 
42 public: // methods:
43 
44  BtBookshelfWorksPage(WizardTaskType iType, QWidget * parent = nullptr);
45 
46  BtModuleSet const & checkedModules() const;
47  bool isComplete() const final override;
48  void initializePage() final override;
49  QString installPath() const;
50  int nextId() const final override;
51 
52 private Q_SLOTS:
53 
55  BtBookshelfTreeModel::Grouping const & grouping);
57  void slotPathChanged(int const index);
58  void slotInitPathCombo();
59 
60 private: // methods:
61 
62  void retranslateUi();
63 
64 private: // fields:
65 
68 
71  QLabel * m_msgLabel;
72  QLabel * m_pathLabel;
73  QLabel * m_groupingLabel;
75 
78 
80  std::vector<std::unique_ptr<CSwordBackend const>> m_usedBackends;
81  std::shared_ptr<BtBookshelfModel> m_bookshelfModel;
82 
86 
87 }; /* class BtBookshelfWorksPage */
QToolButton * m_groupingButton
bool isComplete() const final override
void initializePage() final override
std::shared_ptr< BtBookshelfModel > m_bookshelfModel
std::vector< std::unique_ptr< CSwordBackend const > > m_usedBackends
void slotGroupingActionTriggered(BtBookshelfTreeModel::Grouping const &grouping)
BtModuleSet const & checkedModules() const
int nextId() const final override
void slotGroupingOrderChanged(BtBookshelfTreeModel::Grouping const &g)
WizardTaskType const m_taskType
BtBookshelfTreeModel::Grouping m_groupingOrder
void slotPathChanged(int const index)
BtBookshelfGroupingMenu * m_groupingMenu
BtBookshelfWorksPage(WizardTaskType iType, QWidget *parent=nullptr)
BtBookshelfView * m_bookshelfView
BtInstallPageModel * m_installPageModel