summaryrefslogtreecommitdiff
path: root/libopie/ofontselector.cpp
authorzecke <zecke>2003-04-13 16:57:28 (UTC)
committer zecke <zecke>2003-04-13 16:57:28 (UTC)
commit0b311079ff19798866291034663757103c6ba935 (patch) (unidiff)
tree70ddccf3a3147475050fa06cc2d807a71ab1d5ee /libopie/ofontselector.cpp
parent1537ccb435ca725c793db6e94e0b9e83484b57e7 (diff)
downloadopie-0b311079ff19798866291034663757103c6ba935.zip
opie-0b311079ff19798866291034663757103c6ba935.tar.gz
opie-0b311079ff19798866291034663757103c6ba935.tar.bz2
Jumbo API documentation update
and some API fixed ColorDialog is now OColorDialog!!! keep the namespace tidy! ColorPopupMenu is now OColorPopupMenu!!! keep the namespace tidy ColorDialog TT couldn't break bc we can so make it const QColor& OTimePicker add some convience methods more I might have forgot
Diffstat (limited to 'libopie/ofontselector.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie/ofontselector.cpp60
1 files changed, 55 insertions, 5 deletions
diff --git a/libopie/ofontselector.cpp b/libopie/ofontselector.cpp
index b905474..c8471cc 100644
--- a/libopie/ofontselector.cpp
+++ b/libopie/ofontselector.cpp
@@ -35,29 +35,30 @@
35 35
36#include <qpe/fontdatabase.h> 36#include <qpe/fontdatabase.h>
37 37
38#include "ofontselector.h" 38#include "ofontselector.h"
39 39
40class OFontSelectorPrivate { 40class OFontSelectorPrivate {
41public: 41public:
42 QListBox * m_font_family_list; 42 QListBox * m_font_family_list;
43 QComboBox * m_font_style_list; 43 QComboBox * m_font_style_list;
44 QComboBox * m_font_size_list; 44 QComboBox * m_font_size_list;
45 QMultiLineEdit *m_preview; 45 QMultiLineEdit *m_preview;
46 46
47 bool m_pointbug; 47 bool m_pointbug : 1;
48 48
49 FontDatabase m_fdb; 49 FontDatabase m_fdb;
50}; 50};
51 51
52namespace {
52 53
53class FontListItem : public QListBoxText { 54class FontListItem : public QListBoxText {
54public: 55public:
55 FontListItem ( const QString &t, const QStringList &styles, const QValueList<int> &sizes ) : QListBoxText ( ) 56 FontListItem ( const QString &t, const QStringList &styles, const QValueList<int> &sizes ) : QListBoxText ( )
56 { 57 {
57 m_name = t; 58 m_name = t;
58 m_styles = styles; 59 m_styles = styles;
59 m_sizes = sizes; 60 m_sizes = sizes;
60 61
61 QString str = t; 62 QString str = t;
62 str [0] = str [0]. upper ( ); 63 str [0] = str [0]. upper ( );
63 setText ( str ); 64 setText ( str );
@@ -85,33 +86,40 @@ private:
85}; 86};
86 87
87 88
88static int findItemCB ( QComboBox *box, const QString &str ) 89static int findItemCB ( QComboBox *box, const QString &str )
89{ 90{
90 for ( int i = 0; i < box-> count ( ); i++ ) { 91 for ( int i = 0; i < box-> count ( ); i++ ) {
91 if ( box-> text ( i ) == str ) 92 if ( box-> text ( i ) == str )
92 return i; 93 return i;
93 } 94 }
94 return -1; 95 return -1;
95} 96}
96 97
97 98}
99/* static same as anon. namespace */
98static int qt_version ( ) 100static int qt_version ( )
99{ 101{
100 const char *qver = qVersion ( ); 102 const char *qver = qVersion ( );
101 103
102 return ( qver [0] - '0' ) * 100 + ( qver [2] - '0' ) * 10 + ( qver [4] - '0' ); 104 return ( qver [0] - '0' ) * 100 + ( qver [2] - '0' ) * 10 + ( qver [4] - '0' );
103} 105}
104 106
105 107/**
108 * Constructs the Selector object
109 * @param withpreview If a font preview should be given
110 * @param parent The parent of the Font Selector
111 * @param name The name of the object
112 * @param fl WidgetFlags
113 */
106OFontSelector::OFontSelector ( bool withpreview, QWidget *parent, const char *name, WFlags fl ) : QWidget ( parent, name, fl ) 114OFontSelector::OFontSelector ( bool withpreview, QWidget *parent, const char *name, WFlags fl ) : QWidget ( parent, name, fl )
107{ 115{
108 d = new OFontSelectorPrivate ( ); 116 d = new OFontSelectorPrivate ( );
109 117
110 QGridLayout *gridLayout = new QGridLayout ( this, 0, 0, 4, 4 ); 118 QGridLayout *gridLayout = new QGridLayout ( this, 0, 0, 4, 4 );
111 gridLayout->setRowStretch ( 4, 10 ); 119 gridLayout->setRowStretch ( 4, 10 );
112 120
113 d-> m_font_family_list = new QListBox( this, "FontListBox" ); 121 d-> m_font_family_list = new QListBox( this, "FontListBox" );
114 gridLayout->addMultiCellWidget( d-> m_font_family_list, 0, 4, 0, 0 ); 122 gridLayout->addMultiCellWidget( d-> m_font_family_list, 0, 4, 0, 0 );
115 connect( d-> m_font_family_list, SIGNAL( highlighted( int ) ), this, SLOT( fontFamilyClicked( int ) ) ); 123 connect( d-> m_font_family_list, SIGNAL( highlighted( int ) ), this, SLOT( fontFamilyClicked( int ) ) );
116 124
117 QLabel *label = new QLabel( tr( "Style" ), this ); 125 QLabel *label = new QLabel( tr( "Style" ), this );
@@ -143,30 +151,43 @@ OFontSelector::OFontSelector ( bool withpreview, QWidget *parent, const char *na
143 } 151 }
144 else 152 else
145 d-> m_preview = 0; 153 d-> m_preview = 0;
146 154
147 loadFonts ( d-> m_font_family_list ); 155 loadFonts ( d-> m_font_family_list );
148} 156}
149 157
150OFontSelector::~OFontSelector ( ) 158OFontSelector::~OFontSelector ( )
151{ 159{
152 delete d; 160 delete d;
153} 161}
154 162
163/**
164 * This methods tries to set the font
165 * @param f The wishes font
166 * @return success or failure
167 */
155bool OFontSelector::setSelectedFont ( const QFont &f ) 168bool OFontSelector::setSelectedFont ( const QFont &f )
156{ 169{
157 return setSelectedFont ( f. family ( ), d-> m_fdb. styleString ( f ), f. pointSize ( ), QFont::encodingName ( f. charSet ( ))); 170 return setSelectedFont ( f. family ( ), d-> m_fdb. styleString ( f ), f. pointSize ( ), QFont::encodingName ( f. charSet ( )));
158} 171}
159 172
160bool OFontSelector::setSelectedFont ( const QString &familyStr, const QString &styleStr, int sizeVal, const QString & /*charset*/ ) 173
174/**
175 * This is an overloaded method @see setSelectedFont
176 * @param familyStr The family of the font
177 * @param styleStr The style of the font
178 * @param sizeVal The size of font
179 * @param charset The charset to be used. Will be deprecated by QT3
180 */
181bool OFontSelector::setSelectedFont ( const QString &familyStr, const QString &styleStr, int sizeVal, const QString & charset )
161{ 182{
162 QString sizeStr = QString::number ( sizeVal ); 183 QString sizeStr = QString::number ( sizeVal );
163 184
164 QListBoxItem *family = d-> m_font_family_list-> findItem ( familyStr ); 185 QListBoxItem *family = d-> m_font_family_list-> findItem ( familyStr );
165 if ( !family ) 186 if ( !family )
166 family = d-> m_font_family_list-> findItem ( "Helvetica" ); 187 family = d-> m_font_family_list-> findItem ( "Helvetica" );
167 if ( !family ) 188 if ( !family )
168 family = d-> m_font_family_list-> firstItem ( ); 189 family = d-> m_font_family_list-> firstItem ( );
169 d-> m_font_family_list-> setCurrentItem ( family ); 190 d-> m_font_family_list-> setCurrentItem ( family );
170 fontFamilyClicked ( d-> m_font_family_list-> index ( family )); 191 fontFamilyClicked ( d-> m_font_family_list-> index ( family ));
171 192
172 int style = findItemCB ( d-> m_font_style_list, styleStr ); 193 int style = findItemCB ( d-> m_font_style_list, styleStr );
@@ -179,61 +200,88 @@ bool OFontSelector::setSelectedFont ( const QString &familyStr, const QString &s
179 200
180 int size = findItemCB ( d-> m_font_size_list, sizeStr ); 201 int size = findItemCB ( d-> m_font_size_list, sizeStr );
181 if ( size < 0 ) 202 if ( size < 0 )
182 size = findItemCB ( d-> m_font_size_list, "10" ); 203 size = findItemCB ( d-> m_font_size_list, "10" );
183 if ( size < 0 && d-> m_font_size_list-> count ( ) > 0 ) 204 if ( size < 0 && d-> m_font_size_list-> count ( ) > 0 )
184 size = 0; 205 size = 0;
185 d-> m_font_size_list-> setCurrentItem ( size ); 206 d-> m_font_size_list-> setCurrentItem ( size );
186 fontSizeClicked ( size ); 207 fontSizeClicked ( size );
187 208
188 return (( family ) && ( style >= 0 ) && ( size >= 0 )); 209 return (( family ) && ( style >= 0 ) && ( size >= 0 ));
189} 210}
190 211
212/**
213 * This method returns the name, style and size of the currently selected
214 * font or false if no font is selected
215 * @param family The font family will be written there
216 * @param style The style will be written there
217 * @param size The size will be written there
218 * @return success or failure
219 */
191bool OFontSelector::selectedFont ( QString &family, QString &style, int &size ) 220bool OFontSelector::selectedFont ( QString &family, QString &style, int &size )
192{ 221{
193 QString dummy; 222 QString dummy;
194 return selectedFont ( family, style, size, dummy ); 223 return selectedFont ( family, style, size, dummy );
195} 224}
196 225
197 226
227/**
228 * This method does return the font family or QString::null if there is
229 * no font item selected
230 * @return the font family
231 */
198QString OFontSelector::fontFamily ( ) const 232QString OFontSelector::fontFamily ( ) const
199{ 233{
200 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( )); 234 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( ));
201 235
202 return fli ? fli-> family ( ) : QString::null; 236 return fli ? fli-> family ( ) : QString::null;
203} 237}
204 238
239/**
240 * This method will return the style of the font or QString::null
241 * @return the style of the font
242 */
205QString OFontSelector::fontStyle ( ) const 243QString OFontSelector::fontStyle ( ) const
206{ 244{
207 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( )); 245 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( ));
208 int fst = d-> m_font_style_list-> currentItem ( ); 246 int fst = d-> m_font_style_list-> currentItem ( );
209 247
210 return ( fli && fst >= 0 ) ? fli-> styles ( ) [fst] : QString::null; 248 return ( fli && fst >= 0 ) ? fli-> styles ( ) [fst] : QString::null;
211} 249}
212 250
251/**
252 * This method will return the font size or 10 if no font size is available
253 */
213int OFontSelector::fontSize ( ) const 254int OFontSelector::fontSize ( ) const
214{ 255{
215 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( )); 256 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( ));
216 int fsi = d-> m_font_size_list-> currentItem ( ); 257 int fsi = d-> m_font_size_list-> currentItem ( );
217 258
218 return ( fli && fsi >= 0 ) ? fli-> sizes ( ) [fsi] : 10; 259 return ( fli && fsi >= 0 ) ? fli-> sizes ( ) [fsi] : 10;
219} 260}
220 261
262/**
263 * returns the charset of the font or QString::null
264 */
221QString OFontSelector::fontCharSet ( ) const 265QString OFontSelector::fontCharSet ( ) const
222{ 266{
223 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( )); 267 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( d-> m_font_family_list-> currentItem ( ));
224 268
225 return fli ? d-> m_fdb. charSets ( fli-> family ( )) [0] : QString::null; 269 return fli ? d-> m_fdb. charSets ( fli-> family ( )) [0] : QString::null;
226} 270}
227 271
272/**
273 * Overloaded member function see above
274 * @see selectedFont
275 */
228bool OFontSelector::selectedFont ( QString &family, QString &style, int &size, QString &charset ) 276bool OFontSelector::selectedFont ( QString &family, QString &style, int &size, QString &charset )
229{ 277{
230 int ffa = d-> m_font_family_list-> currentItem ( ); 278 int ffa = d-> m_font_family_list-> currentItem ( );
231 int fst = d-> m_font_style_list-> currentItem ( ); 279 int fst = d-> m_font_style_list-> currentItem ( );
232 int fsi = d-> m_font_size_list-> currentItem ( ); 280 int fsi = d-> m_font_size_list-> currentItem ( );
233 281
234 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( ffa ); 282 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( ffa );
235 283
236 if ( fli ) { 284 if ( fli ) {
237 family = fli-> family ( ); 285 family = fli-> family ( );
238 style = fst >= 0 ? fli-> styles ( ) [fst] : QString::null; 286 style = fst >= 0 ? fli-> styles ( ) [fst] : QString::null;
239 size = fsi >= 0 ? fli-> sizes ( ) [fsi] : 10; 287 size = fsi >= 0 ? fli-> sizes ( ) [fsi] : 10;
@@ -318,25 +366,27 @@ void OFontSelector::fontSizeClicked ( int /*index*/ )
318} 366}
319 367
320void OFontSelector::changeFont ( ) 368void OFontSelector::changeFont ( )
321{ 369{
322 QFont f = selectedFont ( ); 370 QFont f = selectedFont ( );
323 371
324 if ( d-> m_preview ) 372 if ( d-> m_preview )
325 d-> m_preview-> setFont ( f ); 373 d-> m_preview-> setFont ( f );
326 374
327 emit fontSelected ( f ); 375 emit fontSelected ( f );
328} 376}
329 377
330 378/**
379 * Return the selected font
380 */
331QFont OFontSelector::selectedFont ( ) 381QFont OFontSelector::selectedFont ( )
332{ 382{
333 int ffa = d-> m_font_family_list-> currentItem ( ); 383 int ffa = d-> m_font_family_list-> currentItem ( );
334 int fst = d-> m_font_style_list-> currentItem ( ); 384 int fst = d-> m_font_style_list-> currentItem ( );
335 int fsi = d-> m_font_size_list-> currentItem ( ); 385 int fsi = d-> m_font_size_list-> currentItem ( );
336 386
337 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( ffa ); 387 FontListItem *fli = (FontListItem *) d-> m_font_family_list-> item ( ffa );
338 388
339 if ( fli ) { 389 if ( fli ) {
340 return d-> m_fdb. font ( fli-> family ( ), \ 390 return d-> m_fdb. font ( fli-> family ( ), \
341 fst >= 0 ? fli-> styles ( ) [fst] : QString::null, \ 391 fst >= 0 ? fli-> styles ( ) [fst] : QString::null, \
342 fsi >= 0 ? fli-> sizes ( ) [fsi] : 10, \ 392 fsi >= 0 ? fli-> sizes ( ) [fsi] : 10, \