]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QPrefsDialog.h
better selection and scrolling behaviour
[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 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "LColor.h"
20
21 #include "ui/QPrefsDialogBase.h"
22
23 #include <map>
24 #include <vector>
25
26 class QPrefs;
27 class QListViewItem;
28 class QPrefAsciiModule;
29 class QPrefDateModule;
30 class QPrefKeyboardModule;
31 class QPrefLatexModule;
32 class QPrefScreenFontsModule;
33 class QPrefColorsModule;
34 class QPrefDisplayModule;
35 class QPrefPathsModule;
36 class QPrefSpellcheckerModule;
37 class QPrefConvertersModule;
38 class QPrefFileformatsModule;
39 class QPrefLanguageModule;
40 class QPrefPrinterModule;
41 class QPrefUIModule;
42
43 class QPrefsDialog : public QPrefsDialogBase {
44         Q_OBJECT
45 public:
46         friend class QPrefs;
47
48         QPrefsDialog(QPrefs *);
49
50         ~QPrefsDialog();
51
52         void updateConverters();
53
54         void updateFormats();
55
56 public slots:
57         virtual void switchPane(QListViewItem * i);
58
59         void change_adaptor();
60
61         void switch_format(int);
62         void new_format();
63         void modify_format();
64         void remove_format();
65
66         void switch_converter(int);
67         void new_converter();
68         void modify_converter();
69         void remove_converter();
70
71         void change_color();
72
73         void select_ui();
74         void select_bind();
75         void select_keymap1();
76         void select_keymap2();
77         void select_dict();
78         void select_templatedir();
79         void select_tempdir();
80         void select_backupdir();
81         void select_workingdir();
82         void select_lyxpipe();
83
84         void select_roman(const QString&);
85         void select_sans(const QString&);
86         void select_typewriter(const QString&);
87
88 protected:
89         void closeEvent(QCloseEvent * e);
90
91 private:
92         typedef std::map<QListViewItem *, QWidget *> PaneMap;
93
94         PaneMap pane_map_;
95
96         std::vector<LColor::color> colors_;
97
98         QPrefAsciiModule * asciiModule;
99         QPrefDateModule * dateModule;
100         QPrefKeyboardModule * keyboardModule;
101         QPrefLatexModule * latexModule;
102         QPrefScreenFontsModule * screenfontsModule;
103         QPrefColorsModule * colorsModule;
104         QPrefDisplayModule * displayModule;
105         QPrefPathsModule * pathsModule;
106         QPrefSpellcheckerModule * spellcheckerModule;
107         QPrefConvertersModule * convertersModule;
108         QPrefFileformatsModule * fileformatsModule;
109         QPrefLanguageModule * languageModule;
110         QPrefPrinterModule * printerModule;
111         QPrefUIModule * uiModule;
112
113         QPrefs * form_;
114 };
115
116 #endif // PREFSDIALOG_H