summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofontselector.cpp65
-rw-r--r--libopie/ofontselector.h2
2 files changed, 43 insertions, 24 deletions
diff --git a/libopie/ofontselector.cpp b/libopie/ofontselector.cpp
index f6fd541..d32aeb4 100644
--- a/libopie/ofontselector.cpp
+++ b/libopie/ofontselector.cpp
@@ -112,28 +112,37 @@ OFontSelector::~OFontSelector ( )
112{ 112{
113} 113}
114 114
115bool OFontSelector::setSelectedFont ( const QString &family, const QString &styleStr, int size, const QString & /*charset*/ ) 115bool OFontSelector::setSelectedFont ( const QString &familyStr, const QString &styleStr, int sizeVal, const QString & /*charset*/ )
116{ 116{
117 if ( size <= 0 ) 117 QString sizeStr = QString::number ( sizeVal );
118 size = 10; 118
119 QString familyStr = family. isEmpty ( ) ? QString ( "Helvetica" ) : family; 119 QListBoxItem *family = m_font_family_list-> findItem ( familyStr );
120 QString sizeStr = QString::number ( size ); 120 if ( !family )
121 121 family = m_font_family_list-> findItem ( "Helvetica" );
122 m_font_family_list-> setCurrentItem ( m_font_family_list-> findItem ( familyStr )); 122 if ( !family )
123 if ( m_font_family_list-> currentItem ( ) < 0 ) 123 family = m_font_family_list-> firstItem ( );
124 m_font_family_list-> setCurrentItem ( 0 ); 124 m_font_family_list-> setCurrentItem ( family );
125 125 fontFamilyClicked ( m_font_family_list-> index ( family ));
126 fontFamilyClicked ( m_font_family_list-> currentItem ( )); 126
127 127 int style = findItemCB ( m_font_style_list, styleStr );
128 m_font_style_list-> setCurrentItem ( findItemCB ( m_font_style_list, styleStr )); 128 if ( style < 0 )
129 fontStyleClicked ( m_font_style_list-> currentItem ( )); 129 style = findItemCB ( m_font_style_list, "Regular" );
130 130 if ( style < 0 && m_font_style_list-> count ( ) > 0 )
131 m_font_size_list-> setCurrentItem ( findItemCB ( m_font_size_list, sizeStr )); 131 style = 0;
132 fontSizeClicked ( m_font_size_list-> currentItem ( )); 132 m_font_style_list-> setCurrentItem ( style );
133 fontStyleClicked ( style );
134
135 int size = findItemCB ( m_font_size_list, sizeStr );
136 if ( size < 0 )
137 size = findItemCB ( m_font_size_list, "10" );
138 if ( size < 0 && m_font_size_list-> count ( ) > 0 )
139 size = 0;
140 m_font_size_list-> setCurrentItem ( size );
141 fontSizeClicked ( size );
133 142
134 return (( m_font_family_list-> currentItem ( ) >= 0 ) && 143 return (( family ) &&
135 ( m_font_style_list-> currentItem ( ) >= 0 ) && 144 ( style >= 0 ) &&
136 ( m_font_size_list-> currentItem ( ) >= 0 )); 145 ( size >= 0 ));
137} 146}
138 147
139bool OFontSelector::selectedFont ( QString &family, QString &style, int &size ) 148bool OFontSelector::selectedFont ( QString &family, QString &style, int &size )
@@ -259,6 +268,12 @@ void OFontSelector::fontSizeClicked ( int /*index*/ )
259 268
260void OFontSelector::changeFont ( ) 269void OFontSelector::changeFont ( )
261{ 270{
271 emit fontSelected ( selectedFont ( ));
272}
273
274
275QFont OFontSelector::selectedFont ( )
276{
262 int ffa = m_font_family_list-> currentItem ( ); 277 int ffa = m_font_family_list-> currentItem ( );
263 int fst = m_font_style_list-> currentItem ( ); 278 int fst = m_font_style_list-> currentItem ( );
264 int fsi = m_font_size_list-> currentItem ( ); 279 int fsi = m_font_size_list-> currentItem ( );
@@ -266,11 +281,13 @@ void OFontSelector::changeFont ( )
266 FontListItem *fli = (FontListItem *) m_font_family_list-> item ( ffa ); 281 FontListItem *fli = (FontListItem *) m_font_family_list-> item ( ffa );
267 282
268 if ( fli ) { 283 if ( fli ) {
269 emit fontSelected ( m_fdb. font ( fli-> family ( ), \ 284 return m_fdb. font ( fli-> family ( ), \
270 fst >= 0 ? fli-> styles ( ) [fst] : QString::null, \ 285 fst >= 0 ? fli-> styles ( ) [fst] : QString::null, \
271 fsi >= 0 ? fli-> sizes ( ) [fsi] : 10, \ 286 fsi >= 0 ? fli-> sizes ( ) [fsi] : 10, \
272 m_fdb. charSets ( fli-> family ( )) [0] )); 287 m_fdb. charSets ( fli-> family ( )) [0] );
273 } 288 }
289 else
290 return QFont ( );
274} 291}
275 292
276 293
diff --git a/libopie/ofontselector.h b/libopie/ofontselector.h
index 9227e48..2011e43 100644
--- a/libopie/ofontselector.h
+++ b/libopie/ofontselector.h
@@ -47,6 +47,8 @@ public:
47 bool selectedFont ( QString &family, QString &style, int &size ); 47 bool selectedFont ( QString &family, QString &style, int &size );
48 bool selectedFont ( QString &family, QString &style, int &size, QString &charset ); 48 bool selectedFont ( QString &family, QString &style, int &size, QString &charset );
49 49
50 QFont selectedFont ( );
51
50 bool setSelectedFont ( const QString &family, const QString &style, int size, const QString &charset = 0 ); 52 bool setSelectedFont ( const QString &family, const QString &style, int size, const QString &charset = 0 );
51 53
52 QString fontFamily ( ) const; 54 QString fontFamily ( ) const;