-rw-r--r-- | libopie2/opieui/fileselector/ofiledialog.cpp | 5 | ||||
-rw-r--r-- | libopie2/opieui/ofontselector.cpp | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libopie2/opieui/fileselector/ofiledialog.cpp b/libopie2/opieui/fileselector/ofiledialog.cpp index ebce0ef..4c6b800 100644 --- a/libopie2/opieui/fileselector/ofiledialog.cpp +++ b/libopie2/opieui/fileselector/ofiledialog.cpp | |||
@@ -1,255 +1,258 @@ | |||
1 | /* | 1 | /* |
2 | =. This file is part of the OPIE Project | 2 | =. This file is part of the OPIE Project |
3 | .=l. Copyright (C) Holger Freyther <zecke@handhelds.org> | 3 | .=l. Copyright (C) Holger Freyther <zecke@handhelds.org> |
4 | .>+-= | 4 | .>+-= |
5 | _;:, .> :=|. This library is free software; you can | 5 | _;:, .> :=|. This library is free software; you can |
6 | .> <`_, > . <= redistribute it and/or modify it under | 6 | .> <`_, > . <= redistribute it and/or modify it under |
7 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | 7 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
8 | .="- .-=="i, .._ License as published by the Free Software | 8 | .="- .-=="i, .._ License as published by the Free Software |
9 | - . .-<_> .<> Foundation; either version 2 of the License, | 9 | - . .-<_> .<> Foundation; either version 2 of the License, |
10 | ._= =} : or (at your option) any later version. | 10 | ._= =} : or (at your option) any later version. |
11 | .%`+i> _;_. | 11 | .%`+i> _;_. |
12 | .i_,=:_. -<s. This library is distributed in the hope that | 12 | .i_,=:_. -<s. This library is distributed in the hope that |
13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
14 | : .. .:, . . . without even the implied warranty of | 14 | : .. .:, . . . without even the implied warranty of |
15 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 15 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
16 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 16 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
17 | ..}^=.= = ; Library General Public License for more | 17 | ..}^=.= = ; Library General Public License for more |
18 | ++= -. .` .: details. | 18 | ++= -. .` .: details. |
19 | : = ...= . :.=- | 19 | : = ...= . :.=- |
20 | -. .:....=;==+<; You should have received a copy of the GNU | 20 | -. .:....=;==+<; You should have received a copy of the GNU |
21 | -_. . . )=. = Library General Public License along with | 21 | -_. . . )=. = Library General Public License along with |
22 | -- :-=` this library; see the file COPYING.LIB. | 22 | -- :-=` this library; see the file COPYING.LIB. |
23 | If not, write to the Free Software Foundation, | 23 | If not, write to the Free Software Foundation, |
24 | Inc., 59 Temple Place - Suite 330, | 24 | Inc., 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. | 25 | Boston, MA 02111-1307, USA. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | 29 | ||
30 | /* OPIE */ | 30 | /* OPIE */ |
31 | #include <opie2/ofiledialog.h> | 31 | #include <opie2/ofiledialog.h> |
32 | #include <qpe/applnk.h> | 32 | #include <qpe/applnk.h> |
33 | #include <qpe/config.h> | 33 | #include <qpe/config.h> |
34 | #include <qpe/qpeapplication.h> | 34 | #include <qpe/qpeapplication.h> |
35 | 35 | ||
36 | /* QT */ | 36 | /* QT */ |
37 | #include <qfileinfo.h> | 37 | #include <qfileinfo.h> |
38 | #include <qstring.h> | 38 | #include <qstring.h> |
39 | #include <qapplication.h> | 39 | #include <qapplication.h> |
40 | #include <qlayout.h> | 40 | #include <qlayout.h> |
41 | 41 | ||
42 | |||
43 | /* TRANSLATOR Opie::Ui::OFileDialog */ | ||
44 | |||
42 | using namespace Opie::Ui; | 45 | using namespace Opie::Ui; |
43 | 46 | ||
44 | namespace | 47 | namespace |
45 | { | 48 | { |
46 | /* | 49 | /* |
47 | * helper functions to load the start dir | 50 | * helper functions to load the start dir |
48 | * and to save it | 51 | * and to save it |
49 | * helper to extract the dir out of a file name | 52 | * helper to extract the dir out of a file name |
50 | */ | 53 | */ |
51 | /** | 54 | /** |
52 | * This method will use Config( argv[0] ); | 55 | * This method will use Config( argv[0] ); |
53 | * @param key The group key used | 56 | * @param key The group key used |
54 | */ | 57 | */ |
55 | QString lastUsedDir( const QString& key ) | 58 | QString lastUsedDir( const QString& key ) |
56 | { | 59 | { |
57 | if ( qApp->argc() < 1 ) | 60 | if ( qApp->argc() < 1 ) |
58 | return QString::null; | 61 | return QString::null; |
59 | 62 | ||
60 | Config cfg( QFileInfo(qApp->argv()[0]).fileName() ); // appname | 63 | Config cfg( QFileInfo(qApp->argv()[0]).fileName() ); // appname |
61 | cfg.setGroup( key ); | 64 | cfg.setGroup( key ); |
62 | return cfg.readEntry("LastDir", QPEApplication::documentDir() ); | 65 | return cfg.readEntry("LastDir", QPEApplication::documentDir() ); |
63 | } | 66 | } |
64 | 67 | ||
65 | void saveLastDir( const QString& key, const QString& file ) | 68 | void saveLastDir( const QString& key, const QString& file ) |
66 | { | 69 | { |
67 | if ( qApp->argc() < 1 ) | 70 | if ( qApp->argc() < 1 ) |
68 | return; | 71 | return; |
69 | 72 | ||
70 | Config cfg( QFileInfo(qApp->argv()[0]).fileName() ); | 73 | Config cfg( QFileInfo(qApp->argv()[0]).fileName() ); |
71 | cfg.setGroup( key ); | 74 | cfg.setGroup( key ); |
72 | QFileInfo inf( file ); | 75 | QFileInfo inf( file ); |
73 | if ( inf.isFile() ) | 76 | if ( inf.isFile() ) |
74 | cfg.writeEntry("LastDir", inf.dirPath( true ) ); | 77 | cfg.writeEntry("LastDir", inf.dirPath( true ) ); |
75 | else | 78 | else |
76 | cfg.writeEntry("LastDir", file ); | 79 | cfg.writeEntry("LastDir", file ); |
77 | } | 80 | } |
78 | }; | 81 | }; |
79 | 82 | ||
80 | /** | 83 | /** |
81 | * This constructs a modal dialog | 84 | * This constructs a modal dialog |
82 | * | 85 | * |
83 | * @param caption The caption of the dialog | 86 | * @param caption The caption of the dialog |
84 | * @param wid The parent widget | 87 | * @param wid The parent widget |
85 | * @param mode The mode of the OFileSelector @see OFileSelector | 88 | * @param mode The mode of the OFileSelector @see OFileSelector |
86 | * @param selector The selector of the OFileSelector | 89 | * @param selector The selector of the OFileSelector |
87 | * @param dirName the dir or resource to start from | 90 | * @param dirName the dir or resource to start from |
88 | * @param fileName a proposed or existing filename | 91 | * @param fileName a proposed or existing filename |
89 | * @param mimetypes The mimeTypes | 92 | * @param mimetypes The mimeTypes |
90 | */ | 93 | */ |
91 | OFileDialog::OFileDialog(const QString &caption, | 94 | OFileDialog::OFileDialog(const QString &caption, |
92 | QWidget *wid, int mode, int selector, | 95 | QWidget *wid, int mode, int selector, |
93 | const QString &dirName, | 96 | const QString &dirName, |
94 | const QString &fileName, | 97 | const QString &fileName, |
95 | const QMap<QString,QStringList>& mimetypes ) | 98 | const QMap<QString,QStringList>& mimetypes ) |
96 | : QDialog( wid, "OFileDialog", true ) | 99 | : QDialog( wid, "OFileDialog", true ) |
97 | { | 100 | { |
98 | // QVBoxLayout *lay = new QVBoxLayout(this); | 101 | // QVBoxLayout *lay = new QVBoxLayout(this); |
99 | //showMaximized(); | 102 | //showMaximized(); |
100 | QVBoxLayout *lay = new QVBoxLayout(this ); | 103 | QVBoxLayout *lay = new QVBoxLayout(this ); |
101 | file = new OFileSelector(this , mode, selector, | 104 | file = new OFileSelector(this , mode, selector, |
102 | dirName, fileName, | 105 | dirName, fileName, |
103 | mimetypes ); | 106 | mimetypes ); |
104 | lay->addWidget( file ); | 107 | lay->addWidget( file ); |
105 | 108 | ||
106 | //lay->addWidget( file ); | 109 | //lay->addWidget( file ); |
107 | //showFullScreen(); | 110 | //showFullScreen(); |
108 | setCaption( caption.isEmpty() ? tr("FileDialog") : caption ); | 111 | setCaption( caption.isEmpty() ? tr("FileDialog") : caption ); |
109 | connect(file, SIGNAL(fileSelected(const QString&) ), | 112 | connect(file, SIGNAL(fileSelected(const QString&) ), |
110 | this, SLOT(slotFileSelected(const QString&) ) ); | 113 | this, SLOT(slotFileSelected(const QString&) ) ); |
111 | connect(file, SIGNAL(ok() ), | 114 | connect(file, SIGNAL(ok() ), |
112 | this, SLOT(slotSelectorOk()) ) ; | 115 | this, SLOT(slotSelectorOk()) ) ; |
113 | 116 | ||
114 | connect(file, SIGNAL(dirSelected(const QString&) ), this, SLOT(slotDirSelected(const QString&) ) ); | 117 | connect(file, SIGNAL(dirSelected(const QString&) ), this, SLOT(slotDirSelected(const QString&) ) ); |
115 | 118 | ||
116 | #if 0 | 119 | #if 0 |
117 | connect(file, SIGNAL(dirSelected(const QString&) ), | 120 | connect(file, SIGNAL(dirSelected(const QString&) ), |
118 | this, SLOT(slotDirSelected(const QString&) ) ); | 121 | this, SLOT(slotDirSelected(const QString&) ) ); |
119 | #endif | 122 | #endif |
120 | } | 123 | } |
121 | /** | 124 | /** |
122 | * @returns the mimetype of the selected | 125 | * @returns the mimetype of the selected |
123 | * currently it return QString::null | 126 | * currently it return QString::null |
124 | */ | 127 | */ |
125 | QString OFileDialog::mimetype()const | 128 | QString OFileDialog::mimetype()const |
126 | { | 129 | { |
127 | return QString::null; | 130 | return QString::null; |
128 | } | 131 | } |
129 | 132 | ||
130 | /** | 133 | /** |
131 | * @return the fileName | 134 | * @return the fileName |
132 | */ | 135 | */ |
133 | QString OFileDialog::fileName()const | 136 | QString OFileDialog::fileName()const |
134 | { | 137 | { |
135 | return file->selectedName(); | 138 | return file->selectedName(); |
136 | } | 139 | } |
137 | 140 | ||
138 | /** | 141 | /** |
139 | * return a DocLnk to the current file | 142 | * return a DocLnk to the current file |
140 | */ | 143 | */ |
141 | DocLnk OFileDialog::selectedDocument()const | 144 | DocLnk OFileDialog::selectedDocument()const |
142 | { | 145 | { |
143 | return file->selectedDocument(); | 146 | return file->selectedDocument(); |
144 | } | 147 | } |
145 | 148 | ||
146 | /** | 149 | /** |
147 | * This opens up a filedialog in Open mode | 150 | * This opens up a filedialog in Open mode |
148 | * | 151 | * |
149 | * @param selector the Selector Mode | 152 | * @param selector the Selector Mode |
150 | * @param startDir Where to start from | 153 | * @param startDir Where to start from |
151 | * @param file A proposed filename | 154 | * @param file A proposed filename |
152 | * @param mimes A list of MimeTypes | 155 | * @param mimes A list of MimeTypes |
153 | * @param wid the parent | 156 | * @param wid the parent |
154 | * @param caption of the dialog if QString::null tr("Open") will be used | 157 | * @param caption of the dialog if QString::null tr("Open") will be used |
155 | * @return the fileName or QString::null | 158 | * @return the fileName or QString::null |
156 | */ | 159 | */ |
157 | QString OFileDialog::getOpenFileName(int selector, | 160 | QString OFileDialog::getOpenFileName(int selector, |
158 | const QString &_startDir, | 161 | const QString &_startDir, |
159 | const QString &file, | 162 | const QString &file, |
160 | const MimeTypes &mimes, | 163 | const MimeTypes &mimes, |
161 | QWidget *wid, | 164 | QWidget *wid, |
162 | const QString &caption ) | 165 | const QString &caption ) |
163 | { | 166 | { |
164 | QString ret; | 167 | QString ret; |
165 | QString startDir = _startDir; | 168 | QString startDir = _startDir; |
166 | if (startDir.isEmpty() ) | 169 | if (startDir.isEmpty() ) |
167 | startDir = lastUsedDir( "FileDialog-OPEN" ); | 170 | startDir = lastUsedDir( "FileDialog-OPEN" ); |
168 | 171 | ||
169 | 172 | ||
170 | OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption, | 173 | OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption, |
171 | wid, OFileSelector::Open, selector, startDir, file, mimes); | 174 | wid, OFileSelector::Open, selector, startDir, file, mimes); |
172 | dlg.showMaximized(); | 175 | dlg.showMaximized(); |
173 | if( dlg.exec() ) | 176 | if( dlg.exec() ) |
174 | { | 177 | { |
175 | ret = dlg.fileName(); | 178 | ret = dlg.fileName(); |
176 | saveLastDir( "FileDialog-OPEN", ret ); | 179 | saveLastDir( "FileDialog-OPEN", ret ); |
177 | } | 180 | } |
178 | 181 | ||
179 | return ret; | 182 | return ret; |
180 | } | 183 | } |
181 | 184 | ||
182 | /** | 185 | /** |
183 | * This opens up a file dialog in save mode | 186 | * This opens up a file dialog in save mode |
184 | * @see getOpenFileName | 187 | * @see getOpenFileName |
185 | */ | 188 | */ |
186 | QString OFileDialog::getSaveFileName(int selector, | 189 | QString OFileDialog::getSaveFileName(int selector, |
187 | const QString &_startDir, | 190 | const QString &_startDir, |
188 | const QString &file, | 191 | const QString &file, |
189 | const MimeTypes &mimes, | 192 | const MimeTypes &mimes, |
190 | QWidget *wid, | 193 | QWidget *wid, |
191 | const QString &caption ) | 194 | const QString &caption ) |
192 | { | 195 | { |
193 | QString ret; | 196 | QString ret; |
194 | QString startDir = _startDir; | 197 | QString startDir = _startDir; |
195 | if (startDir.isEmpty() ) | 198 | if (startDir.isEmpty() ) |
196 | startDir = lastUsedDir( "FileDialog-SAVE" ); | 199 | startDir = lastUsedDir( "FileDialog-SAVE" ); |
197 | 200 | ||
198 | OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption, | 201 | OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption, |
199 | wid, OFileSelector::Save, selector, startDir, file, mimes); | 202 | wid, OFileSelector::Save, selector, startDir, file, mimes); |
200 | dlg.showMaximized(); | 203 | dlg.showMaximized(); |
201 | if( dlg.exec() ) | 204 | if( dlg.exec() ) |
202 | { | 205 | { |
203 | ret = dlg.fileName(); | 206 | ret = dlg.fileName(); |
204 | saveLastDir( "FileDialog-SAVE", ret ); | 207 | saveLastDir( "FileDialog-SAVE", ret ); |
205 | } | 208 | } |
206 | 209 | ||
207 | return ret; | 210 | return ret; |
208 | } | 211 | } |
209 | 212 | ||
210 | /** | 213 | /** |
211 | * This opens up a filedialog in select directory mode | 214 | * This opens up a filedialog in select directory mode |
212 | * | 215 | * |
213 | * @param selector the Selector Mode | 216 | * @param selector the Selector Mode |
214 | * @param startDir Where to start from | 217 | * @param startDir Where to start from |
215 | * @param wid the parent | 218 | * @param wid the parent |
216 | * @param caption of the dialog if QString::null tr("Open") will be used | 219 | * @param caption of the dialog if QString::null tr("Open") will be used |
217 | * @return the directoryName or QString::null | 220 | * @return the directoryName or QString::null |
218 | */ | 221 | */ |
219 | QString OFileDialog::getDirectory(int selector, | 222 | QString OFileDialog::getDirectory(int selector, |
220 | const QString &_startDir, | 223 | const QString &_startDir, |
221 | QWidget *wid, | 224 | QWidget *wid, |
222 | const QString &caption ) | 225 | const QString &caption ) |
223 | { | 226 | { |
224 | QString ret; | 227 | QString ret; |
225 | QString startDir = _startDir; | 228 | QString startDir = _startDir; |
226 | if ( startDir.isEmpty() ) | 229 | if ( startDir.isEmpty() ) |
227 | startDir = lastUsedDir( "FileDialog-SELECTDIR" ); | 230 | startDir = lastUsedDir( "FileDialog-SELECTDIR" ); |
228 | 231 | ||
229 | OFileDialog dlg( caption.isEmpty() ? tr( "Select Directory" ) : caption, | 232 | OFileDialog dlg( caption.isEmpty() ? tr( "Select Directory" ) : caption, |
230 | wid, OFileSelector::DirectorySelector, selector, startDir ); | 233 | wid, OFileSelector::DirectorySelector, selector, startDir ); |
231 | dlg.showMaximized(); | 234 | dlg.showMaximized(); |
232 | if ( dlg.exec() ) | 235 | if ( dlg.exec() ) |
233 | { | 236 | { |
234 | ret = dlg.fileName(); | 237 | ret = dlg.fileName(); |
235 | saveLastDir( "FileDialog-SELECTDIR", ret ); | 238 | saveLastDir( "FileDialog-SELECTDIR", ret ); |
236 | } | 239 | } |
237 | return ret; | 240 | return ret; |
238 | } | 241 | } |
239 | 242 | ||
240 | void OFileDialog::slotFileSelected(const QString & ) | 243 | void OFileDialog::slotFileSelected(const QString & ) |
241 | { | 244 | { |
242 | accept(); | 245 | accept(); |
243 | } | 246 | } |
244 | 247 | ||
245 | void OFileDialog::slotSelectorOk( ) | 248 | void OFileDialog::slotSelectorOk( ) |
246 | { | 249 | { |
247 | accept(); | 250 | accept(); |
248 | } | 251 | } |
249 | 252 | ||
250 | void OFileDialog::slotDirSelected(const QString &dir ) | 253 | void OFileDialog::slotDirSelected(const QString &dir ) |
251 | { | 254 | { |
252 | setCaption( dir ); | 255 | setCaption( dir ); |
253 | // if mode | 256 | // if mode |
254 | //accept(); | 257 | //accept(); |
255 | } | 258 | } |
diff --git a/libopie2/opieui/ofontselector.cpp b/libopie2/opieui/ofontselector.cpp index 4870cd9..6c24f14 100644 --- a/libopie2/opieui/ofontselector.cpp +++ b/libopie2/opieui/ofontselector.cpp | |||
@@ -1,430 +1,433 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the Opie Project | 2 | This file is part of the Opie Project |
3 | Copyright (C) Robert Griebl <sandman@handhelds.org> | 3 | Copyright (C) Robert Griebl <sandman@handhelds.org> |
4 | =. Copyright (C) The Opie Team <opie-devel@handhelds.org> | 4 | =. Copyright (C) The Opie Team <opie-devel@handhelds.org> |
5 | .=l. | 5 | .=l. |
6 | .>+-= | 6 | .>+-= |
7 | _;:, .> :=|. This program is free software; you can | 7 | _;:, .> :=|. This program is free software; you can |
8 | .> <`_, > . <= redistribute it and/or modify it under | 8 | .> <`_, > . <= redistribute it and/or modify it under |
9 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | 9 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
10 | .="- .-=="i, .._ License as published by the Free Software | 10 | .="- .-=="i, .._ License as published by the Free Software |
11 | - . .-<_> .<> Foundation; either version 2 of the License, | 11 | - . .-<_> .<> Foundation; either version 2 of the License, |
12 | ._= =} : or (at your option) any later version. | 12 | ._= =} : or (at your option) any later version. |
13 | .%`+i> _;_. | 13 | .%`+i> _;_. |
14 | .i_,=:_. -<s. This program is distributed in the hope that | 14 | .i_,=:_. -<s. This program is distributed in the hope that |
15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
16 | : .. .:, . . . without even the implied warranty of | 16 | : .. .:, . . . without even the implied warranty of |
17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
19 | ..}^=.= = ; Library General Public License for more | 19 | ..}^=.= = ; Library General Public License for more |
20 | ++= -. .` .: details. | 20 | ++= -. .` .: details. |
21 | : = ...= . :.=- | 21 | : = ...= . :.=- |
22 | -. .:....=;==+<; You should have received a copy of the GNU | 22 | -. .:....=;==+<; You should have received a copy of the GNU |
23 | -_. . . )=. = Library General Public License along with | 23 | -_. . . )=. = Library General Public License along with |
24 | -- :-=` this library; see the file COPYING.LIB. | 24 | -- :-=` this library; see the file COPYING.LIB. |
25 | If not, write to the Free Software Foundation, | 25 | If not, write to the Free Software Foundation, |
26 | Inc., 59 Temple Place - Suite 330, | 26 | Inc., 59 Temple Place - Suite 330, |
27 | Boston, MA 02111-1307, USA. | 27 | Boston, MA 02111-1307, USA. |
28 | */ | 28 | */ |
29 | 29 | ||
30 | /* OPIE */ | 30 | /* OPIE */ |
31 | #include <opie2/ofontselector.h> | 31 | #include <opie2/ofontselector.h> |
32 | #include <qpe/fontdatabase.h> | 32 | #include <qpe/fontdatabase.h> |
33 | 33 | ||
34 | /* QT */ | 34 | /* QT */ |
35 | #include <qlayout.h> | 35 | #include <qlayout.h> |
36 | #include <qlistbox.h> | 36 | #include <qlistbox.h> |
37 | #include <qcombobox.h> | 37 | #include <qcombobox.h> |
38 | #include <qlabel.h> | 38 | #include <qlabel.h> |
39 | #include <qmultilineedit.h> | 39 | #include <qmultilineedit.h> |
40 | 40 | ||
41 | 41 | ||
42 | /* TRANSLATOR Opie::Ui::OFontSelector */ | ||
43 | |||
44 | |||
42 | namespace Opie { | 45 | namespace Opie { |
43 | namespace Ui { | 46 | namespace Ui { |
44 | namespace Internal { | 47 | namespace Internal { |
45 | 48 | ||
46 | class OFontSelectorPrivate | 49 | class OFontSelectorPrivate |
47 | { | 50 | { |
48 | public: | 51 | public: |
49 | QListBox * m_font_family_list; | 52 | QListBox * m_font_family_list; |
50 | QComboBox * m_font_style_list; | 53 | QComboBox * m_font_style_list; |
51 | QComboBox * m_font_size_list; | 54 | QComboBox * m_font_size_list; |
52 | QMultiLineEdit *m_preview; | 55 | QMultiLineEdit *m_preview; |
53 | 56 | ||
54 | bool m_pointbug : 1; | 57 | bool m_pointbug : 1; |
55 | 58 | ||
56 | FontDatabase m_fdb; | 59 | FontDatabase m_fdb; |
57 | }; | 60 | }; |
58 | 61 | ||
59 | class FontListItem : public QListBoxText | 62 | class FontListItem : public QListBoxText |
60 | { | 63 | { |
61 | public: | 64 | public: |
62 | FontListItem ( const QString &t, const QStringList &styles, const QValueList<int> &sizes ) : QListBoxText() | 65 | FontListItem ( const QString &t, const QStringList &styles, const QValueList<int> &sizes ) : QListBoxText() |
63 | { | 66 | { |
64 | m_name = t; | 67 | m_name = t; |
65 | m_styles = styles; | 68 | m_styles = styles; |
66 | m_sizes = sizes; | 69 | m_sizes = sizes; |
67 | 70 | ||
68 | QString str = t; | 71 | QString str = t; |
69 | str [0] = str [0]. upper(); | 72 | str [0] = str [0]. upper(); |
70 | setText ( str ); | 73 | setText ( str ); |
71 | } | 74 | } |
72 | 75 | ||
73 | QString family() const | 76 | QString family() const |
74 | { | 77 | { |
75 | return m_name; | 78 | return m_name; |
76 | } | 79 | } |
77 | 80 | ||
78 | const QStringList &styles() const | 81 | const QStringList &styles() const |
79 | { | 82 | { |
80 | return m_styles; | 83 | return m_styles; |
81 | } | 84 | } |
82 | 85 | ||
83 | const QValueList<int> &sizes() const | 86 | const QValueList<int> &sizes() const |
84 | { | 87 | { |
85 | return m_sizes; | 88 | return m_sizes; |
86 | } | 89 | } |
87 | 90 | ||
88 | private: | 91 | private: |
89 | QStringList m_styles; | 92 | QStringList m_styles; |
90 | QValueList<int> m_sizes; | 93 | QValueList<int> m_sizes; |
91 | QString m_name; | 94 | QString m_name; |
92 | }; | 95 | }; |
93 | } | 96 | } |
94 | } | 97 | } |
95 | } | 98 | } |
96 | 99 | ||
97 | 100 | ||
98 | using namespace Opie::Ui; | 101 | using namespace Opie::Ui; |
99 | using namespace Opie::Ui::Internal; | 102 | using namespace Opie::Ui::Internal; |
100 | 103 | ||
101 | static int findItemCB( QComboBox *box, const QString &str ) | 104 | static int findItemCB( QComboBox *box, const QString &str ) |
102 | { | 105 | { |
103 | for ( int i = 0; i < box->count(); i++ ) | 106 | for ( int i = 0; i < box->count(); i++ ) |
104 | { | 107 | { |
105 | if ( box->text ( i ) == str ) | 108 | if ( box->text ( i ) == str ) |
106 | return i; | 109 | return i; |
107 | } | 110 | } |
108 | return -1; | 111 | return -1; |
109 | } | 112 | } |
110 | 113 | ||
111 | /* static same as anon. namespace */ | 114 | /* static same as anon. namespace */ |
112 | static int qt_version() | 115 | static int qt_version() |
113 | { | 116 | { |
114 | const char *qver = qVersion(); | 117 | const char *qver = qVersion(); |
115 | 118 | ||
116 | return ( qver [0] - '0' ) * 100 + ( qver [2] - '0' ) * 10 + ( qver [4] - '0' ); | 119 | return ( qver [0] - '0' ) * 100 + ( qver [2] - '0' ) * 10 + ( qver [4] - '0' ); |
117 | } | 120 | } |
118 | 121 | ||
119 | /** | 122 | /** |
120 | * Constructs the Selector object | 123 | * Constructs the Selector object |
121 | * @param withpreview If a font preview should be given | 124 | * @param withpreview If a font preview should be given |
122 | * @param parent The parent of the Font Selector | 125 | * @param parent The parent of the Font Selector |
123 | * @param name The name of the object | 126 | * @param name The name of the object |
124 | * @param fl WidgetFlags | 127 | * @param fl WidgetFlags |
125 | */ | 128 | */ |
126 | OFontSelector::OFontSelector( bool withpreview, QWidget *parent, const char *name, WFlags fl ) : QWidget ( parent, name, fl ) | 129 | OFontSelector::OFontSelector( bool withpreview, QWidget *parent, const char *name, WFlags fl ) : QWidget ( parent, name, fl ) |
127 | { | 130 | { |
128 | d = new OFontSelectorPrivate(); | 131 | d = new OFontSelectorPrivate(); |
129 | 132 | ||
130 | QGridLayout *gridLayout = new QGridLayout( this, 0, 0, 4, 4 ); | 133 | QGridLayout *gridLayout = new QGridLayout( this, 0, 0, 4, 4 ); |
131 | gridLayout->setRowStretch( 4, 10 ); | 134 | gridLayout->setRowStretch( 4, 10 ); |
132 | 135 | ||
133 | d->m_font_family_list = new QListBox( this, "FontListBox" ); | 136 | d->m_font_family_list = new QListBox( this, "FontListBox" ); |
134 | gridLayout->addMultiCellWidget( d->m_font_family_list, 0, 4, 0, 0 ); | 137 | gridLayout->addMultiCellWidget( d->m_font_family_list, 0, 4, 0, 0 ); |
135 | connect( d->m_font_family_list, SIGNAL( highlighted(int) ), this, SLOT( fontFamilyClicked(int) ) ); | 138 | connect( d->m_font_family_list, SIGNAL( highlighted(int) ), this, SLOT( fontFamilyClicked(int) ) ); |
136 | 139 | ||
137 | QLabel *label = new QLabel( tr( "Style" ), this ); | 140 | QLabel *label = new QLabel( tr( "Style" ), this ); |
138 | gridLayout->addWidget( label, 0, 1 ); | 141 | gridLayout->addWidget( label, 0, 1 ); |
139 | 142 | ||
140 | d->m_font_style_list = new QComboBox( this, "StyleListBox" ); | 143 | d->m_font_style_list = new QComboBox( this, "StyleListBox" ); |
141 | connect( d->m_font_style_list, SIGNAL( activated(int) ), this, SLOT( fontStyleClicked(int) ) ); | 144 | connect( d->m_font_style_list, SIGNAL( activated(int) ), this, SLOT( fontStyleClicked(int) ) ); |
142 | gridLayout->addWidget( d->m_font_style_list, 1, 1 ); | 145 | gridLayout->addWidget( d->m_font_style_list, 1, 1 ); |
143 | 146 | ||
144 | label = new QLabel( tr( "Size" ), this ); | 147 | label = new QLabel( tr( "Size" ), this ); |
145 | gridLayout->addWidget( label, 2, 1 ); | 148 | gridLayout->addWidget( label, 2, 1 ); |
146 | 149 | ||
147 | d->m_font_size_list = new QComboBox( this, "SizeListBox" ); | 150 | d->m_font_size_list = new QComboBox( this, "SizeListBox" ); |
148 | connect( d->m_font_size_list, SIGNAL( activated(int) ), | 151 | connect( d->m_font_size_list, SIGNAL( activated(int) ), |
149 | this, SLOT( fontSizeClicked(int) ) ); | 152 | this, SLOT( fontSizeClicked(int) ) ); |
150 | gridLayout->addWidget( d->m_font_size_list, 3, 1 ); | 153 | gridLayout->addWidget( d->m_font_size_list, 3, 1 ); |
151 | 154 | ||
152 | d->m_pointbug = ( qt_version() <= 233 ); | 155 | d->m_pointbug = ( qt_version() <= 233 ); |
153 | 156 | ||
154 | if ( withpreview ) | 157 | if ( withpreview ) |
155 | { | 158 | { |
156 | d->m_preview = new QMultiLineEdit ( this, "Preview" ); | 159 | d->m_preview = new QMultiLineEdit ( this, "Preview" ); |
157 | d->m_preview->setAlignment ( AlignCenter ); | 160 | d->m_preview->setAlignment ( AlignCenter ); |
158 | d->m_preview->setWordWrap ( QMultiLineEdit::WidgetWidth ); | 161 | d->m_preview->setWordWrap ( QMultiLineEdit::WidgetWidth ); |
159 | d->m_preview->setMargin ( 3 ); | 162 | d->m_preview->setMargin ( 3 ); |
160 | d->m_preview->setText ( tr( "The Quick Brown Fox Jumps Over The Lazy Dog" )); | 163 | d->m_preview->setText ( tr( "The Quick Brown Fox Jumps Over The Lazy Dog" )); |
161 | gridLayout->addRowSpacing ( 5, 4 ); | 164 | gridLayout->addRowSpacing ( 5, 4 ); |
162 | gridLayout->addMultiCellWidget ( d->m_preview, 6, 6, 0, 1 ); | 165 | gridLayout->addMultiCellWidget ( d->m_preview, 6, 6, 0, 1 ); |
163 | gridLayout->setRowStretch ( 6, 5 ); | 166 | gridLayout->setRowStretch ( 6, 5 ); |
164 | } | 167 | } |
165 | else | 168 | else |
166 | d->m_preview = 0; | 169 | d->m_preview = 0; |
167 | 170 | ||
168 | loadFonts ( d->m_font_family_list ); | 171 | loadFonts ( d->m_font_family_list ); |
169 | } | 172 | } |
170 | 173 | ||
171 | OFontSelector::~OFontSelector() | 174 | OFontSelector::~OFontSelector() |
172 | { | 175 | { |
173 | delete d; | 176 | delete d; |
174 | } | 177 | } |
175 | 178 | ||
176 | /** | 179 | /** |
177 | * This methods tries to set the font | 180 | * This methods tries to set the font |
178 | * @param f The wishes font | 181 | * @param f The wishes font |
179 | * @return success or failure | 182 | * @return success or failure |
180 | */ | 183 | */ |
181 | bool OFontSelector::setSelectedFont ( const QFont &f ) | 184 | bool OFontSelector::setSelectedFont ( const QFont &f ) |
182 | { | 185 | { |
183 | return setSelectedFont ( f. family(), d->m_fdb. styleString ( f ), f. pointSize(), QFont::encodingName ( f. charSet())); | 186 | return setSelectedFont ( f. family(), d->m_fdb. styleString ( f ), f. pointSize(), QFont::encodingName ( f. charSet())); |
184 | } | 187 | } |
185 | 188 | ||
186 | 189 | ||
187 | /** | 190 | /** |
188 | * This is an overloaded method @see setSelectedFont | 191 | * This is an overloaded method @see setSelectedFont |
189 | * @param familyStr The family of the font | 192 | * @param familyStr The family of the font |
190 | * @param styleStr The style of the font | 193 | * @param styleStr The style of the font |
191 | * @param sizeVal The size of font | 194 | * @param sizeVal The size of font |
192 | * @param charset The charset to be used. Will be deprecated by QT3 | 195 | * @param charset The charset to be used. Will be deprecated by QT3 |
193 | */ | 196 | */ |
194 | bool OFontSelector::setSelectedFont( const QString &familyStr, const QString &styleStr, int sizeVal, const QString & charset ) | 197 | bool OFontSelector::setSelectedFont( const QString &familyStr, const QString &styleStr, int sizeVal, const QString & charset ) |
195 | { | 198 | { |
196 | Q_CONST_UNUSED( charset ) | 199 | Q_CONST_UNUSED( charset ) |
197 | QString sizeStr = QString::number ( sizeVal ); | 200 | QString sizeStr = QString::number ( sizeVal ); |
198 | 201 | ||
199 | QListBoxItem *family = d->m_font_family_list->findItem ( familyStr ); | 202 | QListBoxItem *family = d->m_font_family_list->findItem ( familyStr ); |
200 | if ( !family ) | 203 | if ( !family ) |
201 | family = d->m_font_family_list->findItem ( "Helvetica" ); | 204 | family = d->m_font_family_list->findItem ( "Helvetica" ); |
202 | if ( !family ) | 205 | if ( !family ) |
203 | family = d->m_font_family_list->firstItem(); | 206 | family = d->m_font_family_list->firstItem(); |
204 | d->m_font_family_list->setCurrentItem ( family ); | 207 | d->m_font_family_list->setCurrentItem ( family ); |
205 | fontFamilyClicked ( d->m_font_family_list->index ( family )); | 208 | fontFamilyClicked ( d->m_font_family_list->index ( family )); |
206 | 209 | ||
207 | int style = findItemCB ( d->m_font_style_list, styleStr ); | 210 | int style = findItemCB ( d->m_font_style_list, styleStr ); |
208 | if ( style < 0 ) | 211 | if ( style < 0 ) |
209 | style = findItemCB ( d->m_font_style_list, "Regular" ); | 212 | style = findItemCB ( d->m_font_style_list, "Regular" ); |
210 | if ( style < 0 && d->m_font_style_list->count() > 0 ) | 213 | if ( style < 0 && d->m_font_style_list->count() > 0 ) |
211 | style = 0; | 214 | style = 0; |
212 | d->m_font_style_list->setCurrentItem ( style ); | 215 | d->m_font_style_list->setCurrentItem ( style ); |
213 | fontStyleClicked ( style ); | 216 | fontStyleClicked ( style ); |
214 | 217 | ||
215 | int size = findItemCB ( d->m_font_size_list, sizeStr ); | 218 | int size = findItemCB ( d->m_font_size_list, sizeStr ); |
216 | if ( size < 0 ) | 219 | if ( size < 0 ) |
217 | size = findItemCB ( d->m_font_size_list, "10" ); | 220 | size = findItemCB ( d->m_font_size_list, "10" ); |
218 | if ( size < 0 && d->m_font_size_list->count() > 0 ) | 221 | if ( size < 0 && d->m_font_size_list->count() > 0 ) |
219 | size = 0; | 222 | size = 0; |
220 | d->m_font_size_list->setCurrentItem ( size ); | 223 | d->m_font_size_list->setCurrentItem ( size ); |
221 | fontSizeClicked ( size ); | 224 | fontSizeClicked ( size ); |
222 | 225 | ||
223 | return (( family ) && ( style >= 0 ) && ( size >= 0 )); | 226 | return (( family ) && ( style >= 0 ) && ( size >= 0 )); |
224 | } | 227 | } |
225 | 228 | ||
226 | /** | 229 | /** |
227 | * This method returns the name, style and size of the currently selected | 230 | * This method returns the name, style and size of the currently selected |
228 | * font or false if no font is selected | 231 | * font or false if no font is selected |
229 | * @param family The font family will be written there | 232 | * @param family The font family will be written there |
230 | * @param style The style will be written there | 233 | * @param style The style will be written there |
231 | * @param size The size will be written there | 234 | * @param size The size will be written there |
232 | * @return success or failure | 235 | * @return success or failure |
233 | */ | 236 | */ |
234 | bool OFontSelector::selectedFont ( QString &family, QString &style, int &size ) | 237 | bool OFontSelector::selectedFont ( QString &family, QString &style, int &size ) |
235 | { | 238 | { |
236 | QString dummy; | 239 | QString dummy; |
237 | return selectedFont ( family, style, size, dummy ); | 240 | return selectedFont ( family, style, size, dummy ); |
238 | } | 241 | } |
239 | 242 | ||
240 | 243 | ||
241 | /** | 244 | /** |
242 | * This method does return the font family or QString::null if there is | 245 | * This method does return the font family or QString::null if there is |
243 | * no font item selected | 246 | * no font item selected |
244 | * @return the font family | 247 | * @return the font family |
245 | */ | 248 | */ |
246 | QString OFontSelector::fontFamily() const | 249 | QString OFontSelector::fontFamily() const |
247 | { | 250 | { |
248 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); | 251 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); |
249 | 252 | ||
250 | return fli ? fli->family() : QString::null; | 253 | return fli ? fli->family() : QString::null; |
251 | } | 254 | } |
252 | 255 | ||
253 | /** | 256 | /** |
254 | * This method will return the style of the font or QString::null | 257 | * This method will return the style of the font or QString::null |
255 | * @return the style of the font | 258 | * @return the style of the font |
256 | */ | 259 | */ |
257 | QString OFontSelector::fontStyle() const | 260 | QString OFontSelector::fontStyle() const |
258 | { | 261 | { |
259 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); | 262 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); |
260 | int fst = d->m_font_style_list->currentItem(); | 263 | int fst = d->m_font_style_list->currentItem(); |
261 | 264 | ||
262 | return ( fli && fst >= 0 ) ? fli->styles() [fst] : QString::null; | 265 | return ( fli && fst >= 0 ) ? fli->styles() [fst] : QString::null; |
263 | } | 266 | } |
264 | 267 | ||
265 | /** | 268 | /** |
266 | * This method will return the font size or 10 if no font size is available | 269 | * This method will return the font size or 10 if no font size is available |
267 | */ | 270 | */ |
268 | int OFontSelector::fontSize() const | 271 | int OFontSelector::fontSize() const |
269 | { | 272 | { |
270 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); | 273 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); |
271 | int fsi = d->m_font_size_list->currentItem(); | 274 | int fsi = d->m_font_size_list->currentItem(); |
272 | 275 | ||
273 | return ( fli && fsi >= 0 ) ? fli->sizes() [fsi] : 10; | 276 | return ( fli && fsi >= 0 ) ? fli->sizes() [fsi] : 10; |
274 | } | 277 | } |
275 | 278 | ||
276 | /** | 279 | /** |
277 | * returns the charset of the font or QString::null | 280 | * returns the charset of the font or QString::null |
278 | */ | 281 | */ |
279 | QString OFontSelector::fontCharSet() const | 282 | QString OFontSelector::fontCharSet() const |
280 | { | 283 | { |
281 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); | 284 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( d->m_font_family_list->currentItem()); |
282 | 285 | ||
283 | return fli ? d->m_fdb. charSets ( fli->family()) [0] : QString::null; | 286 | return fli ? d->m_fdb. charSets ( fli->family()) [0] : QString::null; |
284 | } | 287 | } |
285 | 288 | ||
286 | /** | 289 | /** |
287 | * Overloaded member function see above | 290 | * Overloaded member function see above |
288 | * @see selectedFont | 291 | * @see selectedFont |
289 | */ | 292 | */ |
290 | bool OFontSelector::selectedFont ( QString &family, QString &style, int &size, QString &charset ) | 293 | bool OFontSelector::selectedFont ( QString &family, QString &style, int &size, QString &charset ) |
291 | { | 294 | { |
292 | int ffa = d->m_font_family_list->currentItem(); | 295 | int ffa = d->m_font_family_list->currentItem(); |
293 | int fst = d->m_font_style_list->currentItem(); | 296 | int fst = d->m_font_style_list->currentItem(); |
294 | int fsi = d->m_font_size_list->currentItem(); | 297 | int fsi = d->m_font_size_list->currentItem(); |
295 | 298 | ||
296 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( ffa ); | 299 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( ffa ); |
297 | 300 | ||
298 | if ( fli ) | 301 | if ( fli ) |
299 | { | 302 | { |
300 | family = fli->family(); | 303 | family = fli->family(); |
301 | style = fst >= 0 ? fli->styles() [fst] : QString::null; | 304 | style = fst >= 0 ? fli->styles() [fst] : QString::null; |
302 | size = fsi >= 0 ? fli->sizes() [fsi] : 10; | 305 | size = fsi >= 0 ? fli->sizes() [fsi] : 10; |
303 | charset = d->m_fdb. charSets ( fli->family()) [0]; | 306 | charset = d->m_fdb. charSets ( fli->family()) [0]; |
304 | 307 | ||
305 | return true; | 308 | return true; |
306 | } | 309 | } |
307 | else | 310 | else |
308 | return false; | 311 | return false; |
309 | } | 312 | } |
310 | 313 | ||
311 | void OFontSelector::loadFonts ( QListBox *list ) | 314 | void OFontSelector::loadFonts ( QListBox *list ) |
312 | { | 315 | { |
313 | QStringList f = d->m_fdb. families(); | 316 | QStringList f = d->m_fdb. families(); |
314 | 317 | ||
315 | for ( QStringList::ConstIterator it = f. begin(); it != f. end(); ++it ) | 318 | for ( QStringList::ConstIterator it = f. begin(); it != f. end(); ++it ) |
316 | { | 319 | { |
317 | QValueList <int> ps = d->m_fdb. pointSizes ( *it ); | 320 | QValueList <int> ps = d->m_fdb. pointSizes ( *it ); |
318 | 321 | ||
319 | if ( d->m_pointbug ) | 322 | if ( d->m_pointbug ) |
320 | { | 323 | { |
321 | for ( QValueList <int>::Iterator it = ps. begin(); it != ps. end(); it++ ) | 324 | for ( QValueList <int>::Iterator it = ps. begin(); it != ps. end(); it++ ) |
322 | *it /= 10; | 325 | *it /= 10; |
323 | } | 326 | } |
324 | 327 | ||
325 | list->insertItem ( new FontListItem ( *it, d->m_fdb. styles ( *it ), ps )); | 328 | list->insertItem ( new FontListItem ( *it, d->m_fdb. styles ( *it ), ps )); |
326 | } | 329 | } |
327 | } | 330 | } |
328 | 331 | ||
329 | void OFontSelector::fontFamilyClicked ( int index ) | 332 | void OFontSelector::fontFamilyClicked ( int index ) |
330 | { | 333 | { |
331 | QString oldstyle = d->m_font_style_list->currentText(); | 334 | QString oldstyle = d->m_font_style_list->currentText(); |
332 | QString oldsize = d->m_font_size_list->currentText(); | 335 | QString oldsize = d->m_font_size_list->currentText(); |
333 | 336 | ||
334 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( index ); | 337 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( index ); |
335 | 338 | ||
336 | d->m_font_style_list->clear(); | 339 | d->m_font_style_list->clear(); |
337 | d->m_font_style_list->insertStringList ( fli->styles()); | 340 | d->m_font_style_list->insertStringList ( fli->styles()); |
338 | d->m_font_style_list->setEnabled ( !fli->styles(). isEmpty()); | 341 | d->m_font_style_list->setEnabled ( !fli->styles(). isEmpty()); |
339 | 342 | ||
340 | int i; | 343 | int i; |
341 | 344 | ||
342 | i = findItemCB ( d->m_font_style_list, oldstyle ); | 345 | i = findItemCB ( d->m_font_style_list, oldstyle ); |
343 | if ( i < 0 ) | 346 | if ( i < 0 ) |
344 | i = findItemCB ( d->m_font_style_list, "Regular" ); | 347 | i = findItemCB ( d->m_font_style_list, "Regular" ); |
345 | if (( i < 0 ) && ( d->m_font_style_list->count() > 0 )) | 348 | if (( i < 0 ) && ( d->m_font_style_list->count() > 0 )) |
346 | i = 0; | 349 | i = 0; |
347 | 350 | ||
348 | if ( i >= 0 ) | 351 | if ( i >= 0 ) |
349 | { | 352 | { |
350 | d->m_font_style_list->setCurrentItem ( i ); | 353 | d->m_font_style_list->setCurrentItem ( i ); |
351 | fontStyleClicked ( i ); | 354 | fontStyleClicked ( i ); |
352 | } | 355 | } |
353 | 356 | ||
354 | d->m_font_size_list->clear(); | 357 | d->m_font_size_list->clear(); |
355 | QValueList<int> sl = fli->sizes(); | 358 | QValueList<int> sl = fli->sizes(); |
356 | 359 | ||
357 | for ( QValueList<int>::Iterator it = sl. begin(); it != sl. end(); ++it ) | 360 | for ( QValueList<int>::Iterator it = sl. begin(); it != sl. end(); ++it ) |
358 | d->m_font_size_list->insertItem ( QString::number ( *it )); | 361 | d->m_font_size_list->insertItem ( QString::number ( *it )); |
359 | 362 | ||
360 | i = findItemCB ( d->m_font_size_list, oldsize ); | 363 | i = findItemCB ( d->m_font_size_list, oldsize ); |
361 | if ( i < 0 ) | 364 | if ( i < 0 ) |
362 | i = findItemCB ( d->m_font_size_list, "10" ); | 365 | i = findItemCB ( d->m_font_size_list, "10" ); |
363 | if (( i < 0 ) && ( d->m_font_size_list->count() > 0 )) | 366 | if (( i < 0 ) && ( d->m_font_size_list->count() > 0 )) |
364 | i = 0; | 367 | i = 0; |
365 | 368 | ||
366 | if ( i >= 0 ) | 369 | if ( i >= 0 ) |
367 | { | 370 | { |
368 | d->m_font_size_list->setCurrentItem ( i ); | 371 | d->m_font_size_list->setCurrentItem ( i ); |
369 | fontSizeClicked ( i ); | 372 | fontSizeClicked ( i ); |
370 | } | 373 | } |
371 | changeFont(); | 374 | changeFont(); |
372 | } | 375 | } |
373 | 376 | ||
374 | void OFontSelector::fontStyleClicked ( int /*index*/ ) | 377 | void OFontSelector::fontStyleClicked ( int /*index*/ ) |
375 | { | 378 | { |
376 | changeFont(); | 379 | changeFont(); |
377 | } | 380 | } |
378 | 381 | ||
379 | void OFontSelector::fontSizeClicked ( int /*index*/ ) | 382 | void OFontSelector::fontSizeClicked ( int /*index*/ ) |
380 | { | 383 | { |
381 | changeFont(); | 384 | changeFont(); |
382 | } | 385 | } |
383 | 386 | ||
384 | void OFontSelector::changeFont() | 387 | void OFontSelector::changeFont() |
385 | { | 388 | { |
386 | QFont f = selectedFont(); | 389 | QFont f = selectedFont(); |
387 | 390 | ||
388 | if ( d->m_preview ) | 391 | if ( d->m_preview ) |
389 | d->m_preview->setFont ( f ); | 392 | d->m_preview->setFont ( f ); |
390 | 393 | ||
391 | emit fontSelected ( f ); | 394 | emit fontSelected ( f ); |
392 | } | 395 | } |
393 | 396 | ||
394 | /** | 397 | /** |
395 | * Return the selected font | 398 | * Return the selected font |
396 | */ | 399 | */ |
397 | QFont OFontSelector::selectedFont() | 400 | QFont OFontSelector::selectedFont() |
398 | { | 401 | { |
399 | int ffa = d->m_font_family_list->currentItem(); | 402 | int ffa = d->m_font_family_list->currentItem(); |
400 | int fst = d->m_font_style_list->currentItem(); | 403 | int fst = d->m_font_style_list->currentItem(); |
401 | int fsi = d->m_font_size_list->currentItem(); | 404 | int fsi = d->m_font_size_list->currentItem(); |
402 | 405 | ||
403 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( ffa ); | 406 | FontListItem *fli = (FontListItem *) d->m_font_family_list->item ( ffa ); |
404 | 407 | ||
405 | if ( fli ) | 408 | if ( fli ) |
406 | { | 409 | { |
407 | return d->m_fdb. font ( fli->family(), \ | 410 | return d->m_fdb. font ( fli->family(), \ |
408 | fst >= 0 ? fli->styles() [fst] : QString::null, \ | 411 | fst >= 0 ? fli->styles() [fst] : QString::null, \ |
409 | fsi >= 0 ? fli->sizes() [fsi] : 10, \ | 412 | fsi >= 0 ? fli->sizes() [fsi] : 10, \ |
410 | d->m_fdb. charSets ( fli->family()) [0] ); | 413 | d->m_fdb. charSets ( fli->family()) [0] ); |
411 | } | 414 | } |
412 | else | 415 | else |
413 | return QFont(); | 416 | return QFont(); |
414 | } | 417 | } |
415 | 418 | ||
416 | void OFontSelector::resizeEvent ( QResizeEvent *re ) | 419 | void OFontSelector::resizeEvent ( QResizeEvent *re ) |
417 | { | 420 | { |
418 | if ( d->m_preview ) | 421 | if ( d->m_preview ) |
419 | { | 422 | { |
420 | d->m_preview->setMinimumHeight ( 1 ); | 423 | d->m_preview->setMinimumHeight ( 1 ); |
421 | d->m_preview->setMaximumHeight ( 32767 ); | 424 | d->m_preview->setMaximumHeight ( 32767 ); |
422 | } | 425 | } |
423 | 426 | ||
424 | QWidget::resizeEvent ( re ); | 427 | QWidget::resizeEvent ( re ); |
425 | 428 | ||
426 | if ( d->m_preview ) | 429 | if ( d->m_preview ) |
427 | d->m_preview->setFixedHeight ( d->m_preview->height()); | 430 | d->m_preview->setFixedHeight ( d->m_preview->height()); |
428 | 431 | ||
429 | } | 432 | } |
430 | 433 | ||