]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QCharacterDialog.C
The big renaming. Yowser.
[lyx.git] / src / frontends / qt2 / QCharacterDialog.C
1 /**
2  * \file QCharacterDialog.C
3  * Copyright 2001 the LyX Team
4  * See the file COPYING.
5  *
6  * \author Edwin Leuven, leuven@fee.uva.nl
7  */
8
9 #include "QCharacterDialog.h"
10 #include "lyxtext.h"
11 #include "language.h"
12
13 #include <qcombobox.h>
14 #include <qcheckbox.h>
15 #include <qpushbutton.h>
16 #include <qgroupbox.h>
17
18 QCharacterDialog::QCharacterDialog(QCharacter * form, QWidget * parent,  const char * name, bool modal, WFlags fl)
19          : QCharacterDialogBase(parent, name, modal, fl), form_(form)
20 {
21         setCaption(name);
22 }
23  
24
25 QCharacterDialog::~QCharacterDialog()
26 {
27 }
28  
29
30 LyXFont QCharacterDialog::getChar()
31 {
32         LyXFont font(LyXFont::ALL_IGNORE);
33         
34         switch (family->currentItem()) {
35                 case 0: font.setFamily(LyXFont::IGNORE_FAMILY); break;
36                 case 1: font.setFamily(LyXFont::INHERIT_FAMILY); break;
37                 case 2: font.setFamily(LyXFont::ROMAN_FAMILY); break;
38                 case 3: font.setFamily(LyXFont::SANS_FAMILY); break;
39                 case 4: font.setFamily(LyXFont::TYPEWRITER_FAMILY); break;
40         }
41         
42         switch (series->currentItem()) {
43                 case 0: font.setSeries(LyXFont::IGNORE_SERIES); break;
44                 case 1: font.setSeries(LyXFont::INHERIT_SERIES); break;
45                 case 2: font.setSeries(LyXFont::MEDIUM_SERIES); break;
46                 case 3: font.setSeries(LyXFont::BOLD_SERIES); break;
47         }
48         
49         switch (shape->currentItem()) {
50                 case 0: font.setShape(LyXFont::IGNORE_SHAPE); break;
51                 case 1: font.setShape(LyXFont::INHERIT_SHAPE); break;
52                 case 2: font.setShape(LyXFont::UP_SHAPE); break;
53                 case 3: font.setShape(LyXFont::ITALIC_SHAPE); break;
54                 case 4: font.setShape(LyXFont::SLANTED_SHAPE); break;
55                 case 5: font.setShape(LyXFont::SMALLCAPS_SHAPE); break;
56         }
57         
58         switch (size->currentItem()) {
59                 case 0: font.setSize(LyXFont::IGNORE_SIZE); break;
60                 case 1: font.setSize(LyXFont::INHERIT_SIZE); break;
61                 case 2: font.setSize(LyXFont::SIZE_TINY); break;
62                 case 3: font.setSize(LyXFont::SIZE_SCRIPT); break;
63                 case 4: font.setSize(LyXFont::SIZE_FOOTNOTE); break;
64                 case 5: font.setSize(LyXFont::SIZE_SMALL); break;
65                 case 6: font.setSize(LyXFont::SIZE_NORMAL); break;
66                 case 7: font.setSize(LyXFont::SIZE_LARGE); break;
67                 case 8: font.setSize(LyXFont::SIZE_LARGER); break;
68                 case 9: font.setSize(LyXFont::SIZE_LARGEST); break;
69                 case 10: font.setSize(LyXFont::SIZE_HUGE); break;
70                 case 11: font.setSize(LyXFont::SIZE_HUGER); break;
71                 case 12: font.setSize(LyXFont::INCREASE_SIZE); break;
72                 case 13: font.setSize(LyXFont::DECREASE_SIZE); break;
73         }
74         
75         switch (misc->currentItem()) {
76                 case 0: font.setEmph(LyXFont::IGNORE);
77                         font.setUnderbar(LyXFont::IGNORE);
78                         font.setNoun(LyXFont::IGNORE);
79                         // FIXME font.setLatex(LyXFont::IGNORE);
80                         break;
81                 case 1: font.setEmph(LyXFont::INHERIT);
82                         font.setUnderbar(LyXFont::INHERIT);
83                         font.setNoun(LyXFont::INHERIT);
84                         // FIXME font.setLatex(LyXFont::INHERIT);
85                         break;
86                 case 2: font.setEmph(LyXFont::TOGGLE); break;
87                 case 3: font.setUnderbar(LyXFont::TOGGLE); break;
88                 case 4: font.setNoun(LyXFont::TOGGLE); break;
89                 case 5:  break; // FIXMEfont.setLatex(LyXFont::TOGGLE); break;
90         }
91         
92         switch (color->currentItem()) {
93                 case 0: font.setColor(LColor::ignore); break;
94                 case 1: font.setColor(LColor::inherit); break;
95                 case 2: font.setColor(LColor::none); break;
96                 case 3: font.setColor(LColor::black); break;
97                 case 4: font.setColor(LColor::white); break;
98                 case 5: font.setColor(LColor::red); break;
99                 case 6: font.setColor(LColor::green); break;
100                 case 7: font.setColor(LColor::blue); break;
101                 case 8: font.setColor(LColor::cyan); break;
102                 case 9: font.setColor(LColor::magenta); break;
103                 case 10: font.setColor(LColor::yellow); break;
104         }
105         
106         int const pos = lang->currentItem();
107         if (pos == 0) {
108                 font.setLanguage(ignore_language);
109         } else if (pos != 1) {
110                 font.setLanguage(languages.getLanguage(lang->currentText().latin1()));
111         };
112
113         return font;
114 }
115
116  
117 void QCharacterDialog::closeEvent(QCloseEvent * e)
118 {
119         form_->close();
120         e->accept();
121 }
122
123  
124 void QCharacterDialog::setReadOnly(bool readonly)
125 {
126         sizeGB->setEnabled(!readonly);
127         charGB->setEnabled(!readonly);
128         miscGB->setEnabled(!readonly);
129         okPB->setEnabled(!readonly);
130         applyPB->setEnabled(!readonly);
131 }