]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QPrefsDialog.h
fix qprefs ui (bug 1829)
[lyx.git] / src / frontends / qt2 / QPrefsDialog.h
1 // -*- C++ -*-
2 /**
3  * \file QPrefsDialog.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author John Levon
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef QPREFSDIALOG_H
13 #define QPREFSDIALOG_H
14
15 #include "LColor.h"
16
17 #include "ui/QPrefsDialogBase.h"
18
19 #include <vector>
20
21 class LColor_color;
22 class QPrefAsciiModule;
23 class QPrefDateModule;
24 class QPrefKeyboardModule;
25 class QPrefLatexModule;
26 class QPrefScreenFontsModule;
27 class QPrefColorsModule;
28 class QPrefCygwinPathModule;
29 class QPrefDisplayModule;
30 class QPrefPathsModule;
31 class QPrefSpellcheckerModule;
32 class QPrefConvertersModule;
33 class QPrefCopiersModule;
34 class QPrefFileformatsModule;
35 class QPrefLanguageModule;
36 class QPrefPrinterModule;
37 class QPrefUIModule;
38 class QPrefIdentityModule;
39
40 namespace lyx {
41 namespace frontend {
42
43 class QPrefs;
44
45 class QPrefsDialog : public QPrefsDialogBase {
46         Q_OBJECT
47 public:
48         friend class QPrefs;
49
50         QPrefsDialog(QPrefs *);
51
52         ~QPrefsDialog();
53
54         void updateConverters();
55         void updateConverterButtons();
56         void updateCopiers();
57         void updateCopierButtons();
58         void updateFormats();
59         void updateFormatsButtons();
60
61 public slots:
62         void change_adaptor();
63
64         void switch_format(int);
65         void fileformat_changed();
66         void new_format();
67         void modify_format();
68         void remove_format();
69
70         void switch_converter(int);
71         void converter_changed();
72         void new_converter();
73         void modify_converter();
74         void remove_converter();
75
76         void switch_copierLB(int nr);
77         void switch_copierCO(int nr);
78         void copiers_changed();
79         void new_copier();
80         void modify_copier();
81         void remove_copier();
82
83         void change_color();
84
85         void select_ui();
86         void select_bind();
87         void select_keymap1();
88         void select_keymap2();
89         void select_dict();
90         void select_templatedir();
91         void select_tempdir();
92         void select_backupdir();
93         void select_workingdir();
94         void select_lyxpipe();
95
96         void select_roman(const QString&);
97         void select_sans(const QString&);
98         void select_typewriter(const QString&);
99
100 protected:
101         void closeEvent(QCloseEvent * e);
102
103 private:
104
105         std::vector<LColor_color> colors_;
106
107         QPrefAsciiModule * asciiModule;
108         QPrefDateModule * dateModule;
109         QPrefKeyboardModule * keyboardModule;
110         QPrefLatexModule * latexModule;
111         QPrefScreenFontsModule * screenfontsModule;
112         QPrefColorsModule * colorsModule;
113 #if defined(__CYGWIN__) || defined(__CYGWIN32__)
114         QPrefCygwinPathModule * cygwinpathModule;       
115 #endif  
116         QPrefDisplayModule * displayModule;
117         QPrefPathsModule * pathsModule;
118         QPrefSpellcheckerModule * spellcheckerModule;
119         QPrefConvertersModule * convertersModule;
120         QPrefCopiersModule * copiersModule;
121         QPrefFileformatsModule * fileformatsModule;
122         QPrefLanguageModule * languageModule;
123         QPrefPrinterModule * printerModule;
124         QPrefUIModule * uiModule;
125         QPrefIdentityModule * identityModule;
126
127         QPrefs * form_;
128 };
129
130 } // namespace frontend
131 } // namespace lyx
132
133 #endif // PREFSDIALOG_H