summaryrefslogtreecommitdiff
path: root/src/frontend/settingsdialogs/cswordsettings.h
blob: c54630d2dcdba396d5e2e750ea7d8b02c80b4bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2011 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

#ifndef CSWORDSETTINGS_H
#define CSWORDSETTINGS_H

#include "frontend/bookshelfmanager/btconfigdialog.h"
#include <QWidget>


class CConfigurationDialog;
class CSwordSettingsPage;
class QCheckBox;
class QComboBox;
class QLabel;


/*******************************************************************************
  StandardWorksTab
*******************************************************************************/

class StandardWorksTab: public QWidget {

    Q_OBJECT

    public: /* Methods: */

        StandardWorksTab(CSwordSettingsPage *parent);

        void save();

    protected: /* Methods: */

        void retranslateUi();

    private: /* Fields: */

        QLabel *m_explanationLabel;

#define STANDARD_WORKS_TAB_FIELD(name) \
        QLabel *m_ ## name ## Label; \
        QComboBox *m_ ## name ## Combo

        STANDARD_WORKS_TAB_FIELD(standardBible);
        STANDARD_WORKS_TAB_FIELD(standardCommentary);
        STANDARD_WORKS_TAB_FIELD(standardLexicon);
        STANDARD_WORKS_TAB_FIELD(standardDailyDevotional);
        STANDARD_WORKS_TAB_FIELD(standardHebrewStrongsLexicon);
        STANDARD_WORKS_TAB_FIELD(standardGreekStrongsLexicon);
        STANDARD_WORKS_TAB_FIELD(standardHebrewMorphLexicon);
        STANDARD_WORKS_TAB_FIELD(standardGreekMorphLexicon);
};


/*******************************************************************************
  TextFiltersTab
*******************************************************************************/

class TextFiltersTab: public QWidget {

    Q_OBJECT

    public: /* Methods: */

        TextFiltersTab(CSwordSettingsPage *parent);

        void save();

    protected: /* Methods: */

        void retranslateUi();

    private: /* Fields: */

        QLabel *m_explanationLabel;

#define TEXT_FILTERS_TAB_FIELD(name) QCheckBox *m_ ## name ## Check

        TEXT_FILTERS_TAB_FIELD(lineBreaks);
        TEXT_FILTERS_TAB_FIELD(verseNumbers);
        TEXT_FILTERS_TAB_FIELD(headings);
        TEXT_FILTERS_TAB_FIELD(hebrewPoints);
        TEXT_FILTERS_TAB_FIELD(hebrewCantillation);
        TEXT_FILTERS_TAB_FIELD(morphSegmentation);
        TEXT_FILTERS_TAB_FIELD(greekAccents);
        TEXT_FILTERS_TAB_FIELD(textualVariants);
        TEXT_FILTERS_TAB_FIELD(scriptureReferences);

};


/*******************************************************************************
  CSwordSettingsPage
*******************************************************************************/

class CSwordSettingsPage: public BtConfigDialog::Page {

        Q_OBJECT

    public: /* Methods: */

        CSwordSettingsPage(CConfigurationDialog *parent = 0);

        void save();

    protected: /* Methods: */

        void retranslateUi();

    private: /* Fields: */

        QTabWidget *m_tabWidget;
        StandardWorksTab *m_worksTab;
        TextFiltersTab *m_filtersTab;

};

#endif