summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/holiday/national/nationalcfg.cpp2
-rw-r--r--core/pim/datebook/holiday/national/nationalcfg.h2
-rw-r--r--inputmethods/handwriting/qimpenwidget.cpp2
-rw-r--r--inputmethods/handwriting/qimpenwidget.h2
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp2
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_xml.h2
-rw-r--r--library/lightstyle.cpp8
-rw-r--r--library/lightstyle.h8
8 files changed, 14 insertions, 14 deletions
diff --git a/core/pim/datebook/holiday/national/nationalcfg.cpp b/core/pim/datebook/holiday/national/nationalcfg.cpp
index f71c833..33e9db3 100644
--- a/core/pim/datebook/holiday/national/nationalcfg.cpp
+++ b/core/pim/datebook/holiday/national/nationalcfg.cpp
@@ -151,221 +151,221 @@ bool NHcfg::setName(const QXmlAttributes&attr)
151 return false; 151 return false;
152 } 152 }
153 _contentname = attr.value(nindx); 153 _contentname = attr.value(nindx);
154 return true; 154 return true;
155} 155}
156 156
157bool NHcfg::parsevalue(const QString&name,const QXmlAttributes&attr) 157bool NHcfg::parsevalue(const QString&name,const QXmlAttributes&attr)
158{ 158{
159 if (name != _key_entry && name != _key_calc) {err = QString("Not a valid entry (%1)").arg(name); return false;} 159 if (name != _key_entry && name != _key_calc) {err = QString("Not a valid entry (%1)").arg(name); return false;}
160 160
161 int nindex = attr.index(_content_name); 161 int nindex = attr.index(_content_name);
162 int dindex = attr.index(_content_date); 162 int dindex = attr.index(_content_date);
163 int tindex = attr.index(_content_type); 163 int tindex = attr.index(_content_type);
164 164
165 if (nindex == -1) { 165 if (nindex == -1) {
166 err = QString("Listentry %1 is invalid (name missing)").arg(counter); 166 err = QString("Listentry %1 is invalid (name missing)").arg(counter);
167 return false; 167 return false;
168 } 168 }
169 m_currentEntry.setName(attr.value(nindex)); 169 m_currentEntry.setName(attr.value(nindex));
170 170
171 if (tindex != -1 && attr.value(tindex)==_content_float) { 171 if (tindex != -1 && attr.value(tindex)==_content_float) {
172 m_currentEntry.setType(NHentry::floating); 172 m_currentEntry.setType(NHentry::floating);
173 return true; 173 return true;
174 } 174 }
175 175
176 if (dindex == -1) { 176 if (dindex == -1) {
177 err = QString("Listentry %1 is invalid ").arg(counter);return false; 177 err = QString("Listentry %1 is invalid ").arg(counter);return false;
178 } 178 }
179 179
180 QString txt = attr.value(nindex); 180 QString txt = attr.value(nindex);
181 QString dstring = attr.value(dindex); 181 QString dstring = attr.value(dindex);
182 QStringList e = QStringList::split("-",dstring); 182 QStringList e = QStringList::split("-",dstring);
183 if (e.count()!=2){err=QString("Datestring %1 is invalid (entry %2)").arg(dstring).arg(counter);return false;} 183 if (e.count()!=2){err=QString("Datestring %1 is invalid (entry %2)").arg(dstring).arg(counter);return false;}
184 QDate d(0,e[0].toInt(),e[1].toInt()); 184 QDate d(0,e[0].toInt(),e[1].toInt());
185 m_currentEntry.setDate(d); 185 m_currentEntry.setDate(d);
186 return true; 186 return true;
187} 187}
188 188
189bool NHcfg::parseCalc(const QString&name,const QXmlAttributes&attr) 189bool NHcfg::parseCalc(const QString&name,const QXmlAttributes&attr)
190{ 190{
191 ++level; 191 ++level;
192 int vindex = attr.index(_content_value); 192 int vindex = attr.index(_content_value);
193 if (vindex == -1) { 193 if (vindex == -1) {
194 err = QString("Value for element %1 on entry %2 is missing").arg(name).arg(counter); 194 err = QString("Value for element %1 on entry %2 is missing").arg(name).arg(counter);
195 return false; 195 return false;
196 } 196 }
197 int what_c =0; 197 int what_c =0;
198 QString what = name.lower(); 198 QString what = name.lower();
199 QString value; 199 QString value;
200 if (what == _content_date) { 200 if (what == _content_date) {
201 what_c = 1; 201 what_c = 1;
202 } else if (what == _content_weekd) { 202 } else if (what == _content_weekd) {
203 what_c = 2; 203 what_c = 2;
204 } else if (what == _content_offset) { 204 } else if (what == _content_offset) {
205 what_c = 3; 205 what_c = 3;
206 } else if (what == _content_dayofmonth) { 206 } else if (what == _content_dayofmonth) {
207 what_c = 4; 207 what_c = 4;
208 } else if (what == _content_datedep) { 208 } else if (what == _content_datedep) {
209 what_c = 5; 209 what_c = 5;
210 } else if (what == _content_month) { 210 } else if (what == _content_month) {
211 what_c = 6; 211 what_c = 6;
212 } 212 }
213 if (what_c == 0) { 213 if (what_c == 0) {
214 err = QString("Unknown element %1 on entry %2").arg(name).arg(counter); 214 err = QString("Unknown element %1 on entry %2").arg(name).arg(counter);
215 return false; 215 return false;
216 } 216 }
217 value = attr.value(vindex).lower(); 217 value = attr.value(vindex).lower();
218 QStringList e; 218 QStringList e;
219 QDate d; 219 QDate d;
220 bool dotformat = false; 220 bool dotformat = false;
221 switch (what_c) { 221 switch (what_c) {
222 case 1: 222 case 1:
223 if (value != "easter") { 223 if (value != "easter") {
224 e = QStringList::split("-",value); 224 e = QStringList::split("-",value);
225 if (e.count()!=2) { 225 if (e.count()!=2) {
226 e = QStringList::split(".",value); 226 e = QStringList::split(".",value);
227 dotformat = true; 227 dotformat = true;
228 } 228 }
229 if (e.count()!=2){err=QString("Datestring %1 is invalid (entry %2)").arg(value).arg(counter);return false;} 229 if (e.count()!=2){err=QString("Datestring %1 is invalid (entry %2)").arg(value).arg(counter);return false;}
230 if (!dotformat) { 230 if (!dotformat) {
231 d=QDate(0,e[0].toInt(),e[1].toInt()); 231 d=QDate(0,e[0].toInt(),e[1].toInt());
232 } else { 232 } else {
233 d=QDate(0,e[1].toInt(),e[0].toInt()); 233 d=QDate(0,e[1].toInt(),e[0].toInt());
234 } 234 }
235 } else { 235 } else {
236 d=QDate(9999,1,1); 236 d=QDate(9999,1,1);
237 } 237 }
238 m_currentEntry.setDate(d); 238 m_currentEntry.setDate(d);
239 break; 239 break;
240 case 2: 240 case 2:
241 m_currentEntry.setWeekday(value); 241 m_currentEntry.setWeekday(value);
242 break; 242 break;
243 case 3: 243 case 3:
244 m_currentEntry.setOffet(value.toInt()); 244 m_currentEntry.setOffet(value.toInt());
245 break; 245 break;
246 case 4: 246 case 4:
247 m_currentEntry.setDayofmonth(value); 247 m_currentEntry.setDayofmonth(value);
248 break; 248 break;
249 case 5: 249 case 5:
250 m_currentEntry.setDaydep(value); 250 m_currentEntry.setDaydep(value);
251 break; 251 break;
252 case 6: 252 case 6:
253 m_currentEntry.setMonth(value); 253 m_currentEntry.setMonth(value);
254 break; 254 break;
255 } 255 }
256 return true; 256 return true;
257} 257}
258 258
259bool NHcfg::endElement(const QString&, const QString&,const QString& name) 259bool NHcfg::endElement(const QString&, const QString&,const QString& name)
260{ 260{
261// odebug << "End element: " << name << oendl; 261// odebug << "End element: " << name << oendl;
262 if (name==_key_entry) { 262 if (name==_key_entry) {
263 if (m_currentEntry.type()==NHentry::fix) { 263 if (m_currentEntry.type()==NHentry::fix) {
264 currentFixList.append(m_currentEntry); 264 currentFixList.append(m_currentEntry);
265 } else { 265 } else {
266 currentFloatList.append(m_currentEntry); 266 currentFloatList.append(m_currentEntry);
267// odebug << "Floatlist count " << currentFloatList.count() << oendl; 267// odebug << "Floatlist count " << currentFloatList.count() << oendl;
268 } 268 }
269 } else if (name==_key_calc) { 269 } else if (name==_key_calc) {
270 270
271 } 271 }
272 if (stage>=3) { 272 if (stage>=3) {
273 --level; 273 --level;
274 } 274 }
275// odebug << "Level == " << level << oendl; 275// odebug << "Level == " << level << oendl;
276 return true; 276 return true;
277} 277}
278 278
279const QString&NHcfg::errorString()const 279QString NHcfg::errorString() const
280{ 280{
281 return err; 281 return err;
282} 282}
283 283
284NHentry::NHentry() 284NHentry::NHentry()
285 :m_Type(fix) 285 :m_Type(fix)
286{ 286{
287 m_Offset=0; 287 m_Offset=0;
288} 288}
289 289
290NHentry::~NHentry() 290NHentry::~NHentry()
291{} 291{}
292 292
293void NHentry::setName(const QString&aName) 293void NHentry::setName(const QString&aName)
294{ 294{
295 m_Name = aName; 295 m_Name = aName;
296} 296}
297 297
298const QString&NHentry::name()const 298const QString&NHentry::name()const
299{ 299{
300 return m_Name; 300 return m_Name;
301} 301}
302 302
303void NHentry::setType(NHentry::entry_type aType) 303void NHentry::setType(NHentry::entry_type aType)
304{ 304{
305 m_Type = aType; 305 m_Type = aType;
306} 306}
307 307
308NHentry::entry_type NHentry::type()const 308NHentry::entry_type NHentry::type()const
309{ 309{
310 return m_Type; 310 return m_Type;
311} 311}
312 312
313void NHentry::setDate(const QDate&aDate) 313void NHentry::setDate(const QDate&aDate)
314{ 314{
315 m_Date = aDate; 315 m_Date = aDate;
316} 316}
317 317
318const QDate&NHentry::date()const 318const QDate&NHentry::date()const
319{ 319{
320 return m_Date; 320 return m_Date;
321} 321}
322 322
323void NHentry::setWeekday(const QString&aDay) 323void NHentry::setWeekday(const QString&aDay)
324{ 324{
325 m_Weekday = aDay; 325 m_Weekday = aDay;
326} 326}
327 327
328const QString&NHentry::weekday()const 328const QString&NHentry::weekday()const
329{ 329{
330 return m_Weekday; 330 return m_Weekday;
331} 331}
332 332
333void NHentry::setDayofmonth(const QString&aDay) 333void NHentry::setDayofmonth(const QString&aDay)
334{ 334{
335 m_Dayofmonth = aDay; 335 m_Dayofmonth = aDay;
336} 336}
337 337
338const QString&NHentry::dayofmonth()const 338const QString&NHentry::dayofmonth()const
339{ 339{
340 return m_Dayofmonth; 340 return m_Dayofmonth;
341} 341}
342 342
343void NHentry::setDaydep(const QString&dep) 343void NHentry::setDaydep(const QString&dep)
344{ 344{
345 m_Depth = dep; 345 m_Depth = dep;
346} 346}
347 347
348const QString&NHentry::daydep()const 348const QString&NHentry::daydep()const
349{ 349{
350 return m_Depth; 350 return m_Depth;
351} 351}
352 352
353void NHentry::setMonth(const QString&month) 353void NHentry::setMonth(const QString&month)
354{ 354{
355 m_Month = month; 355 m_Month = month;
356} 356}
357 357
358const QString&NHentry::month()const 358const QString&NHentry::month()const
359{ 359{
360 return m_Month; 360 return m_Month;
361} 361}
362 362
363void NHentry::setOffet(int aOffset) 363void NHentry::setOffet(int aOffset)
364{ 364{
365 m_Offset = aOffset; 365 m_Offset = aOffset;
366} 366}
367 367
368const int NHentry::offset()const 368const int NHentry::offset()const
369{ 369{
370 return m_Offset; 370 return m_Offset;
371} 371}
diff --git a/core/pim/datebook/holiday/national/nationalcfg.h b/core/pim/datebook/holiday/national/nationalcfg.h
index 872df65..2aedd95 100644
--- a/core/pim/datebook/holiday/national/nationalcfg.h
+++ b/core/pim/datebook/holiday/national/nationalcfg.h
@@ -1,75 +1,75 @@
1#ifndef _NATIONAL_CFG_H 1#ifndef _NATIONAL_CFG_H
2#define _NATIONAL_CFG_H 2#define _NATIONAL_CFG_H
3 3
4#include <qxml.h> 4#include <qxml.h>
5#include <qstringlist.h> 5#include <qstringlist.h>
6#include <qvaluelist.h> 6#include <qvaluelist.h>
7#include <qmap.h> 7#include <qmap.h>
8#include <qdatetime.h> 8#include <qdatetime.h>
9 9
10typedef QMap<QDate,QStringList> tholidaylist; 10typedef QMap<QDate,QStringList> tholidaylist;
11 11
12class NHentry 12class NHentry
13{ 13{
14public: 14public:
15 enum entry_type{fix,floating}; 15 enum entry_type{fix,floating};
16 NHentry(); 16 NHentry();
17 virtual ~NHentry(); 17 virtual ~NHentry();
18 18
19 void setName(const QString&); 19 void setName(const QString&);
20 const QString&name()const; 20 const QString&name()const;
21 void setType(entry_type); 21 void setType(entry_type);
22 entry_type type()const; 22 entry_type type()const;
23 void setDate(const QDate&); 23 void setDate(const QDate&);
24 const QDate&date()const; 24 const QDate&date()const;
25 void setWeekday(const QString&); 25 void setWeekday(const QString&);
26 const QString&weekday()const; 26 const QString&weekday()const;
27 void setDayofmonth(const QString&); 27 void setDayofmonth(const QString&);
28 const QString&dayofmonth()const; 28 const QString&dayofmonth()const;
29 void setDaydep(const QString&); 29 void setDaydep(const QString&);
30 const QString&daydep()const; 30 const QString&daydep()const;
31 void setMonth(const QString&); 31 void setMonth(const QString&);
32 const QString&month()const; 32 const QString&month()const;
33 void setOffet(int); 33 void setOffet(int);
34 const int offset()const; 34 const int offset()const;
35 35
36protected: 36protected:
37 entry_type m_Type; 37 entry_type m_Type;
38 QString m_Name,m_Weekday,m_Dayofmonth,m_Depth,m_Month; 38 QString m_Name,m_Weekday,m_Dayofmonth,m_Depth,m_Month;
39 QDate m_Date; 39 QDate m_Date;
40 int m_Offset; 40 int m_Offset;
41}; 41};
42 42
43typedef QValueList<NHentry> tentrylist; 43typedef QValueList<NHentry> tentrylist;
44 44
45class NHcfg:public QXmlDefaultHandler 45class NHcfg:public QXmlDefaultHandler
46{ 46{
47public: 47public:
48 NHcfg(); 48 NHcfg();
49 virtual ~NHcfg(); 49 virtual ~NHcfg();
50 50
51 bool load(const QString&); 51 bool load(const QString&);
52 const tentrylist&fixDates()const; 52 const tentrylist&fixDates()const;
53 const tentrylist&floatingDates()const; 53 const tentrylist&floatingDates()const;
54 54
55 virtual bool warning(const QXmlParseException& e); 55 virtual bool warning(const QXmlParseException& e);
56 virtual bool error(const QXmlParseException& e); 56 virtual bool error(const QXmlParseException& e);
57 virtual bool fatalError(const QXmlParseException& e); 57 virtual bool fatalError(const QXmlParseException& e);
58 virtual bool startElement(const QString&, const QString&,const QString& name, const QXmlAttributes& attr); 58 virtual bool startElement(const QString&, const QString&,const QString& name, const QXmlAttributes& attr);
59 virtual bool endElement(const QString&, const QString&,const QString& name); 59 virtual bool endElement(const QString&, const QString&,const QString& name);
60 virtual const QString&errorString()const; 60 virtual QString errorString()const;
61 61
62protected: 62protected:
63 QString err,_contentname; 63 QString err,_contentname;
64 QString _path; 64 QString _path;
65 65
66 NHentry m_currentEntry; 66 NHentry m_currentEntry;
67 67
68 bool setName(const QXmlAttributes&); 68 bool setName(const QXmlAttributes&);
69 bool parsevalue(const QString&,const QXmlAttributes&); 69 bool parsevalue(const QString&,const QXmlAttributes&);
70 bool parseCalc(const QString&,const QXmlAttributes&); 70 bool parseCalc(const QString&,const QXmlAttributes&);
71 int stage,counter,level; 71 int stage,counter,level;
72 tentrylist currentFloatList,currentFixList; 72 tentrylist currentFloatList,currentFixList;
73}; 73};
74 74
75#endif 75#endif
diff --git a/inputmethods/handwriting/qimpenwidget.cpp b/inputmethods/handwriting/qimpenwidget.cpp
index 8f8f582..7223e1a 100644
--- a/inputmethods/handwriting/qimpenwidget.cpp
+++ b/inputmethods/handwriting/qimpenwidget.cpp
@@ -157,257 +157,257 @@ void QIMPenWidget::changeCharSet( QIMPenCharSet *cs, int pos )
157{ 157{
158 if ( pos >= 0 && pos < (int)charSets.count() ) { 158 if ( pos >= 0 && pos < (int)charSets.count() ) {
159 CharSetEntry *e = new CharSetEntry; 159 CharSetEntry *e = new CharSetEntry;
160 e->cs = cs; 160 e->cs = cs;
161 e->stretch = charSets.at(pos)->stretch; 161 e->stretch = charSets.at(pos)->stretch;
162 charSets.remove( pos ); 162 charSets.remove( pos );
163 charSets.insert( pos, e ); 163 charSets.insert( pos, e );
164 if ( pos == currCharSet ) { 164 if ( pos == currCharSet ) {
165 emit changeCharSet( charSets.at(currCharSet)->cs ); 165 emit changeCharSet( charSets.at(currCharSet)->cs );
166 } 166 }
167 update(); 167 update();
168 } 168 }
169} 169}
170 170
171void QIMPenWidget::clearCharSets() 171void QIMPenWidget::clearCharSets()
172{ 172{
173 charSets.clear(); 173 charSets.clear();
174 currCharSet = 0; 174 currCharSet = 0;
175 update(); 175 update();
176} 176}
177 177
178/*! 178/*!
179 Display a character. \a speed determines how quickly the character is 179 Display a character. \a speed determines how quickly the character is
180 drawn. 180 drawn.
181*/ 181*/
182void QIMPenWidget::showCharacter( QIMPenChar *ch, int speed ) 182void QIMPenWidget::showCharacter( QIMPenChar *ch, int speed )
183{ 183{
184 outputChar = 0; 184 outputChar = 0;
185 outputStroke = 0; 185 outputStroke = 0;
186 strokes.clear(); 186 strokes.clear();
187 mode = Output; 187 mode = Output;
188 repaint(); 188 repaint();
189 if ( !ch || ch->isEmpty() ) { 189 if ( !ch || ch->isEmpty() ) {
190 mode = Waiting; 190 mode = Waiting;
191 return; 191 return;
192 } 192 }
193 193
194 outputChar = ch; 194 outputChar = ch;
195 outputStroke = outputChar->penStrokes().getFirst(); 195 outputStroke = outputChar->penStrokes().getFirst();
196 if ( speed < 0 ) speed = 0; 196 if ( speed < 0 ) speed = 0;
197 if ( speed > 20 ) speed = 20; 197 if ( speed > 20 ) speed = 20;
198 speed = 50 - speed; 198 speed = 50 - speed;
199 pointIndex = 0; 199 pointIndex = 0;
200 strokeIndex = 0; 200 strokeIndex = 0;
201 lastPoint = outputStroke->startingPoint(); 201 lastPoint = outputStroke->startingPoint();
202 QRect br( outputChar->boundingRect() ); 202 QRect br( outputChar->boundingRect() );
203 lastPoint.setX( (width() - br.width()) / 2 + (lastPoint.x () - br.left()) ); 203 lastPoint.setX( (width() - br.width()) / 2 + (lastPoint.x () - br.left()) );
204 QPoint offset = lastPoint - outputStroke->startingPoint(); 204 QPoint offset = lastPoint - outputStroke->startingPoint();
205 br.moveBy( offset.x(), offset.y() ); 205 br.moveBy( offset.x(), offset.y() );
206 dirtyRect |= br; 206 dirtyRect |= br;
207 timer->start( speed ); 207 timer->start( speed );
208} 208}
209 209
210/*! 210/*!
211 Handle drawing/clearing of characters. 211 Handle drawing/clearing of characters.
212*/ 212*/
213void QIMPenWidget::timeout() 213void QIMPenWidget::timeout()
214{ 214{
215 if ( mode == Output ) { 215 if ( mode == Output ) {
216 const QArray<QIMPenGlyphLink> &chain = outputStroke->chain(); 216 const QArray<QIMPenGlyphLink> &chain = outputStroke->chain();
217 if ( pointIndex < chain.count() ) { 217 if ( pointIndex < chain.count() ) {
218 QPainter paint( this ); 218 QPainter paint( this );
219 paint.setBrush( Qt::black ); 219 paint.setBrush( Qt::black );
220 for ( unsigned i = 0; i < 3 && pointIndex < chain.count(); i++ ) { 220 for ( unsigned i = 0; i < 3 && pointIndex < chain.count(); i++ ) {
221 lastPoint.rx() += chain[pointIndex].dx; 221 lastPoint.rx() += chain[pointIndex].dx;
222 lastPoint.ry() += chain[pointIndex].dy; 222 lastPoint.ry() += chain[pointIndex].dy;
223 pointIndex++; 223 pointIndex++;
224 paint.drawRect( lastPoint.x()-1, lastPoint.y()-1, 2, 2 ); 224 paint.drawRect( lastPoint.x()-1, lastPoint.y()-1, 2, 2 );
225 } 225 }
226 } 226 }
227 if ( pointIndex >= chain.count() ) { 227 if ( pointIndex >= chain.count() ) {
228 QIMPenStrokeList strokes = outputChar->penStrokes(); 228 QIMPenStrokeList strokes = outputChar->penStrokes();
229 if ( strokeIndex < (int)strokes.count() - 1 ) { 229 if ( strokeIndex < (int)strokes.count() - 1 ) {
230 pointIndex = 0; 230 pointIndex = 0;
231 strokeIndex++; 231 strokeIndex++;
232 outputStroke = strokes.at( strokeIndex ); 232 outputStroke = strokes.at( strokeIndex );
233 lastPoint = outputChar->startingPoint(); 233 lastPoint = outputChar->startingPoint();
234 QRect br( outputChar->boundingRect() ); 234 QRect br( outputChar->boundingRect() );
235 lastPoint.setX( (width() - br.width()) / 2 235 lastPoint.setX( (width() - br.width()) / 2
236 + (lastPoint.x () - br.left()) ); 236 + (lastPoint.x () - br.left()) );
237 QPoint off = lastPoint - outputChar->startingPoint(); 237 QPoint off = lastPoint - outputChar->startingPoint();
238 lastPoint = outputStroke->startingPoint() + off; 238 lastPoint = outputStroke->startingPoint() + off;
239 } else { 239 } else {
240 timer->stop(); 240 timer->stop();
241 mode = Waiting; 241 mode = Waiting;
242 } 242 }
243 } 243 }
244 } else if ( mode == Waiting ) { 244 } else if ( mode == Waiting ) {
245 QRect r( dirtyRect ); 245 QRect r( dirtyRect );
246 if ( !r.isNull() ) { 246 if ( !r.isNull() ) {
247 r.moveBy( -2, -2 ); 247 r.moveBy( -2, -2 );
248 r.setSize( r.size() + QSize( 4, 4 ) ); 248 r.setSize( r.size() + QSize( 4, 4 ) );
249 repaint( r ); 249 repaint( r );
250 } 250 }
251 } 251 }
252} 252}
253 253
254/*! 254/*!
255 If the point \a p is over one of the character set titles, switch 255 If the point \a p is over one of the character set titles, switch
256 to the set and return TRUE. 256 to the set and return TRUE.
257*/ 257*/
258bool QIMPenWidget::selectSet( QPoint p ) 258bool QIMPenWidget::selectSet( QPoint p )
259{ 259{
260 if ( charSets.count() ) { 260 if ( charSets.count() ) {
261 CharSetEntryIterator it( charSets ); 261 CharSetEntryIterator it( charSets );
262 int spos = 0; 262 int spos = 0;
263 int idx = 0; 263 int idx = 0;
264 for ( ; it.current(); ++it, idx++ ) { 264 for ( ; it.current(); ++it, idx++ ) {
265 int setWidth = width() * it.current()->stretch / totalStretch; 265 int setWidth = width() * it.current()->stretch / totalStretch;
266 spos += setWidth; 266 spos += setWidth;
267 if ( p.x() < spos ) { 267 if ( p.x() < spos ) {
268 if ( idx != currCharSet ) { 268 if ( idx != currCharSet ) {
269 currCharSet = idx; 269 currCharSet = idx;
270 update( 0, 0, width(), 12 ); 270 update( 0, 0, width(), 12 );
271 emit changeCharSet( currCharSet ); 271 emit changeCharSet( currCharSet );
272 emit changeCharSet( charSets.at(currCharSet)->cs ); 272 emit changeCharSet( charSets.at(currCharSet)->cs );
273 } 273 }
274 break; 274 break;
275 } 275 }
276 } 276 }
277 } 277 }
278 278
279 return FALSE; 279 return FALSE;
280} 280}
281 281
282/*! 282/*!
283 Hopefully returns a sensible size. 283 Hopefully returns a sensible size.
284*/ 284*/
285QSize QIMPenWidget::sizeHint() 285QSize QIMPenWidget::sizeHint() const
286{ 286{
287 return QSize( TITLE_WIDTH * charSets.count(), 75 ); 287 return QSize( TITLE_WIDTH * charSets.count(), 75 );
288} 288}
289 289
290void QIMPenWidget::mousePressEvent( QMouseEvent *e ) 290void QIMPenWidget::mousePressEvent( QMouseEvent *e )
291{ 291{
292 if ( !readOnly && e->button() == LeftButton && mode == Waiting ) { 292 if ( !readOnly && e->button() == LeftButton && mode == Waiting ) {
293 // if selectSet returns false the click was not over the 293 // if selectSet returns false the click was not over the
294 // char set selectors. 294 // char set selectors.
295 if ( !selectSet( e->pos() ) ) { 295 if ( !selectSet( e->pos() ) ) {
296 // start of character input 296 // start of character input
297 timer->stop(); 297 timer->stop();
298 if ( outputChar ) { 298 if ( outputChar ) {
299 outputChar = 0; 299 outputChar = 0;
300 outputStroke = 0; 300 outputStroke = 0;
301 repaint(); 301 repaint();
302 } 302 }
303 mode = Input; 303 mode = Input;
304 lastPoint = e->pos(); 304 lastPoint = e->pos();
305 emit beginStroke(); 305 emit beginStroke();
306 inputStroke = new QIMPenStroke; 306 inputStroke = new QIMPenStroke;
307 strokes.append( inputStroke ); 307 strokes.append( inputStroke );
308 inputStroke->beginInput( e->pos() ); 308 inputStroke->beginInput( e->pos() );
309 QPainter paint( this ); 309 QPainter paint( this );
310 paint.setBrush( Qt::black ); 310 paint.setBrush( Qt::black );
311 paint.drawRect( lastPoint.x()-1, lastPoint.y()-1, 2, 2 ); 311 paint.drawRect( lastPoint.x()-1, lastPoint.y()-1, 2, 2 );
312 } 312 }
313 } 313 }
314} 314}
315 315
316void QIMPenWidget::mouseReleaseEvent( QMouseEvent *e ) 316void QIMPenWidget::mouseReleaseEvent( QMouseEvent *e )
317{ 317{
318 if ( !readOnly && e->button() == LeftButton && mode == Input ) { 318 if ( !readOnly && e->button() == LeftButton && mode == Input ) {
319 mode = Waiting; 319 mode = Waiting;
320 inputStroke->endInput(); 320 inputStroke->endInput();
321 if ( charSets.count() ) 321 if ( charSets.count() )
322 emit stroke( inputStroke ); 322 emit stroke( inputStroke );
323 inputStroke = 0; 323 inputStroke = 0;
324 } 324 }
325} 325}
326 326
327void QIMPenWidget::mouseMoveEvent( QMouseEvent *e ) 327void QIMPenWidget::mouseMoveEvent( QMouseEvent *e )
328{ 328{
329 if ( !readOnly && mode == Input ) { 329 if ( !readOnly && mode == Input ) {
330 int dx = QABS( e->pos().x() - lastPoint.x() ); 330 int dx = QABS( e->pos().x() - lastPoint.x() );
331 int dy = QABS( e->pos().y() - lastPoint.y() ); 331 int dy = QABS( e->pos().y() - lastPoint.y() );
332 if ( dx + dy > 1 ) { 332 if ( dx + dy > 1 ) {
333 if ( inputStroke->addPoint( e->pos() ) ) { 333 if ( inputStroke->addPoint( e->pos() ) ) {
334 QPainter paint( this ); 334 QPainter paint( this );
335 paint.setPen( Qt::black ); 335 paint.setPen( Qt::black );
336 paint.setBrush( Qt::black ); 336 paint.setBrush( Qt::black );
337 const QArray<QIMPenGlyphLink> &chain = inputStroke->chain(); 337 const QArray<QIMPenGlyphLink> &chain = inputStroke->chain();
338 QPoint p( e->pos() ); 338 QPoint p( e->pos() );
339 for ( int i = (int)chain.count()-1; i >= 0; i-- ) { 339 for ( int i = (int)chain.count()-1; i >= 0; i-- ) {
340 paint.drawRect( p.x()-1, p.y()-1, 2, 2 ); 340 paint.drawRect( p.x()-1, p.y()-1, 2, 2 );
341 p.rx() -= chain[i].dx; 341 p.rx() -= chain[i].dx;
342 p.ry() -= chain[i].dy; 342 p.ry() -= chain[i].dy;
343 if ( p == lastPoint ) 343 if ( p == lastPoint )
344 break; 344 break;
345 } 345 }
346 346
347 /* ### use this when thick lines work properly on all devices 347 /* ### use this when thick lines work properly on all devices
348 paint.setPen( QPen( Qt::black, 2 ) ); 348 paint.setPen( QPen( Qt::black, 2 ) );
349 paint.drawLine( lastPoint, e->pos() ); 349 paint.drawLine( lastPoint, e->pos() );
350 */ 350 */
351 } 351 }
352 lastPoint = e->pos(); 352 lastPoint = e->pos();
353 } 353 }
354 } 354 }
355} 355}
356 356
357void QIMPenWidget::paintEvent( QPaintEvent * ) 357void QIMPenWidget::paintEvent( QPaintEvent * )
358{ 358{
359 QPainter paint( this ); 359 QPainter paint( this );
360 360
361 // draw guidelines 361 // draw guidelines
362 paint.setPen( Qt::gray ); 362 paint.setPen( Qt::gray );
363 paint.drawLine( 0, 0, width(), 0 ); 363 paint.drawLine( 0, 0, width(), 0 );
364 int y = height() / 3; 364 int y = height() / 3;
365 paint.drawLine( 0, y, width(), y ); 365 paint.drawLine( 0, y, width(), y );
366 y *= 2; 366 y *= 2;
367 paint.setPen( blue ); 367 paint.setPen( blue );
368 paint.drawLine( 0, y, width(), y ); 368 paint.drawLine( 0, y, width(), y );
369 paint.setPen( Qt::gray ); 369 paint.setPen( Qt::gray );
370 370
371 if ( !charSets.count() ) 371 if ( !charSets.count() )
372 return; 372 return;
373 373
374 // draw the character set titles 374 // draw the character set titles
375 QFont selFont( "helvetica", 8, QFont::Bold ); 375 QFont selFont( "helvetica", 8, QFont::Bold );
376 QFont font( "helvetica", 8 ); 376 QFont font( "helvetica", 8 );
377 CharSetEntryIterator it( charSets ); 377 CharSetEntryIterator it( charSets );
378 int spos = 0; 378 int spos = 0;
379 for ( ; it.current(); ++it ) { 379 for ( ; it.current(); ++it ) {
380 int setWidth = width() * it.current()->stretch / totalStretch; 380 int setWidth = width() * it.current()->stretch / totalStretch;
381 spos += setWidth; 381 spos += setWidth;
382 if ( it.current() != charSets.getLast() ) { 382 if ( it.current() != charSets.getLast() ) {
383 paint.drawLine( spos, 0, spos, 5 ); 383 paint.drawLine( spos, 0, spos, 5 );
384 paint.drawLine( spos, height()-1, spos, height()-6 ); 384 paint.drawLine( spos, height()-1, spos, height()-6 );
385 } 385 }
386 paint.setFont( font ); 386 paint.setFont( font );
387 int w = paint.fontMetrics().width( it.current()->cs->title() ); 387 int w = paint.fontMetrics().width( it.current()->cs->title() );
388 int tpos = spos - setWidth / 2; 388 int tpos = spos - setWidth / 2;
389 paint.drawText( tpos - w/2, 0, w, 12, QPainter::AlignCenter, 389 paint.drawText( tpos - w/2, 0, w, 12, QPainter::AlignCenter,
390 it.current()->cs->title() ); 390 it.current()->cs->title() );
391 } 391 }
392 392
393 // draw any character that should be displayed when repainted. 393 // draw any character that should be displayed when repainted.
394 QPoint off; 394 QPoint off;
395 const QIMPenStrokeList *stk = 0; 395 const QIMPenStrokeList *stk = 0;
396 if ( outputChar && mode == Waiting ) { 396 if ( outputChar && mode == Waiting ) {
397 stk = &outputChar->penStrokes(); 397 stk = &outputChar->penStrokes();
398 QPoint p( outputChar->startingPoint() ); 398 QPoint p( outputChar->startingPoint() );
399 QRect br( outputChar->boundingRect() ); 399 QRect br( outputChar->boundingRect() );
400 p.setX( (width() - br.width()) / 2 + (p.x () - br.left()) ); 400 p.setX( (width() - br.width()) / 2 + (p.x () - br.left()) );
401 off = p - outputChar->startingPoint(); 401 off = p - outputChar->startingPoint();
402 } else if ( mode == Waiting ) { 402 } else if ( mode == Waiting ) {
403 stk = &strokes; 403 stk = &strokes;
404 strokeColor = gray; 404 strokeColor = gray;
405 } 405 }
406 406
407 if ( stk && !stk->isEmpty() ) { 407 if ( stk && !stk->isEmpty() ) {
408 paint.setPen( strokeColor ); 408 paint.setPen( strokeColor );
409 paint.setBrush( strokeColor ); 409 paint.setBrush( strokeColor );
410 QIMPenStrokeIterator it( *stk ); 410 QIMPenStrokeIterator it( *stk );
411 while ( it.current() ) { 411 while ( it.current() ) {
412 QPoint p = it.current()->startingPoint() + off; 412 QPoint p = it.current()->startingPoint() + off;
413 paint.drawRect( p.x()-1, p.y()-1, 2, 2 ); 413 paint.drawRect( p.x()-1, p.y()-1, 2, 2 );
diff --git a/inputmethods/handwriting/qimpenwidget.h b/inputmethods/handwriting/qimpenwidget.h
index 98d7f5c..d156554 100644
--- a/inputmethods/handwriting/qimpenwidget.h
+++ b/inputmethods/handwriting/qimpenwidget.h
@@ -1,88 +1,88 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include <qwidget.h> 21#include <qwidget.h>
22#include <qlist.h> 22#include <qlist.h>
23#include "qimpenchar.h" 23#include "qimpenchar.h"
24 24
25class QIMPenWidget : public QWidget 25class QIMPenWidget : public QWidget
26{ 26{
27 Q_OBJECT 27 Q_OBJECT
28public: 28public:
29 QIMPenWidget( QWidget *parent ); 29 QIMPenWidget( QWidget *parent );
30 30
31 void clear(); 31 void clear();
32 void greyStroke(); 32 void greyStroke();
33 void setReadOnly( bool r ) { readOnly = r; } 33 void setReadOnly( bool r ) { readOnly = r; }
34 34
35 void insertCharSet( QIMPenCharSet *cs, int stretch=1, int pos=-1 ); 35 void insertCharSet( QIMPenCharSet *cs, int stretch=1, int pos=-1 );
36 void removeCharSet( int ); 36 void removeCharSet( int );
37 void changeCharSet( QIMPenCharSet *cs, int pos ); 37 void changeCharSet( QIMPenCharSet *cs, int pos );
38 void clearCharSets(); 38 void clearCharSets();
39 void showCharacter( QIMPenChar *, int speed = 10 ); 39 void showCharacter( QIMPenChar *, int speed = 10 );
40 virtual QSize sizeHint(); 40 virtual QSize sizeHint() const;
41 41
42public slots: 42public slots:
43 void removeStroke(); 43 void removeStroke();
44 44
45signals: 45signals:
46 void changeCharSet( QIMPenCharSet *cs ); 46 void changeCharSet( QIMPenCharSet *cs );
47 void changeCharSet( int ); 47 void changeCharSet( int );
48 void beginStroke(); 48 void beginStroke();
49 void stroke( QIMPenStroke *ch ); 49 void stroke( QIMPenStroke *ch );
50 50
51protected slots: 51protected slots:
52 void timeout(); 52 void timeout();
53 53
54protected: 54protected:
55 enum Mode { Waiting, Input, Output }; 55 enum Mode { Waiting, Input, Output };
56 bool selectSet( QPoint ); 56 bool selectSet( QPoint );
57 virtual void mousePressEvent( QMouseEvent *e ); 57 virtual void mousePressEvent( QMouseEvent *e );
58 virtual void mouseReleaseEvent( QMouseEvent *e ); 58 virtual void mouseReleaseEvent( QMouseEvent *e );
59 virtual void mouseMoveEvent( QMouseEvent *e ); 59 virtual void mouseMoveEvent( QMouseEvent *e );
60 virtual void paintEvent( QPaintEvent *e ); 60 virtual void paintEvent( QPaintEvent *e );
61 virtual void resizeEvent( QResizeEvent *e ); 61 virtual void resizeEvent( QResizeEvent *e );
62 62
63 struct CharSetEntry { 63 struct CharSetEntry {
64 QIMPenCharSet *cs; 64 QIMPenCharSet *cs;
65 int stretch; 65 int stretch;
66 }; 66 };
67 typedef QList<CharSetEntry> CharSetEntryList; 67 typedef QList<CharSetEntry> CharSetEntryList;
68 typedef QListIterator<CharSetEntry> CharSetEntryIterator; 68 typedef QListIterator<CharSetEntry> CharSetEntryIterator;
69 69
70protected: 70protected:
71 Mode mode; 71 Mode mode;
72 bool autoHide; 72 bool autoHide;
73 bool readOnly; 73 bool readOnly;
74 QPoint lastPoint; 74 QPoint lastPoint;
75 unsigned pointIndex; 75 unsigned pointIndex;
76 int strokeIndex; 76 int strokeIndex;
77 int currCharSet; 77 int currCharSet;
78 QTimer *timer; 78 QTimer *timer;
79 QColor strokeColor; 79 QColor strokeColor;
80 QRect dirtyRect; 80 QRect dirtyRect;
81 QIMPenChar *outputChar; 81 QIMPenChar *outputChar;
82 QIMPenStroke *outputStroke; 82 QIMPenStroke *outputStroke;
83 QIMPenStroke *inputStroke; 83 QIMPenStroke *inputStroke;
84 QIMPenStrokeList strokes; 84 QIMPenStrokeList strokes;
85 CharSetEntryList charSets; 85 CharSetEntryList charSets;
86 int totalStretch; 86 int totalStretch;
87}; 87};
88 88
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp
index 55e47e2..2ebccd2 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp
@@ -166,257 +166,257 @@ namespace {
166 */ 166 */
167 if (!ev.isAllDay() ) { 167 if (!ev.isAllDay() ) {
168 168
169 buf += " timezone=\""; 169 buf += " timezone=\"";
170 if ( ev.timeZone().isEmpty() ) 170 if ( ev.timeZone().isEmpty() )
171 buf += "None"; 171 buf += "None";
172 else 172 else
173 buf += ev.timeZone(); 173 buf += ev.timeZone();
174 buf += "\""; 174 buf += "\"";
175 } 175 }
176 176
177 if (ev.parent() != 0 ) { 177 if (ev.parent() != 0 ) {
178 buf += " recparent=\""+QString::number(ev.parent() )+"\""; 178 buf += " recparent=\""+QString::number(ev.parent() )+"\"";
179 } 179 }
180 180
181 if (ev.children().count() != 0 ) { 181 if (ev.children().count() != 0 ) {
182 QArray<int> children = ev.children(); 182 QArray<int> children = ev.children();
183 buf += " recchildren=\""; 183 buf += " recchildren=\"";
184 for ( uint i = 0; i < children.count(); i++ ) { 184 for ( uint i = 0; i < children.count(); i++ ) {
185 if ( i != 0 ) buf += " "; 185 if ( i != 0 ) buf += " ";
186 buf += QString::number( children[i] ); 186 buf += QString::number( children[i] );
187 } 187 }
188 buf+= "\""; 188 buf+= "\"";
189 } 189 }
190 190
191 // skip custom writing 191 // skip custom writing
192 } 192 }
193 193
194 static bool saveEachEvent( const QMap<int, OPimEvent>& list, QFile& file ) { 194 static bool saveEachEvent( const QMap<int, OPimEvent>& list, QFile& file ) {
195 QMap<int, OPimEvent>::ConstIterator it; 195 QMap<int, OPimEvent>::ConstIterator it;
196 QString buf; 196 QString buf;
197 QCString str; 197 QCString str;
198 int total_written; 198 int total_written;
199 for ( it = list.begin(); it != list.end(); ++it ) { 199 for ( it = list.begin(); it != list.end(); ++it ) {
200 buf = "<event"; 200 buf = "<event";
201 save( it.data(), buf ); 201 save( it.data(), buf );
202 buf += " />\n"; 202 buf += " />\n";
203 str = buf.utf8(); 203 str = buf.utf8();
204 204
205 total_written = file.writeBlock(str.data(), str.length() ); 205 total_written = file.writeBlock(str.data(), str.length() );
206 if ( total_written != int(str.length() ) ) 206 if ( total_written != int(str.length() ) )
207 return false; 207 return false;
208 } 208 }
209 return true; 209 return true;
210 } 210 }
211} 211}
212 212
213namespace Opie { 213namespace Opie {
214ODateBookAccessBackend_XML::ODateBookAccessBackend_XML( const QString& , 214ODateBookAccessBackend_XML::ODateBookAccessBackend_XML( const QString& ,
215 const QString& fileName ) 215 const QString& fileName )
216 : ODateBookAccessBackend() { 216 : ODateBookAccessBackend() {
217 m_name = fileName.isEmpty() ? Global::applicationFileName( "datebook", "datebook.xml" ) : fileName; 217 m_name = fileName.isEmpty() ? Global::applicationFileName( "datebook", "datebook.xml" ) : fileName;
218 m_changed = false; 218 m_changed = false;
219} 219}
220ODateBookAccessBackend_XML::~ODateBookAccessBackend_XML() { 220ODateBookAccessBackend_XML::~ODateBookAccessBackend_XML() {
221} 221}
222bool ODateBookAccessBackend_XML::load() { 222bool ODateBookAccessBackend_XML::load() {
223 return loadFile(); 223 return loadFile();
224} 224}
225bool ODateBookAccessBackend_XML::reload() { 225bool ODateBookAccessBackend_XML::reload() {
226 clear(); 226 clear();
227 return load(); 227 return load();
228} 228}
229bool ODateBookAccessBackend_XML::save() { 229bool ODateBookAccessBackend_XML::save() {
230 if (!m_changed) return true; 230 if (!m_changed) return true;
231 231
232 int total_written; 232 int total_written;
233 QString strFileNew = m_name + ".new"; 233 QString strFileNew = m_name + ".new";
234 234
235 QFile f( strFileNew ); 235 QFile f( strFileNew );
236 if (!f.open( IO_WriteOnly | IO_Raw ) ) return false; 236 if (!f.open( IO_WriteOnly | IO_Raw ) ) return false;
237 237
238 QString buf( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" ); 238 QString buf( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" );
239 buf += "<!DOCTYPE DATEBOOK><DATEBOOK>\n"; 239 buf += "<!DOCTYPE DATEBOOK><DATEBOOK>\n";
240 buf += "<events>\n"; 240 buf += "<events>\n";
241 QCString str = buf.utf8(); 241 QCString str = buf.utf8();
242 total_written = f.writeBlock( str.data(), str.length() ); 242 total_written = f.writeBlock( str.data(), str.length() );
243 if ( total_written != int(str.length() ) ) { 243 if ( total_written != int(str.length() ) ) {
244 f.close(); 244 f.close();
245 QFile::remove( strFileNew ); 245 QFile::remove( strFileNew );
246 return false; 246 return false;
247 } 247 }
248 248
249 if (!saveEachEvent( m_raw, f ) ) { 249 if (!saveEachEvent( m_raw, f ) ) {
250 f.close(); 250 f.close();
251 QFile::remove( strFileNew ); 251 QFile::remove( strFileNew );
252 return false; 252 return false;
253 } 253 }
254 if (!saveEachEvent( m_rep, f ) ) { 254 if (!saveEachEvent( m_rep, f ) ) {
255 f.close(); 255 f.close();
256 QFile::remove( strFileNew ); 256 QFile::remove( strFileNew );
257 return false; 257 return false;
258 } 258 }
259 259
260 buf = "</events>\n</DATEBOOK>\n"; 260 buf = "</events>\n</DATEBOOK>\n";
261 str = buf.utf8(); 261 str = buf.utf8();
262 total_written = f.writeBlock( str.data(), str.length() ); 262 total_written = f.writeBlock( str.data(), str.length() );
263 if ( total_written != int(str.length() ) ) { 263 if ( total_written != int(str.length() ) ) {
264 f.close(); 264 f.close();
265 QFile::remove( strFileNew ); 265 QFile::remove( strFileNew );
266 return false; 266 return false;
267 } 267 }
268 f.close(); 268 f.close();
269 269
270 if ( ::rename( strFileNew, m_name ) < 0 ) { 270 if ( ::rename( strFileNew, m_name ) < 0 ) {
271 QFile::remove( strFileNew ); 271 QFile::remove( strFileNew );
272 return false; 272 return false;
273 } 273 }
274 274
275 m_changed = false; 275 m_changed = false;
276 return true; 276 return true;
277} 277}
278QArray<int> ODateBookAccessBackend_XML::allRecords()const { 278QArray<int> ODateBookAccessBackend_XML::allRecords()const {
279 QArray<int> ints( m_raw.count()+ m_rep.count() ); 279 QArray<int> ints( m_raw.count()+ m_rep.count() );
280 uint i = 0; 280 uint i = 0;
281 QMap<int, OPimEvent>::ConstIterator it; 281 QMap<int, OPimEvent>::ConstIterator it;
282 282
283 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) { 283 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) {
284 ints[i] = it.key(); 284 ints[i] = it.key();
285 i++; 285 i++;
286 } 286 }
287 for ( it = m_rep.begin(); it != m_rep.end(); ++it ) { 287 for ( it = m_rep.begin(); it != m_rep.end(); ++it ) {
288 ints[i] = it.key(); 288 ints[i] = it.key();
289 i++; 289 i++;
290 } 290 }
291 291
292 return ints; 292 return ints;
293} 293}
294QArray<int> ODateBookAccessBackend_XML::queryByExample(const OPimEvent&, int, const QDateTime& ) { 294QArray<int> ODateBookAccessBackend_XML::queryByExample(const OPimEvent&, int, const QDateTime& ) const {
295 return QArray<int>(); 295 return QArray<int>();
296} 296}
297void ODateBookAccessBackend_XML::clear() { 297void ODateBookAccessBackend_XML::clear() {
298 m_changed = true; 298 m_changed = true;
299 m_raw.clear(); 299 m_raw.clear();
300 m_rep.clear(); 300 m_rep.clear();
301} 301}
302OPimEvent ODateBookAccessBackend_XML::find( int uid ) const{ 302OPimEvent ODateBookAccessBackend_XML::find( int uid ) const{
303 if ( m_raw.contains( uid ) ) 303 if ( m_raw.contains( uid ) )
304 return m_raw[uid]; 304 return m_raw[uid];
305 else 305 else
306 return m_rep[uid]; 306 return m_rep[uid];
307} 307}
308bool ODateBookAccessBackend_XML::add( const OPimEvent& ev ) { 308bool ODateBookAccessBackend_XML::add( const OPimEvent& ev ) {
309 m_changed = true; 309 m_changed = true;
310 if (ev.hasRecurrence() ) 310 if (ev.hasRecurrence() )
311 m_rep.insert( ev.uid(), ev ); 311 m_rep.insert( ev.uid(), ev );
312 else 312 else
313 m_raw.insert( ev.uid(), ev ); 313 m_raw.insert( ev.uid(), ev );
314 314
315 return true; 315 return true;
316} 316}
317bool ODateBookAccessBackend_XML::remove( int uid ) { 317bool ODateBookAccessBackend_XML::remove( int uid ) {
318 m_changed = true; 318 m_changed = true;
319 m_raw.remove( uid ); 319 m_raw.remove( uid );
320 m_rep.remove( uid ); 320 m_rep.remove( uid );
321 321
322 return true; 322 return true;
323} 323}
324bool ODateBookAccessBackend_XML::replace( const OPimEvent& ev ) { 324bool ODateBookAccessBackend_XML::replace( const OPimEvent& ev ) {
325 replace( ev.uid() ); // ??? Shouldn't this be "remove( ev.uid() ) ??? (eilers) 325 replace( ev.uid() ); // ??? Shouldn't this be "remove( ev.uid() ) ??? (eilers)
326 return add( ev ); 326 return add( ev );
327} 327}
328 328
329QArray<int> ODateBookAccessBackend_XML::rawRepeats()const { 329QArray<int> ODateBookAccessBackend_XML::rawRepeats()const {
330 QArray<int> ints( m_rep.count() ); 330 QArray<int> ints( m_rep.count() );
331 uint i = 0; 331 uint i = 0;
332 QMap<int, OPimEvent>::ConstIterator it; 332 QMap<int, OPimEvent>::ConstIterator it;
333 333
334 for ( it = m_rep.begin(); it != m_rep.end(); ++it ) { 334 for ( it = m_rep.begin(); it != m_rep.end(); ++it ) {
335 ints[i] = it.key(); 335 ints[i] = it.key();
336 i++; 336 i++;
337 } 337 }
338 338
339 return ints; 339 return ints;
340} 340}
341QArray<int> ODateBookAccessBackend_XML::nonRepeats()const { 341QArray<int> ODateBookAccessBackend_XML::nonRepeats()const {
342 QArray<int> ints( m_raw.count() ); 342 QArray<int> ints( m_raw.count() );
343 uint i = 0; 343 uint i = 0;
344 QMap<int, OPimEvent>::ConstIterator it; 344 QMap<int, OPimEvent>::ConstIterator it;
345 345
346 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) { 346 for ( it = m_raw.begin(); it != m_raw.end(); ++it ) {
347 ints[i] = it.key(); 347 ints[i] = it.key();
348 i++; 348 i++;
349 } 349 }
350 350
351 return ints; 351 return ints;
352} 352}
353OPimEvent::ValueList ODateBookAccessBackend_XML::directNonRepeats()const { 353OPimEvent::ValueList ODateBookAccessBackend_XML::directNonRepeats()const {
354 OPimEvent::ValueList list; 354 OPimEvent::ValueList list;
355 QMap<int, OPimEvent>::ConstIterator it; 355 QMap<int, OPimEvent>::ConstIterator it;
356 for (it = m_raw.begin(); it != m_raw.end(); ++it ) 356 for (it = m_raw.begin(); it != m_raw.end(); ++it )
357 list.append( it.data() ); 357 list.append( it.data() );
358 358
359 return list; 359 return list;
360} 360}
361OPimEvent::ValueList ODateBookAccessBackend_XML::directRawRepeats()const { 361OPimEvent::ValueList ODateBookAccessBackend_XML::directRawRepeats()const {
362 OPimEvent::ValueList list; 362 OPimEvent::ValueList list;
363 QMap<int, OPimEvent>::ConstIterator it; 363 QMap<int, OPimEvent>::ConstIterator it;
364 for (it = m_rep.begin(); it != m_rep.end(); ++it ) 364 for (it = m_rep.begin(); it != m_rep.end(); ++it )
365 list.append( it.data() ); 365 list.append( it.data() );
366 366
367 return list; 367 return list;
368} 368}
369 369
370// FIXME: Use OPimEvent::fromMap() (eilers) 370// FIXME: Use OPimEvent::fromMap() (eilers)
371bool ODateBookAccessBackend_XML::loadFile() { 371bool ODateBookAccessBackend_XML::loadFile() {
372 m_changed = false; 372 m_changed = false;
373 373
374 int fd = ::open( QFile::encodeName(m_name).data(), O_RDONLY ); 374 int fd = ::open( QFile::encodeName(m_name).data(), O_RDONLY );
375 if ( fd < 0 ) return false; 375 if ( fd < 0 ) return false;
376 376
377 struct stat attribute; 377 struct stat attribute;
378 if ( ::fstat(fd, &attribute ) == -1 ) { 378 if ( ::fstat(fd, &attribute ) == -1 ) {
379 ::close( fd ); 379 ::close( fd );
380 return false; 380 return false;
381 } 381 }
382 void* map_addr = ::mmap(NULL, attribute.st_size, PROT_READ, MAP_SHARED, fd, 0 ); 382 void* map_addr = ::mmap(NULL, attribute.st_size, PROT_READ, MAP_SHARED, fd, 0 );
383 if ( map_addr == ( (caddr_t)-1) ) { 383 if ( map_addr == ( (caddr_t)-1) ) {
384 ::close( fd ); 384 ::close( fd );
385 return false; 385 return false;
386 } 386 }
387 387
388 ::madvise( map_addr, attribute.st_size, MADV_SEQUENTIAL ); 388 ::madvise( map_addr, attribute.st_size, MADV_SEQUENTIAL );
389 ::close( fd ); 389 ::close( fd );
390 390
391 QAsciiDict<int> dict(FExceptions+1); 391 QAsciiDict<int> dict(FExceptions+1);
392 dict.setAutoDelete( true ); 392 dict.setAutoDelete( true );
393 dict.insert( "description", new int(FDescription) ); 393 dict.insert( "description", new int(FDescription) );
394 dict.insert( "location", new int(FLocation) ); 394 dict.insert( "location", new int(FLocation) );
395 dict.insert( "categories", new int(FCategories) ); 395 dict.insert( "categories", new int(FCategories) );
396 dict.insert( "uid", new int(FUid) ); 396 dict.insert( "uid", new int(FUid) );
397 dict.insert( "type", new int(FType) ); 397 dict.insert( "type", new int(FType) );
398 dict.insert( "alarm", new int(FAlarm) ); 398 dict.insert( "alarm", new int(FAlarm) );
399 dict.insert( "sound", new int(FSound) ); 399 dict.insert( "sound", new int(FSound) );
400 dict.insert( "rtype", new int(FRType) ); 400 dict.insert( "rtype", new int(FRType) );
401 dict.insert( "rweekdays", new int(FRWeekdays) ); 401 dict.insert( "rweekdays", new int(FRWeekdays) );
402 dict.insert( "rposition", new int(FRPosition) ); 402 dict.insert( "rposition", new int(FRPosition) );
403 dict.insert( "rfreq", new int(FRFreq) ); 403 dict.insert( "rfreq", new int(FRFreq) );
404 dict.insert( "rhasenddate", new int(FRHasEndDate) ); 404 dict.insert( "rhasenddate", new int(FRHasEndDate) );
405 dict.insert( "enddt", new int(FREndDate) ); 405 dict.insert( "enddt", new int(FREndDate) );
406 dict.insert( "start", new int(FRStart) ); 406 dict.insert( "start", new int(FRStart) );
407 dict.insert( "end", new int(FREnd) ); 407 dict.insert( "end", new int(FREnd) );
408 dict.insert( "note", new int(FNote) ); 408 dict.insert( "note", new int(FNote) );
409 dict.insert( "created", new int(FCreated) ); // Shouldn't this be FRCreated ?? 409 dict.insert( "created", new int(FCreated) ); // Shouldn't this be FRCreated ??
410 dict.insert( "recparent", new int(FRecParent) ); 410 dict.insert( "recparent", new int(FRecParent) );
411 dict.insert( "recchildren", new int(FRecChildren) ); 411 dict.insert( "recchildren", new int(FRecChildren) );
412 dict.insert( "exceptions", new int(FExceptions) ); 412 dict.insert( "exceptions", new int(FExceptions) );
413 dict.insert( "timezone", new int(FTimeZone) ); 413 dict.insert( "timezone", new int(FTimeZone) );
414 414
415 415
416 // initialiaze db hack 416 // initialiaze db hack
417 m_noTimeZone = true; 417 m_noTimeZone = true;
418 418
419 char* dt = (char*)map_addr; 419 char* dt = (char*)map_addr;
420 int len = attribute.st_size; 420 int len = attribute.st_size;
421 int i = 0; 421 int i = 0;
422 char* point; 422 char* point;
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_xml.h b/libopie2/opiepim/backend/odatebookaccessbackend_xml.h
index cb19f76..7369c07 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_xml.h
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_xml.h
@@ -1,88 +1,88 @@
1/* 1/*
2 This file is part of the Opie Project 2 This file is part of the Opie Project
3 Copyright (C) Stefan Eilers (Eilers.Stefan@epost.de) 3 Copyright (C) Stefan Eilers (Eilers.Stefan@epost.de)
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#ifndef OPIE_DATE_BOOK_ACCESS_BACKEND_XML__H 29#ifndef OPIE_DATE_BOOK_ACCESS_BACKEND_XML__H
30#define OPIE_DATE_BOOK_ACCESS_BACKEND_XML__H 30#define OPIE_DATE_BOOK_ACCESS_BACKEND_XML__H
31 31
32#include <qmap.h> 32#include <qmap.h>
33 33
34#include <opie2/odatebookaccessbackend.h> 34#include <opie2/odatebookaccessbackend.h>
35 35
36namespace Opie { 36namespace Opie {
37/** 37/**
38 * This is the default XML implementation for DateBoook XML storage 38 * This is the default XML implementation for DateBoook XML storage
39 * It fully implements the interface 39 * It fully implements the interface
40 * @see ODateBookAccessBackend 40 * @see ODateBookAccessBackend
41 * @see OPimAccessBackend 41 * @see OPimAccessBackend
42 */ 42 */
43class ODateBookAccessBackend_XML : public ODateBookAccessBackend { 43class ODateBookAccessBackend_XML : public ODateBookAccessBackend {
44public: 44public:
45 ODateBookAccessBackend_XML( const QString& appName, 45 ODateBookAccessBackend_XML( const QString& appName,
46 const QString& fileName = QString::null); 46 const QString& fileName = QString::null);
47 ~ODateBookAccessBackend_XML(); 47 ~ODateBookAccessBackend_XML();
48 48
49 bool load(); 49 bool load();
50 bool reload(); 50 bool reload();
51 bool save(); 51 bool save();
52 52
53 QArray<int> allRecords()const; 53 QArray<int> allRecords()const;
54 QArray<int> matchRegexp(const QRegExp &r) const; 54 QArray<int> matchRegexp(const QRegExp &r) const;
55 QArray<int> queryByExample( const OPimEvent&, int, const QDateTime& d = QDateTime() ); 55 QArray<int> queryByExample( const OPimEvent&, int, const QDateTime& d = QDateTime() )const;
56 OPimEvent find( int uid )const; 56 OPimEvent find( int uid )const;
57 void clear(); 57 void clear();
58 bool add( const OPimEvent& ev ); 58 bool add( const OPimEvent& ev );
59 bool remove( int uid ); 59 bool remove( int uid );
60 bool replace( const OPimEvent& ev ); 60 bool replace( const OPimEvent& ev );
61 61
62 QArray<UID> rawEvents()const; 62 QArray<UID> rawEvents()const;
63 QArray<UID> rawRepeats()const; 63 QArray<UID> rawRepeats()const;
64 QArray<UID> nonRepeats()const; 64 QArray<UID> nonRepeats()const;
65 65
66 OPimEvent::ValueList directNonRepeats()const; 66 OPimEvent::ValueList directNonRepeats()const;
67 OPimEvent::ValueList directRawRepeats()const; 67 OPimEvent::ValueList directRawRepeats()const;
68 68
69private: 69private:
70 bool m_changed :1 ; 70 bool m_changed :1 ;
71 bool m_noTimeZone : 1; 71 bool m_noTimeZone : 1;
72 72
73 bool loadFile(); 73 bool loadFile();
74 inline void finalizeRecord( OPimEvent& ev ); 74 inline void finalizeRecord( OPimEvent& ev );
75 inline void setField( OPimEvent&, int field, const QString& val ); 75 inline void setField( OPimEvent&, int field, const QString& val );
76 QString m_name; 76 QString m_name;
77 QMap<int, OPimEvent> m_raw; 77 QMap<int, OPimEvent> m_raw;
78 QMap<int, OPimEvent> m_rep; 78 QMap<int, OPimEvent> m_rep;
79 79
80 struct Data; 80 struct Data;
81 Data* data; 81 Data* data;
82 class Private; 82 class Private;
83 Private *d; 83 Private *d;
84}; 84};
85 85
86} 86}
87 87
88#endif 88#endif
diff --git a/library/lightstyle.cpp b/library/lightstyle.cpp
index c5073ca..3d5adfb 100644
--- a/library/lightstyle.cpp
+++ b/library/lightstyle.cpp
@@ -265,307 +265,307 @@ void LightStyle::polish(QApplication *app)
265 prelight.dark(120), // mid 265 prelight.dark(120), // mid
266 pal.color(QPalette::Active, 266 pal.color(QPalette::Active,
267 QColorGroup::Text), // text 267 QColorGroup::Text), // text
268 pal.color(QPalette::Active, 268 pal.color(QPalette::Active,
269 QColorGroup::BrightText), // bright text 269 QColorGroup::BrightText), // bright text
270 pal.color(QPalette::Active, 270 pal.color(QPalette::Active,
271 QColorGroup::Base), // base 271 QColorGroup::Base), // base
272 bg); // background 272 bg); // background
273 active2.setColor(QColorGroup::Highlight, 273 active2.setColor(QColorGroup::Highlight,
274 pal.color(QPalette::Active, QColorGroup::Highlight)); 274 pal.color(QPalette::Active, QColorGroup::Highlight));
275 275
276 singleton->hoverPalette = pal; 276 singleton->hoverPalette = pal;
277 singleton->hoverPalette.setActive(active2); 277 singleton->hoverPalette.setActive(active2);
278 singleton->hoverPalette.setInactive(active2); 278 singleton->hoverPalette.setInactive(active2);
279 279
280 app->setPalette(pal); 280 app->setPalette(pal);
281} 281}
282 282
283 283
284void LightStyle::unPolish(QApplication *app) 284void LightStyle::unPolish(QApplication *app)
285{ 285{
286 app->setPalette(singleton->oldPalette); 286 app->setPalette(singleton->oldPalette);
287} 287}
288 288
289 289
290void LightStyle::polishPopupMenu(QPopupMenu *menu) 290void LightStyle::polishPopupMenu(QPopupMenu *menu)
291{ 291{
292 menu->setMouseTracking(TRUE); 292 menu->setMouseTracking(TRUE);
293} 293}
294 294
295 295
296void LightStyle::drawPushButton(QPushButton *button, QPainter *p) 296void LightStyle::drawPushButton(QPushButton *button, QPainter *p)
297{ 297{
298 int x1, y1, x2, y2; 298 int x1, y1, x2, y2;
299 button->rect().coords(&x1, &y1, &x2, &y2); 299 button->rect().coords(&x1, &y1, &x2, &y2);
300 300
301 if (button->isDefault()) { 301 if (button->isDefault()) {
302 p->save(); 302 p->save();
303 p->setPen(button->palette().active().color(QColorGroup::Highlight)); 303 p->setPen(button->palette().active().color(QColorGroup::Highlight));
304 p->setBrush(button->palette().active().brush(QColorGroup::Highlight)); 304 p->setBrush(button->palette().active().brush(QColorGroup::Highlight));
305 p->drawRoundRect(x1, y1, x2 - x1 + 1, y2 - y1 + 1, 15, 15); 305 p->drawRoundRect(x1, y1, x2 - x1 + 1, y2 - y1 + 1, 15, 15);
306 p->restore(); 306 p->restore();
307 } 307 }
308 308
309 if (button->isDefault() || button->autoDefault()) { 309 if (button->isDefault() || button->autoDefault()) {
310 x1 += buttonDefaultIndicatorWidth(); 310 x1 += buttonDefaultIndicatorWidth();
311 y1 += buttonDefaultIndicatorWidth(); 311 y1 += buttonDefaultIndicatorWidth();
312 x2 -= buttonDefaultIndicatorWidth(); 312 x2 -= buttonDefaultIndicatorWidth();
313 y2 -= buttonDefaultIndicatorWidth(); 313 y2 -= buttonDefaultIndicatorWidth();
314 314
315 if (button->isDefault()) { 315 if (button->isDefault()) {
316 QPointArray pa(8); 316 QPointArray pa(8);
317 pa.setPoint(0, x1 + 2, y1 ); 317 pa.setPoint(0, x1 + 2, y1 );
318 pa.setPoint(1, x2 - 1, y1 ); 318 pa.setPoint(1, x2 - 1, y1 );
319 pa.setPoint(2, x2 + 1, y1 + 2); 319 pa.setPoint(2, x2 + 1, y1 + 2);
320 pa.setPoint(3, x2 + 1, y2 - 2); 320 pa.setPoint(3, x2 + 1, y2 - 2);
321 pa.setPoint(4, x2 - 2, y2 + 1); 321 pa.setPoint(4, x2 - 2, y2 + 1);
322 pa.setPoint(5, x1 + 2, y2 + 1); 322 pa.setPoint(5, x1 + 2, y2 + 1);
323 pa.setPoint(6, x1, y2 - 1); 323 pa.setPoint(6, x1, y2 - 1);
324 pa.setPoint(7, x1, y1 + 2); 324 pa.setPoint(7, x1, y1 + 2);
325 QRegion r(pa); 325 QRegion r(pa);
326 p->setClipRegion(r); 326 p->setClipRegion(r);
327 } 327 }
328 } 328 }
329 329
330 QBrush fill; 330 QBrush fill;
331 if (button->isDown() || button->isOn()) 331 if (button->isDown() || button->isOn())
332 fill = button->colorGroup().brush(QColorGroup::Mid); 332 fill = button->colorGroup().brush(QColorGroup::Mid);
333 else 333 else
334 fill = button->colorGroup().brush(QColorGroup::Button); 334 fill = button->colorGroup().brush(QColorGroup::Button);
335 335
336 if ( !button->isFlat() || button->isOn() || button->isDown() ) 336 if ( !button->isFlat() || button->isOn() || button->isDown() )
337 drawButton(p, x1, y1, x2 - x1 + 1, y2 - y1 + 1, 337 drawButton(p, x1, y1, x2 - x1 + 1, y2 - y1 + 1,
338 button->colorGroup(), button->isOn() || button->isDown(), &fill); 338 button->colorGroup(), button->isOn() || button->isDown(), &fill);
339} 339}
340 340
341 341
342void LightStyle::drawButton(QPainter *p, int x, int y, int w, int h, 342void LightStyle::drawButton(QPainter *p, int x, int y, int w, int h,
343 const QColorGroup &g, 343 const QColorGroup &g,
344 bool sunken, const QBrush *fill) 344 bool sunken, const QBrush *fill)
345{ 345{
346 p->save(); 346 p->save();
347 if ( fill ) 347 if ( fill )
348 p->fillRect(x + 2, y + 2, w - 4, h - 4, *fill); 348 p->fillRect(x + 2, y + 2, w - 4, h - 4, *fill);
349 else 349 else
350 p->fillRect(x + 2, y + 2, w - 4, h - 4, 350 p->fillRect(x + 2, y + 2, w - 4, h - 4,
351 QBrush(sunken ? g.mid() : g.button())); 351 QBrush(sunken ? g.mid() : g.button()));
352 352
353 // frame 353 // frame
354 p->setPen(g.dark()); 354 p->setPen(g.dark());
355 p->drawLine(x, y + 2, x, y + h - 3); // left 355 p->drawLine(x, y + 2, x, y + h - 3); // left
356 p->drawLine(x + 2, y, x + w - 3, y); // top 356 p->drawLine(x + 2, y, x + w - 3, y); // top
357 p->drawLine(x + w - 1, y + 2, x + w - 1, y + h - 3); // right 357 p->drawLine(x + w - 1, y + 2, x + w - 1, y + h - 3); // right
358 p->drawLine(x + 2, y + h - 1, x + w - 3, y + h - 1); // bottom 358 p->drawLine(x + 2, y + h - 1, x + w - 3, y + h - 1); // bottom
359 p->drawPoint(x + 1, y + 1); 359 p->drawPoint(x + 1, y + 1);
360 p->drawPoint(x + 1, y + h - 2); 360 p->drawPoint(x + 1, y + h - 2);
361 p->drawPoint(x + w - 2, y + 1); 361 p->drawPoint(x + w - 2, y + 1);
362 p->drawPoint(x + w - 2, y + h - 2); 362 p->drawPoint(x + w - 2, y + h - 2);
363 363
364 // bevel 364 // bevel
365 if (sunken) 365 if (sunken)
366 p->setPen(g.mid()); 366 p->setPen(g.mid());
367 else 367 else
368 p->setPen(g.light()); 368 p->setPen(g.light());
369 369
370 p->drawLine(x + 1, y + 2, x + 1, y + h - 3); // left 370 p->drawLine(x + 1, y + 2, x + 1, y + h - 3); // left
371 p->drawLine(x + 2, y + 1, x + w - 3, y + 1); // top 371 p->drawLine(x + 2, y + 1, x + w - 3, y + 1); // top
372 372
373 if (sunken) 373 if (sunken)
374 p->setPen(g.light()); 374 p->setPen(g.light());
375 else 375 else
376 p->setPen(g.mid()); 376 p->setPen(g.mid());
377 377
378 p->drawLine(x + w - 2, y + 2, x + w - 2, y + h - 3); // right + 1 378 p->drawLine(x + w - 2, y + 2, x + w - 2, y + h - 3); // right + 1
379 p->drawLine(x + 2, y + h - 2, x + w - 3, y + h - 2); // bottom + 1 379 p->drawLine(x + 2, y + h - 2, x + w - 3, y + h - 2); // bottom + 1
380 380
381 p->restore(); 381 p->restore();
382} 382}
383 383
384 384
385void LightStyle::drawBevelButton(QPainter *p, int x, int y, int w, int h, 385void LightStyle::drawBevelButton(QPainter *p, int x, int y, int w, int h,
386 const QColorGroup &g, 386 const QColorGroup &g,
387 bool sunken, const QBrush *fill) 387 bool sunken, const QBrush *fill)
388{ 388{
389 drawButton(p, x, y, w, h, g, sunken, fill); 389 drawButton(p, x, y, w, h, g, sunken, fill);
390} 390}
391 391
392 392
393void LightStyle::getButtonShift(int &x, int &y) const 393void LightStyle::getButtonShift(int &x, int &y)
394{ 394{
395 x = y = 0; 395 x = y = 0;
396} 396}
397 397
398 398
399void LightStyle::drawComboButton(QPainter *p, int x, int y, int w, int h, 399void LightStyle::drawComboButton(QPainter *p, int x, int y, int w, int h,
400 const QColorGroup &g, bool, 400 const QColorGroup &g, bool,
401 bool editable, bool, 401 bool editable, bool,
402 const QBrush *fill) 402 const QBrush *fill)
403{ 403{
404 drawButton(p, x, y, w, h, g, FALSE, fill); 404 drawButton(p, x, y, w, h, g, FALSE, fill);
405 405
406 if (editable) { 406 if (editable) {
407 QRect r = comboButtonRect(x, y, w, h); 407 QRect r = comboButtonRect(x, y, w, h);
408 qDrawShadePanel(p, r.x() - 1, r.y() - 1, 408 qDrawShadePanel(p, r.x() - 1, r.y() - 1,
409 r.width() + defaultFrameWidth(), 409 r.width() + defaultFrameWidth(),
410 r.height() + defaultFrameWidth(), 410 r.height() + defaultFrameWidth(),
411 g, TRUE); 411 g, TRUE);
412 } 412 }
413 413
414 int indent = ((y + h) / 2) - 3; 414 int indent = ((y + h) / 2) - 3;
415 int xpos = x; 415 int xpos = x;
416 416
417#if QT_VERSION >= 0x030000 417#if QT_VERSION >= 0x030000
418 if( QApplication::reverseLayout() ) 418 if( QApplication::reverseLayout() )
419 xpos += indent; 419 xpos += indent;
420 else 420 else
421#endif 421#endif
422 xpos += w - indent - 5; 422 xpos += w - indent - 5;
423 423
424 drawArrow(p, Qt::DownArrow, TRUE, xpos, indent, 5, 5, g, TRUE, fill); 424 drawArrow(p, Qt::DownArrow, TRUE, xpos, indent, 5, 5, g, TRUE, fill);
425} 425}
426 426
427 427
428QRect LightStyle::comboButtonRect( int x, int y, int w, int h ) const 428QRect LightStyle::comboButtonRect( int x, int y, int w, int h )
429{ 429{
430 QRect r(x + 3, y + 3, w - 6, h - 6); 430 QRect r(x + 3, y + 3, w - 6, h - 6);
431 int indent = ((y + h) / 2) - 3; 431 int indent = ((y + h) / 2) - 3;
432 r.setRight(r.right() - indent - 10); 432 r.setRight(r.right() - indent - 10);
433 433
434#if QT_VERSION >= 0x030000 434#if QT_VERSION >= 0x030000
435 if( QApplication::reverseLayout() ) 435 if( QApplication::reverseLayout() )
436 r.moveBy( indent + 10, 0 ); 436 r.moveBy( indent + 10, 0 );
437#endif 437#endif
438 438
439 return r; 439 return r;
440} 440}
441 441
442 442
443QRect LightStyle::comboButtonFocusRect(int x, int y, int w, int h ) const 443QRect LightStyle::comboButtonFocusRect(int x, int y, int w, int h )
444{ 444{
445 return comboButtonRect(x, y, w, h); 445 return comboButtonRect(x, y, w, h);
446} 446}
447 447
448 448
449void LightStyle::drawPanel(QPainter *p, int x, int y, int w, int h, 449void LightStyle::drawPanel(QPainter *p, int x, int y, int w, int h,
450 const QColorGroup &g, bool sunken, 450 const QColorGroup &g, bool sunken,
451 int lw, const QBrush *fill) 451 int lw, const QBrush *fill)
452{ 452{
453 if (lw >= 2) { 453 if (lw >= 2) {
454 if ( fill ) 454 if ( fill )
455 p->fillRect(x + 2, y + 2, w - 4, h - 4, *fill); 455 p->fillRect(x + 2, y + 2, w - 4, h - 4, *fill);
456 456
457 QPen oldpen = p->pen(); 457 QPen oldpen = p->pen();
458 458
459 // frame 459 // frame
460 p->setPen(g.dark()); 460 p->setPen(g.dark());
461 p->drawLine(x, y + 2, x, y + h - 3); // left 461 p->drawLine(x, y + 2, x, y + h - 3); // left
462 p->drawLine(x + 2, y, x + w - 3, y); // top 462 p->drawLine(x + 2, y, x + w - 3, y); // top
463 p->drawLine(x + w - 1, y + 2, x + w - 1, y + h - 3); // right 463 p->drawLine(x + w - 1, y + 2, x + w - 1, y + h - 3); // right
464 p->drawLine(x + 2, y + h - 1, x + w - 3, y + h - 1); // bottom 464 p->drawLine(x + 2, y + h - 1, x + w - 3, y + h - 1); // bottom
465 p->drawPoint(x + 1, y + 1); 465 p->drawPoint(x + 1, y + 1);
466 p->drawPoint(x + 1, y + h - 2); 466 p->drawPoint(x + 1, y + h - 2);
467 p->drawPoint(x + w - 2, y + 1); 467 p->drawPoint(x + w - 2, y + 1);
468 p->drawPoint(x + w - 2, y + h - 2); 468 p->drawPoint(x + w - 2, y + h - 2);
469 469
470 // bevel 470 // bevel
471 if (sunken) 471 if (sunken)
472 p->setPen(g.mid()); 472 p->setPen(g.mid());
473 else 473 else
474 p->setPen(g.light()); 474 p->setPen(g.light());
475 475
476 p->drawLine(x + 1, y + 2, x + 1, y + h - 3); // left 476 p->drawLine(x + 1, y + 2, x + 1, y + h - 3); // left
477 p->drawLine(x + 2, y + 1, x + w - 3, y + 1); // top 477 p->drawLine(x + 2, y + 1, x + w - 3, y + 1); // top
478 478
479 if (sunken) 479 if (sunken)
480 p->setPen(g.light()); 480 p->setPen(g.light());
481 else 481 else
482 p->setPen(g.mid()); 482 p->setPen(g.mid());
483 483
484 p->drawLine(x + w - 2, y + 2, x + w - 2, y + h - 3); // right + 1 484 p->drawLine(x + w - 2, y + 2, x + w - 2, y + h - 3); // right + 1
485 p->drawLine(x + 2, y + h - 2, x + w - 3, y + h - 2); // bottom + 1 485 p->drawLine(x + 2, y + h - 2, x + w - 3, y + h - 2); // bottom + 1
486 486
487 // corners 487 // corners
488 p->setPen(g.background()); 488 p->setPen(g.background());
489 p->drawLine(x, y, x + 1, y); 489 p->drawLine(x, y, x + 1, y);
490 p->drawLine(x, y + h - 1, x + 1, y + h - 1); 490 p->drawLine(x, y + h - 1, x + 1, y + h - 1);
491 p->drawLine(x + w - 2, y, x + w - 1, y); 491 p->drawLine(x + w - 2, y, x + w - 1, y);
492 p->drawLine(x + w - 2, y + h - 1, x + w - 1, y + h - 1); 492 p->drawLine(x + w - 2, y + h - 1, x + w - 1, y + h - 1);
493 p->drawPoint(x, y + 1); 493 p->drawPoint(x, y + 1);
494 p->drawPoint(x, y + h - 2); 494 p->drawPoint(x, y + h - 2);
495 p->drawPoint(x + w - 1, y + 1); 495 p->drawPoint(x + w - 1, y + 1);
496 p->drawPoint(x + w - 1, y + h - 2); 496 p->drawPoint(x + w - 1, y + h - 2);
497 497
498 p->setPen(oldpen); 498 p->setPen(oldpen);
499 } else 499 } else
500 qDrawShadePanel(p, x, y, w, h, g, sunken, lw, fill); 500 qDrawShadePanel(p, x, y, w, h, g, sunken, lw, fill);
501} 501}
502 502
503 503
504void LightStyle::drawIndicator(QPainter *p, int x, int y ,int w, int h, 504void LightStyle::drawIndicator(QPainter *p, int x, int y ,int w, int h,
505 const QColorGroup &g, int state, 505 const QColorGroup &g, int state,
506 bool down, bool) 506 bool down, bool)
507{ 507{
508 drawButton(p, x, y, w, h, g, TRUE, 508 drawButton(p, x, y, w, h, g, TRUE,
509 &g.brush(down ? QColorGroup::Mid : QColorGroup::Base)); 509 &g.brush(down ? QColorGroup::Mid : QColorGroup::Base));
510 510
511 p->save(); 511 p->save();
512 512
513 p->setPen(g.foreground()); 513 p->setPen(g.foreground());
514 if (state == QButton::NoChange) { 514 if (state == QButton::NoChange) {
515 p->drawLine(x + 3, y + h / 2, x + w - 4, y + h / 2); 515 p->drawLine(x + 3, y + h / 2, x + w - 4, y + h / 2);
516 p->drawLine(x + 3, y + 1 + h / 2, x + w - 4, y + 1 + h / 2); 516 p->drawLine(x + 3, y + 1 + h / 2, x + w - 4, y + 1 + h / 2);
517 p->drawLine(x + 3, y - 1 + h / 2, x + w - 4, y - 1 + h / 2); 517 p->drawLine(x + 3, y - 1 + h / 2, x + w - 4, y - 1 + h / 2);
518 } else if (state == QButton::On) { 518 } else if (state == QButton::On) {
519 p->drawLine(x + 4, y + 3, x + w - 4, y + h - 5); 519 p->drawLine(x + 4, y + 3, x + w - 4, y + h - 5);
520 p->drawLine(x + 3, y + 3, x + w - 4, y + h - 4); 520 p->drawLine(x + 3, y + 3, x + w - 4, y + h - 4);
521 p->drawLine(x + 3, y + 4, x + w - 5, y + h - 4); 521 p->drawLine(x + 3, y + 4, x + w - 5, y + h - 4);
522 p->drawLine(x + 3, y + h - 5, x + w - 5, y + 3); 522 p->drawLine(x + 3, y + h - 5, x + w - 5, y + 3);
523 p->drawLine(x + 3, y + h - 4, x + w - 4, y + 3); 523 p->drawLine(x + 3, y + h - 4, x + w - 4, y + 3);
524 p->drawLine(x + 4, y + h - 4, x + w - 4, y + 4); 524 p->drawLine(x + 4, y + h - 4, x + w - 4, y + 4);
525 } 525 }
526 526
527 p->restore(); 527 p->restore();
528} 528}
529 529
530 530
531void LightStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int w, int h, 531void LightStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int w, int h,
532 const QColorGroup &g, bool on, 532 const QColorGroup &g, bool on,
533 bool down, bool) 533 bool down, bool)
534{ 534{
535 p->save(); 535 p->save();
536 536
537 p->fillRect(x, y, w, h, g.brush(QColorGroup::Background)); 537 p->fillRect(x, y, w, h, g.brush(QColorGroup::Background));
538 538
539 p->setPen(g.dark()); 539 p->setPen(g.dark());
540 p->drawArc(x, y, w, h, 0, 16*360); 540 p->drawArc(x, y, w, h, 0, 16*360);
541 p->setPen(g.mid()); 541 p->setPen(g.mid());
542 p->drawArc(x + 1, y + 1, w - 2, h - 2, 45*16, 180*16); 542 p->drawArc(x + 1, y + 1, w - 2, h - 2, 45*16, 180*16);
543 p->setPen(g.light()); 543 p->setPen(g.light());
544 p->drawArc(x + 1, y + 1, w - 2, h - 2, 235*16, 180*16); 544 p->drawArc(x + 1, y + 1, w - 2, h - 2, 235*16, 180*16);
545 545
546 p->setPen(down ? g.mid() : g.base()); 546 p->setPen(down ? g.mid() : g.base());
547 p->setBrush(down ? g.mid() : g.base()); 547 p->setBrush(down ? g.mid() : g.base());
548 p->drawEllipse(x + 2, y + 2, w - 4, h - 4); 548 p->drawEllipse(x + 2, y + 2, w - 4, h - 4);
549 549
550 if (on) { 550 if (on) {
551 p->setBrush(g.foreground()); 551 p->setBrush(g.foreground());
552 p->drawEllipse(x + 3, y + 3, w - x - 6, h - y - 6); 552 p->drawEllipse(x + 3, y + 3, w - x - 6, h - y - 6);
553 } 553 }
554 554
555 p->restore(); 555 p->restore();
556} 556}
557 557
558 558
559 559
560#if 1 560#if 1
561//copied from QPE style 561//copied from QPE style
562void LightStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected ) 562void LightStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected )
563{ 563{
564#if 0 564#if 0
565 //We can't do this, because QTabBar::focusInEvent redraws the 565 //We can't do this, because QTabBar::focusInEvent redraws the
566 // tab label with the default font. 566 // tab label with the default font.
567 QFont f = tb->font(); 567 QFont f = tb->font();
568 f.setBold( selected ); 568 f.setBold( selected );
569 p->setFont( f ); 569 p->setFont( f );
570#endif 570#endif
571 QRect r( t->rect() ); 571 QRect r( t->rect() );
@@ -676,257 +676,257 @@ void LightStyle::drawTab(QPainter *p, const QTabBar *tabbar, QTab *tab,
676 } 676 }
677 } 677 }
678 678
679 QRegion tabr(tab->r); 679 QRegion tabr(tab->r);
680 680
681 QPointArray cliptri(4); 681 QPointArray cliptri(4);
682 cliptri.setPoint(0, fr.left(), fr.top()); 682 cliptri.setPoint(0, fr.left(), fr.top());
683 cliptri.setPoint(1, fr.left(), fr.top() + 5); 683 cliptri.setPoint(1, fr.left(), fr.top() + 5);
684 cliptri.setPoint(2, fr.left() + 5, fr.top()); 684 cliptri.setPoint(2, fr.left() + 5, fr.top());
685 cliptri.setPoint(3, fr.left(), fr.top()); 685 cliptri.setPoint(3, fr.left(), fr.top());
686 QRegion trir(cliptri); 686 QRegion trir(cliptri);
687 p->setClipRegion(tabr - trir); 687 p->setClipRegion(tabr - trir);
688 688
689 p->setPen( NoPen ); 689 p->setPen( NoPen );
690 p->setBrush(g.brush(selected ? QColorGroup::Background : QColorGroup::Mid)); 690 p->setBrush(g.brush(selected ? QColorGroup::Background : QColorGroup::Mid));
691 691
692 fr.setWidth(fr.width() - 1); 692 fr.setWidth(fr.width() - 1);
693 p->drawRect(fr.left() + 1, fr.top() + 1, fr.width() - 2, fr.height() - 2); 693 p->drawRect(fr.left() + 1, fr.top() + 1, fr.width() - 2, fr.height() - 2);
694 694
695 if (tabbar->shape() == QTabBar::RoundedAbove) { 695 if (tabbar->shape() == QTabBar::RoundedAbove) {
696 // "rounded" tabs on top 696 // "rounded" tabs on top
697 fr.setBottom(fr.bottom() - 1); 697 fr.setBottom(fr.bottom() - 1);
698 698
699 p->setPen(g.dark()); 699 p->setPen(g.dark());
700 p->drawLine(fr.left(), fr.top() + 5, fr.left(), fr.bottom() - 1); 700 p->drawLine(fr.left(), fr.top() + 5, fr.left(), fr.bottom() - 1);
701 p->drawLine(fr.left(), fr.top() + 5, fr.left() + 5, fr.top()); 701 p->drawLine(fr.left(), fr.top() + 5, fr.left() + 5, fr.top());
702 p->drawLine(fr.left() + 5, fr.top(), fr.right() - 1, fr.top()); 702 p->drawLine(fr.left() + 5, fr.top(), fr.right() - 1, fr.top());
703 p->drawLine(fr.right(), fr.top() + 1, fr.right(), fr.bottom() - 1); 703 p->drawLine(fr.right(), fr.top() + 1, fr.right(), fr.bottom() - 1);
704 704
705 if (selected) { 705 if (selected) {
706 p->drawLine(fr.right(), fr.bottom(), fr.right() + 2, fr.bottom()); 706 p->drawLine(fr.right(), fr.bottom(), fr.right() + 2, fr.bottom());
707 p->drawPoint(fr.left(), fr.bottom()); 707 p->drawPoint(fr.left(), fr.bottom());
708 } else 708 } else
709 p->drawLine(fr.left(), fr.bottom(), fr.right() + 2, fr.bottom()); 709 p->drawLine(fr.left(), fr.bottom(), fr.right() + 2, fr.bottom());
710 710
711 if (fr.left() == 2) { 711 if (fr.left() == 2) {
712 p->drawPoint(fr.left() - 1, fr.bottom() + 1); 712 p->drawPoint(fr.left() - 1, fr.bottom() + 1);
713 p->drawPoint(fr.left() - 2, fr.bottom() + 2); 713 p->drawPoint(fr.left() - 2, fr.bottom() + 2);
714 } 714 }
715 715
716 if (selected) { 716 if (selected) {
717 p->setPen(g.mid()); 717 p->setPen(g.mid());
718 p->drawLine(fr.right() - 1, fr.top() + 1, fr.right() - 1, fr.bottom() - 2); 718 p->drawLine(fr.right() - 1, fr.top() + 1, fr.right() - 1, fr.bottom() - 2);
719 } 719 }
720 720
721 p->setPen(g.light()); p->setPen(red); 721 p->setPen(g.light()); p->setPen(red);
722 p->drawLine(fr.left() + 1, fr.top() + 6, fr.left() + 1, 722 p->drawLine(fr.left() + 1, fr.top() + 6, fr.left() + 1,
723 fr.bottom() - (selected ? 0 : 1)); 723 fr.bottom() - (selected ? 0 : 1));
724 p->drawLine(fr.left() + 1, fr.top() + 5, fr.left() + 5, fr.top() + 1); 724 p->drawLine(fr.left() + 1, fr.top() + 5, fr.left() + 5, fr.top() + 1);
725 p->drawLine(fr.left() + 6, fr.top() + 1, fr.right() - 3, fr.top() + 1); 725 p->drawLine(fr.left() + 6, fr.top() + 1, fr.right() - 3, fr.top() + 1);
726 if (selected) { 726 if (selected) {
727 p->drawLine(fr.right() + 1, fr.bottom() + 1, 727 p->drawLine(fr.right() + 1, fr.bottom() + 1,
728 fr.right() + 2, fr.bottom() + 1); 728 fr.right() + 2, fr.bottom() + 1);
729 p->drawLine(fr.left(), fr.bottom() + 1, fr.left() + 1, fr.bottom() + 1); 729 p->drawLine(fr.left(), fr.bottom() + 1, fr.left() + 1, fr.bottom() + 1);
730 } else 730 } else
731 p->drawLine(fr.left(), fr.bottom() + 1, 731 p->drawLine(fr.left(), fr.bottom() + 1,
732 fr.right() + 2, fr.bottom() + 1); 732 fr.right() + 2, fr.bottom() + 1);
733 } else if (tabbar->shape() == QTabBar::RoundedBelow) { 733 } else if (tabbar->shape() == QTabBar::RoundedBelow) {
734 // "rounded" tabs on bottom 734 // "rounded" tabs on bottom
735 fr.setTop(fr.top() + 1); 735 fr.setTop(fr.top() + 1);
736 736
737 p->setPen(g.dark()); 737 p->setPen(g.dark());
738 p->drawLine(fr.left(), fr.top(), fr.left(), fr.bottom() - 1); 738 p->drawLine(fr.left(), fr.top(), fr.left(), fr.bottom() - 1);
739 p->drawLine(fr.left() + 1, fr.bottom(), fr.right() - 1, fr.bottom()); 739 p->drawLine(fr.left() + 1, fr.bottom(), fr.right() - 1, fr.bottom());
740 p->drawLine(fr.right(), fr.top(), fr.right(), fr.bottom() - 1); 740 p->drawLine(fr.right(), fr.top(), fr.right(), fr.bottom() - 1);
741 741
742 if (! selected) 742 if (! selected)
743 p->drawLine(fr.left(), fr.top(), fr.right() + 3, fr.top()); 743 p->drawLine(fr.left(), fr.top(), fr.right() + 3, fr.top());
744 else 744 else
745 p->drawLine(fr.right(), fr.top(), fr.right() + 3, fr.top()); 745 p->drawLine(fr.right(), fr.top(), fr.right() + 3, fr.top());
746 746
747 p->setPen(g.mid()); 747 p->setPen(g.mid());
748 if (selected) 748 if (selected)
749 p->drawLine(fr.right() - 1, fr.top() + 1, fr.right() - 1, fr.bottom() - 1); 749 p->drawLine(fr.right() - 1, fr.top() + 1, fr.right() - 1, fr.bottom() - 1);
750 else 750 else
751 p->drawLine(fr.left(), fr.top() - 1, fr.right() + 3, fr.top() - 1); 751 p->drawLine(fr.left(), fr.top() - 1, fr.right() + 3, fr.top() - 1);
752 752
753 p->setPen(g.light()); 753 p->setPen(g.light());
754 p->drawLine(fr.left() + 1, fr.top() + (selected ? -1 : 2), 754 p->drawLine(fr.left() + 1, fr.top() + (selected ? -1 : 2),
755 fr.left() + 1, fr.bottom() - 1); 755 fr.left() + 1, fr.bottom() - 1);
756 756
757 } else { 757 } else {
758 // triangular drawing code 758 // triangular drawing code
759 QCommonStyle::drawTab(p, tabbar, tab, selected); 759 QCommonStyle::drawTab(p, tabbar, tab, selected);
760 } 760 }
761 761
762 p->restore(); 762 p->restore();
763} 763}
764#endif 764#endif
765 765
766void LightStyle::drawSlider(QPainter *p, int x, int y, int w, int h, 766void LightStyle::drawSlider(QPainter *p, int x, int y, int w, int h,
767 const QColorGroup &g, Qt::Orientation orientation, 767 const QColorGroup &g, Qt::Orientation orientation,
768 bool above, bool below) 768 bool above, bool below)
769{ 769{
770 drawButton(p, x, y, w, h, g, FALSE, &g.brush(QColorGroup::Button)); 770 drawButton(p, x, y, w, h, g, FALSE, &g.brush(QColorGroup::Button));
771 771
772 if (orientation == Horizontal) { 772 if (orientation == Horizontal) {
773 if (above && below) { 773 if (above && below) {
774 drawArrow(p, Qt::UpArrow, FALSE, x + 1, y + 1, w, h / 2, g, TRUE); 774 drawArrow(p, Qt::UpArrow, FALSE, x + 1, y + 1, w, h / 2, g, TRUE);
775 drawArrow(p, Qt::DownArrow, FALSE, x + 1, y + (h / 2) - 1, 775 drawArrow(p, Qt::DownArrow, FALSE, x + 1, y + (h / 2) - 1,
776 w, h / 2, g, TRUE); 776 w, h / 2, g, TRUE);
777 } else 777 } else
778 drawArrow(p, (above) ? Qt::UpArrow : Qt::DownArrow, 778 drawArrow(p, (above) ? Qt::UpArrow : Qt::DownArrow,
779 FALSE, x + 1, y, w, h, g, TRUE); 779 FALSE, x + 1, y, w, h, g, TRUE);
780 } else { 780 } else {
781 if (above && below) { 781 if (above && below) {
782 drawArrow(p, Qt::LeftArrow, FALSE, x + 1, y, w / 2, h, g, TRUE); 782 drawArrow(p, Qt::LeftArrow, FALSE, x + 1, y, w / 2, h, g, TRUE);
783 drawArrow(p, Qt::RightArrow, FALSE, x + (w / 2) - 2, y, w / 2, h, g, TRUE); 783 drawArrow(p, Qt::RightArrow, FALSE, x + (w / 2) - 2, y, w / 2, h, g, TRUE);
784 } else 784 } else
785 drawArrow(p, (above) ? Qt::LeftArrow : Qt::RightArrow, 785 drawArrow(p, (above) ? Qt::LeftArrow : Qt::RightArrow,
786 FALSE, x, y, w, h, g, TRUE); 786 FALSE, x, y, w, h, g, TRUE);
787 } 787 }
788} 788}
789 789
790 790
791void LightStyle::drawSliderGroove(QPainter *p, int x, int y, int w, int h, 791void LightStyle::drawSliderGroove(QPainter *p, int x, int y, int w, int h,
792 const QColorGroup& g, QCOORD c, 792 const QColorGroup& g, QCOORD c,
793 Qt::Orientation orientation) 793 Qt::Orientation orientation)
794{ 794{
795 if (orientation == Horizontal) 795 if (orientation == Horizontal)
796 drawButton(p, x, y+c - 3, w, 6, g, TRUE, &g.brush(QColorGroup::Mid)); 796 drawButton(p, x, y+c - 3, w, 6, g, TRUE, &g.brush(QColorGroup::Mid));
797 else 797 else
798 drawButton(p, x+c - 3, y, 6, h, g, TRUE, &g.brush(QColorGroup::Mid)); 798 drawButton(p, x+c - 3, y, 6, h, g, TRUE, &g.brush(QColorGroup::Mid));
799} 799}
800 800
801 801
802void LightStyle::scrollBarMetrics(const QScrollBar *scrollbar, 802void LightStyle::scrollBarMetrics(const QScrollBar *scrollbar,
803 int &sliderMin, int &sliderMax, 803 int &sliderMin, int &sliderMax,
804 int &sliderLength, int &buttonDim) const 804 int &sliderLength, int &buttonDim)
805{ 805{
806 int maxLength; 806 int maxLength;
807 int length = ((scrollbar->orientation() == Horizontal) ? 807 int length = ((scrollbar->orientation() == Horizontal) ?
808 scrollbar->width() : scrollbar->height()); 808 scrollbar->width() : scrollbar->height());
809 int extent = ((scrollbar->orientation() == Horizontal) ? 809 int extent = ((scrollbar->orientation() == Horizontal) ?
810 scrollbar->height() : scrollbar->width()); 810 scrollbar->height() : scrollbar->width());
811 extent--; 811 extent--;
812 812
813 if (length > (extent + defaultFrameWidth() - 1) * 2 + defaultFrameWidth()) 813 if (length > (extent + defaultFrameWidth() - 1) * 2 + defaultFrameWidth())
814 buttonDim = extent - defaultFrameWidth(); 814 buttonDim = extent - defaultFrameWidth();
815 else 815 else
816 buttonDim = (length - defaultFrameWidth()) / 2 - 1; 816 buttonDim = (length - defaultFrameWidth()) / 2 - 1;
817 817
818 sliderMin = buttonDim; 818 sliderMin = buttonDim;
819 maxLength = length - buttonDim * 3; 819 maxLength = length - buttonDim * 3;
820 820
821 if (scrollbar->maxValue() != scrollbar->minValue()) { 821 if (scrollbar->maxValue() != scrollbar->minValue()) {
822 uint range = scrollbar->maxValue() - scrollbar->minValue(); 822 uint range = scrollbar->maxValue() - scrollbar->minValue();
823 sliderLength = (scrollbar->pageStep() * maxLength) / 823 sliderLength = (scrollbar->pageStep() * maxLength) /
824 (range + scrollbar->pageStep()); 824 (range + scrollbar->pageStep());
825 825
826 if (sliderLength < buttonDim || range > INT_MAX / 2) 826 if (sliderLength < buttonDim || range > INT_MAX / 2)
827 sliderLength = buttonDim; 827 sliderLength = buttonDim;
828 if (sliderLength > maxLength) 828 if (sliderLength > maxLength)
829 sliderLength = maxLength; 829 sliderLength = maxLength;
830 } else 830 } else
831 sliderLength = maxLength; 831 sliderLength = maxLength;
832 832
833 sliderMax = sliderMin + maxLength - sliderLength; 833 sliderMax = sliderMin + maxLength - sliderLength;
834} 834}
835 835
836 836
837QStyle::ScrollControl LightStyle::scrollBarPointOver(const QScrollBar *scrollbar, 837QStyle::ScrollControl LightStyle::scrollBarPointOver(const QScrollBar *scrollbar,
838 int sliderStart, const QPoint &p) 838 int sliderStart, const QPoint &p)
839{ 839{
840 if (! scrollbar->rect().contains(p)) 840 if (! scrollbar->rect().contains(p))
841 return NoScroll; 841 return NoScroll;
842 842
843 int sliderMin, sliderMax, sliderLength, buttonDim, pos; 843 int sliderMin, sliderMax, sliderLength, buttonDim, pos;
844 scrollBarMetrics( scrollbar, sliderMin, sliderMax, sliderLength, buttonDim ); 844 scrollBarMetrics( scrollbar, sliderMin, sliderMax, sliderLength, buttonDim );
845 845
846 if (scrollbar->orientation() == Horizontal) 846 if (scrollbar->orientation() == Horizontal)
847 pos = p.x(); 847 pos = p.x();
848 else 848 else
849 pos = p.y(); 849 pos = p.y();
850 850
851 if (pos < buttonDim) 851 if (pos < buttonDim)
852 return SubLine; 852 return SubLine;
853 if (pos < sliderStart) 853 if (pos < sliderStart)
854 return SubPage; 854 return SubPage;
855 if (pos < sliderStart + sliderLength) 855 if (pos < sliderStart + sliderLength)
856 return Slider; 856 return Slider;
857 if (pos < sliderMax + sliderLength) 857 if (pos < sliderMax + sliderLength)
858 return AddPage; 858 return AddPage;
859 if (pos < sliderMax + sliderLength + buttonDim) 859 if (pos < sliderMax + sliderLength + buttonDim)
860 return SubLine; 860 return SubLine;
861 return AddLine; 861 return AddLine;
862} 862}
863 863
864 864
865 865
866void LightStyle::drawScrollBarControls( QPainter* p, const QScrollBar* scrollbar, 866void LightStyle::drawScrollBarControls( QPainter* p, const QScrollBar* scrollbar,
867 int sliderStart, uint controls, 867 int sliderStart, uint controls,
868 uint activeControl ) 868 uint activeControl )
869{ 869{
870 QColorGroup g = scrollbar->colorGroup(); 870 QColorGroup g = scrollbar->colorGroup();
871 871
872 int sliderMin, sliderMax, sliderLength, buttonDim; 872 int sliderMin, sliderMax, sliderLength, buttonDim;
873 scrollBarMetrics( scrollbar, sliderMin, sliderMax, sliderLength, buttonDim ); 873 scrollBarMetrics( scrollbar, sliderMin, sliderMax, sliderLength, buttonDim );
874 874
875 if (sliderStart > sliderMax) { // sanity check 875 if (sliderStart > sliderMax) { // sanity check
876 sliderStart = sliderMax; 876 sliderStart = sliderMax;
877 } 877 }
878 878
879 QRect addR, subR, subR2, addPageR, subPageR, sliderR; 879 QRect addR, subR, subR2, addPageR, subPageR, sliderR;
880 int length = ((scrollbar->orientation() == Horizontal) ? 880 int length = ((scrollbar->orientation() == Horizontal) ?
881 scrollbar->width() : scrollbar->height()); 881 scrollbar->width() : scrollbar->height());
882 int extent = ((scrollbar->orientation() == Horizontal) ? 882 int extent = ((scrollbar->orientation() == Horizontal) ?
883 scrollbar->height() : scrollbar->width()); 883 scrollbar->height() : scrollbar->width());
884 884
885 885
886 int fudge = 3; //####disgusting hack 886 int fudge = 3; //####disgusting hack
887 887
888 if (scrollbar->orientation() == Horizontal) { 888 if (scrollbar->orientation() == Horizontal) {
889 subR.setRect(0, defaultFrameWidth(), 889 subR.setRect(0, defaultFrameWidth(),
890 buttonDim + fudge, buttonDim); 890 buttonDim + fudge, buttonDim);
891 subR2.setRect(length - (buttonDim * 2), defaultFrameWidth() , 891 subR2.setRect(length - (buttonDim * 2), defaultFrameWidth() ,
892 buttonDim, buttonDim); 892 buttonDim, buttonDim);
893 addR.setRect(length - buttonDim, defaultFrameWidth(), 893 addR.setRect(length - buttonDim, defaultFrameWidth(),
894 buttonDim, buttonDim); 894 buttonDim, buttonDim);
895 } else { 895 } else {
896 subR.setRect(defaultFrameWidth() + 1, 0, 896 subR.setRect(defaultFrameWidth() + 1, 0,
897 buttonDim, buttonDim + fudge); 897 buttonDim, buttonDim + fudge);
898 subR2.setRect(defaultFrameWidth() + 1, length - (buttonDim * 2), 898 subR2.setRect(defaultFrameWidth() + 1, length - (buttonDim * 2),
899 buttonDim, buttonDim); 899 buttonDim, buttonDim);
900 addR.setRect(defaultFrameWidth() + 1, length - buttonDim, 900 addR.setRect(defaultFrameWidth() + 1, length - buttonDim,
901 buttonDim, buttonDim); 901 buttonDim, buttonDim);
902 } 902 }
903 903
904 int sliderEnd = sliderStart + sliderLength; 904 int sliderEnd = sliderStart + sliderLength;
905 int sliderW = extent - defaultFrameWidth() - 1; 905 int sliderW = extent - defaultFrameWidth() - 1;
906 if (scrollbar->orientation() == Horizontal) { 906 if (scrollbar->orientation() == Horizontal) {
907 subPageR.setRect( subR.right() + 1, defaultFrameWidth(), 907 subPageR.setRect( subR.right() + 1, defaultFrameWidth(),
908 sliderStart - subR.right() - 1 , sliderW ); 908 sliderStart - subR.right() - 1 , sliderW );
909 addPageR.setRect( sliderEnd, defaultFrameWidth(), 909 addPageR.setRect( sliderEnd, defaultFrameWidth(),
910 subR2.left() - sliderEnd, sliderW ); 910 subR2.left() - sliderEnd, sliderW );
911 sliderR.setRect( sliderStart, defaultFrameWidth(), sliderLength, sliderW ); 911 sliderR.setRect( sliderStart, defaultFrameWidth(), sliderLength, sliderW );
912 } else { 912 } else {
913 subPageR.setRect( defaultFrameWidth(), subR.bottom() + 1, 913 subPageR.setRect( defaultFrameWidth(), subR.bottom() + 1,
914 sliderW, sliderStart - subR.bottom() - 1 ); 914 sliderW, sliderStart - subR.bottom() - 1 );
915 addPageR.setRect( defaultFrameWidth(), sliderEnd, 915 addPageR.setRect( defaultFrameWidth(), sliderEnd,
916 sliderW, subR2.top() - sliderEnd ); 916 sliderW, subR2.top() - sliderEnd );
917 sliderR .setRect( defaultFrameWidth(), sliderStart, 917 sliderR .setRect( defaultFrameWidth(), sliderStart,
918 sliderW, sliderLength ); 918 sliderW, sliderLength );
919 } 919 }
920 920
921 if ( controls == ( AddLine | SubLine | AddPage | SubPage | 921 if ( controls == ( AddLine | SubLine | AddPage | SubPage |
922 Slider | First | Last ) ) { 922 Slider | First | Last ) ) {
923 if (scrollbar->orientation() == Horizontal) 923 if (scrollbar->orientation() == Horizontal)
924 qDrawShadePanel(p, 0, 0, length, 2, g, TRUE, 1, 924 qDrawShadePanel(p, 0, 0, length, 2, g, TRUE, 1,
925 &g.brush(QColorGroup::Background)); 925 &g.brush(QColorGroup::Background));
926 else 926 else
927 qDrawShadePanel(p, 0, 0, 2, length, g, TRUE, 1, 927 qDrawShadePanel(p, 0, 0, 2, length, g, TRUE, 1,
928 &g.brush(QColorGroup::Background)); 928 &g.brush(QColorGroup::Background));
929 } 929 }
930 930
931 if ( controls & AddLine ) 931 if ( controls & AddLine )
932 drawArrow( p, (scrollbar->orientation() == Vertical) ? DownArrow : RightArrow, 932 drawArrow( p, (scrollbar->orientation() == Vertical) ? DownArrow : RightArrow,
diff --git a/library/lightstyle.h b/library/lightstyle.h
index 0392957..52e19b2 100644
--- a/library/lightstyle.h
+++ b/library/lightstyle.h
@@ -1,120 +1,120 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef LIGHTSTYLE_H 20#ifndef LIGHTSTYLE_H
21#define LIGHTSTYLE_H 21#define LIGHTSTYLE_H
22 22
23 23
24#ifndef QT_H 24#ifndef QT_H
25#include <qstyle.h> 25#include <qstyle.h>
26#include <qwindowsstyle.h> 26#include <qwindowsstyle.h>
27#endif // QT_H 27#endif // QT_H
28 28
29#if QT_VERSION < 0x030000 29#if QT_VERSION < 0x030000
30 30
31#ifdef QT_PLUGIN_STYLE_LIGHT 31#ifdef QT_PLUGIN_STYLE_LIGHT
32# define Q_EXPORT_STYLE_LIGHT 32# define Q_EXPORT_STYLE_LIGHT
33#else 33#else
34# define Q_EXPORT_STYLE_LIGHT Q_EXPORT 34# define Q_EXPORT_STYLE_LIGHT Q_EXPORT
35#endif // QT_PLUGIN_STYLE_LIGHT 35#endif // QT_PLUGIN_STYLE_LIGHT
36 36
37 37
38class Q_EXPORT_STYLE_LIGHT LightStyle : public QWindowsStyle 38class Q_EXPORT_STYLE_LIGHT LightStyle : public QWindowsStyle
39{ 39{
40public: 40public:
41 LightStyle(); 41 LightStyle();
42 virtual ~LightStyle(); 42 virtual ~LightStyle();
43 43
44 void polish(QWidget *widget); 44 void polish(QWidget *widget);
45 void unPolish(QWidget*widget); 45 void unPolish(QWidget*widget);
46 46
47 void polish(QApplication *app); 47 void polish(QApplication *app);
48 void unPolish(QApplication *app); 48 void unPolish(QApplication *app);
49 49
50 void polishPopupMenu(QPopupMenu *menu); 50 void polishPopupMenu(QPopupMenu *menu);
51 51
52 void drawPushButton(QPushButton *button, QPainter *p); 52 void drawPushButton(QPushButton *button, QPainter *p);
53 void drawButton(QPainter *p, int x, int y, int w, int h, 53 void drawButton(QPainter *p, int x, int y, int w, int h,
54 const QColorGroup &g, bool sunken = FALSE, 54 const QColorGroup &g, bool sunken = FALSE,
55 const QBrush *fill = 0); 55 const QBrush *fill = 0);
56 void drawBevelButton(QPainter *p, int x, int y, int w, int h, 56 void drawBevelButton(QPainter *p, int x, int y, int w, int h,
57 const QColorGroup &g, bool sunken = FALSE, 57 const QColorGroup &g, bool sunken = FALSE,
58 const QBrush *fill = 0); 58 const QBrush *fill = 0);
59 void getButtonShift(int &x, int &y) const; 59 void getButtonShift(int &x, int &y);
60 60
61 void drawComboButton(QPainter *p, int x, int y, int w, int h, 61 void drawComboButton(QPainter *p, int x, int y, int w, int h,
62 const QColorGroup &g, bool sunken = FALSE, 62 const QColorGroup &g, bool sunken = FALSE,
63 bool editable = FALSE, bool = TRUE, 63 bool editable = FALSE, bool = TRUE,
64 const QBrush *fill = 0); 64 const QBrush *fill = 0);
65 QRect comboButtonRect(int x, int y, int w, int h) const; 65 QRect comboButtonRect(int x, int y, int w, int h);
66 QRect comboButtonFocusRect(int x, int y, int w, int h) const; 66 QRect comboButtonFocusRect(int x, int y, int w, int h);
67 67
68 void drawIndicator(QPainter *p, int x, int y ,int w, int h, 68 void drawIndicator(QPainter *p, int x, int y ,int w, int h,
69 const QColorGroup &g, int state, 69 const QColorGroup &g, int state,
70 bool = FALSE, bool = TRUE); 70 bool = FALSE, bool = TRUE);
71 QSize indicatorSize() const; 71 QSize indicatorSize() const;
72 72
73 void drawExclusiveIndicator(QPainter *p, int x, int y ,int w, int h, 73 void drawExclusiveIndicator(QPainter *p, int x, int y ,int w, int h,
74 const QColorGroup &g, bool on, 74 const QColorGroup &g, bool on,
75 bool = FALSE, bool = TRUE); 75 bool = FALSE, bool = TRUE);
76 QSize exclusiveIndicatorSize() const; 76 QSize exclusiveIndicatorSize() const;
77 77
78 void drawPanel(QPainter * p, int x, int y, int w, int h, 78 void drawPanel(QPainter * p, int x, int y, int w, int h,
79 const QColorGroup &g, bool sunken = FALSE, 79 const QColorGroup &g, bool sunken = FALSE,
80 int = 1, const QBrush * = 0); 80 int = 1, const QBrush * = 0);
81 81
82 void scrollBarMetrics( const QScrollBar *, 82 void scrollBarMetrics( const QScrollBar *,
83 int &, int &, int &, int & ) const; 83 int &, int &, int &, int & );
84 void drawScrollBarControls(QPainter* p, const QScrollBar* sb, 84 void drawScrollBarControls(QPainter* p, const QScrollBar* sb,
85 int sliderStart, uint controls, 85 int sliderStart, uint controls,
86 uint activeControl); 86 uint activeControl);
87 QStyle::ScrollControl scrollBarPointOver(const QScrollBar *, int, const QPoint& p); 87 QStyle::ScrollControl scrollBarPointOver(const QScrollBar *, int, const QPoint& p);
88 88
89 void drawTab(QPainter *p, const QTabBar *tabbar, QTab *tab, bool selected); 89 void drawTab(QPainter *p, const QTabBar *tabbar, QTab *tab, bool selected);
90 90
91 void drawSlider(QPainter *p, int x, int y, int w, int h, 91 void drawSlider(QPainter *p, int x, int y, int w, int h,
92 const QColorGroup &g, Qt::Orientation orientation, 92 const QColorGroup &g, Qt::Orientation orientation,
93 bool, bool); 93 bool, bool);
94 void drawSliderGroove(QPainter *p, int x, int y, int w, int h, 94 void drawSliderGroove(QPainter *p, int x, int y, int w, int h,
95 const QColorGroup& g, QCOORD, 95 const QColorGroup& g, QCOORD,
96 Qt::Orientation ); 96 Qt::Orientation );
97 97
98 void drawToolBarHandle(QPainter *, const QRect &, Qt::Orientation, 98 void drawToolBarHandle(QPainter *, const QRect &, Qt::Orientation,
99 bool, const QColorGroup &, bool = FALSE ); 99 bool, const QColorGroup &, bool = FALSE );
100 100
101 QSize scrollBarExtent() const; 101 QSize scrollBarExtent() const;
102 int buttonDefaultIndicatorWidth() const; 102 int buttonDefaultIndicatorWidth() const;
103 int buttonMargin() const; 103 int buttonMargin() const;
104 int sliderThickness() const; 104 int sliderThickness() const;
105 int sliderLength() const; 105 int sliderLength() const;
106 int defaultFrameWidth() const; 106 int defaultFrameWidth() const;
107 107
108 int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); 108 int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& );
109 int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); 109 int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& );
110 void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, 110 void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi,
111 const QPalette& pal, 111 const QPalette& pal,
112 bool act, bool enabled, int x, int y, int w, int h); 112 bool act, bool enabled, int x, int y, int w, int h);
113 113
114protected: 114protected:
115 bool eventFilter(QObject *, QEvent *); 115 bool eventFilter(QObject *, QEvent *);
116}; 116};
117 117
118#endif 118#endif
119 119
120#endif // LIGHTSTYLE_H 120#endif // LIGHTSTYLE_H