-rw-r--r-- | library/alarmserver.h | 3 | ||||
-rw-r--r-- | library/applnk.h | 3 | ||||
-rw-r--r-- | library/backend/categories.cpp | 146 | ||||
-rw-r--r-- | library/backend/categories.h | 12 | ||||
-rw-r--r-- | library/backend/contact.cpp | 107 | ||||
-rw-r--r-- | library/backend/contact.h | 7 | ||||
-rw-r--r-- | library/backend/event.h | 5 | ||||
-rw-r--r-- | library/backend/recordfields.h | 46 | ||||
-rw-r--r-- | library/backend/task.h | 4 | ||||
-rw-r--r-- | library/backend/vobject.cpp | 9 | ||||
-rw-r--r-- | library/backend/vobject_p.h | 3 | ||||
-rw-r--r-- | library/categoryedit_p.cpp | 6 | ||||
-rw-r--r-- | library/categoryselect.cpp | 185 | ||||
-rw-r--r-- | library/categoryselect.h | 26 | ||||
-rw-r--r-- | library/config.cpp | 13 | ||||
-rw-r--r-- | library/custom-linux-sharp-g++.h | 147 | ||||
-rw-r--r-- | library/datebookmonth.h | 1 | ||||
-rw-r--r-- | library/fileselector.h | 32 | ||||
-rw-r--r-- | library/finddialog.cpp | 4 | ||||
-rw-r--r-- | library/finddialog.h | 11 | ||||
-rw-r--r-- | library/mimetype.cpp | 19 | ||||
-rw-r--r-- | library/mimetype.h | 5 | ||||
-rw-r--r-- | library/network.cpp | 19 | ||||
-rw-r--r-- | library/power.cpp | 2 | ||||
-rw-r--r-- | library/qcopmessage_qws.h | 99 | ||||
-rw-r--r-- | library/qpedecoration_qws.cpp | 9 |
26 files changed, 432 insertions, 491 deletions
diff --git a/library/alarmserver.h b/library/alarmserver.h index 665c3ae..f12a63d 100644 --- a/library/alarmserver.h +++ b/library/alarmserver.h | |||
@@ -30,2 +30,5 @@ public: | |||
30 | static void deleteAlarm (QDateTime when, const QCString& channel, const QCString& msg, int data=0); | 30 | static void deleteAlarm (QDateTime when, const QCString& channel, const QCString& msg, int data=0); |
31 | |||
32 | private: | ||
33 | friend int initApplication(int, char **); | ||
31 | static void initialize(); | 34 | static void initialize(); |
diff --git a/library/applnk.h b/library/applnk.h index c6f92a3..18e20b6 100644 --- a/library/applnk.h +++ b/library/applnk.h | |||
@@ -60,2 +60,4 @@ public: | |||
60 | 60 | ||
61 | bool linkFileKnown() const { return !mLinkFile.isNull(); } | ||
62 | |||
61 | void execute() const; | 63 | void execute() const; |
@@ -98,2 +100,3 @@ protected: | |||
98 | bool ensureLinkExists() const; | 100 | bool ensureLinkExists() const; |
101 | void storeLink() const; | ||
99 | }; | 102 | }; |
diff --git a/library/backend/categories.cpp b/library/backend/categories.cpp index 91331db..6e011c4 100644 --- a/library/backend/categories.cpp +++ b/library/backend/categories.cpp | |||
@@ -173,32 +173,2 @@ QStringList CategoryGroup::labels(const QArray<int> &catids ) const | |||
173 | 173 | ||
174 | QArray<int> CategoryGroup::ids( const QStringList &cats ) const | ||
175 | { | ||
176 | QArray<int> results; | ||
177 | |||
178 | for ( QStringList::ConstIterator catIt = cats.begin(); | ||
179 | catIt != cats.end(); ++catIt ) { | ||
180 | if ( *catIt == QObject::tr("All") || *catIt == QObject::tr("Unfiled") ) | ||
181 | continue; | ||
182 | int value = id( *catIt ); | ||
183 | if ( value != 0 ) { | ||
184 | int tmp = results.size(); | ||
185 | results.resize( tmp + 1 ); | ||
186 | results[ tmp ] = value; | ||
187 | } | ||
188 | } | ||
189 | |||
190 | return results; | ||
191 | } | ||
192 | |||
193 | QArray<int> CategoryGroup::ids() const | ||
194 | { | ||
195 | QArray<int> results( mIdLabelMap.count() ); | ||
196 | int i = 0; | ||
197 | for ( QMap<int, QString>::ConstIterator it = mIdLabelMap.begin(); | ||
198 | it != mIdLabelMap.end(); ++it ) | ||
199 | results[i++] = it.key(); | ||
200 | |||
201 | return results; | ||
202 | } | ||
203 | |||
204 | /*********************************************************** | 174 | /*********************************************************** |
@@ -345,2 +315,10 @@ QStringList Categories::labels( const QString &app, | |||
345 | QStringList cats; | 315 | QStringList cats; |
316 | |||
317 | if ( appIt != mAppCats.end() ) | ||
318 | cats += (*appIt).labels(); | ||
319 | else qDebug("Categories::labels didn't find app %s", app.latin1() ); | ||
320 | if ( includeGlobal ) | ||
321 | cats += mGlobalCats.labels(); | ||
322 | |||
323 | cats.sort(); | ||
346 | switch ( extra ) { | 324 | switch ( extra ) { |
@@ -358,10 +336,3 @@ QStringList Categories::labels( const QString &app, | |||
358 | } | 336 | } |
359 | if ( appIt != mAppCats.end() ) | 337 | |
360 | cats += (*appIt).labels(); | ||
361 | else qDebug("Categories::labels didn't find app %s", app.latin1() ); | ||
362 | if ( includeGlobal ) | ||
363 | cats += mGlobalCats.labels(); | ||
364 | // I don't think a sorted list is useful, the user might find prefer | ||
365 | // it in the original order. | ||
366 | // cats.sort(); | ||
367 | return cats; | 338 | return cats; |
@@ -380,10 +351,2 @@ QString Categories::label( const QString &app, int id ) const | |||
380 | 351 | ||
381 | QStringList Categories::labels( const QString & app, | ||
382 | const QArray<int> &catids ) const | ||
383 | { | ||
384 | QStringList strs = mGlobalCats.labels( catids ); | ||
385 | strs += mAppCats[app].labels( catids ); | ||
386 | return strs; | ||
387 | } | ||
388 | |||
389 | /** Returns a single string associated with the cat ids for display in | 352 | /** Returns a single string associated with the cat ids for display in |
@@ -419,29 +382,17 @@ QString Categories::displaySingle( const QString &app, | |||
419 | 382 | ||
420 | QArray<int> Categories::ids( const QString &app ) const | 383 | QArray<int> Categories::ids( const QString &app, const QStringList &labels) const |
421 | { | ||
422 | QArray<int> allIds = mGlobalCats.ids(); | ||
423 | QArray<int> appIds = mAppCats[app].ids(); | ||
424 | |||
425 | // we should make the guarentee that the ids are in the | ||
426 | // same order as the labels, (i.e. app cats then global) | ||
427 | // otherwise there is no point in having these two separate functions. | ||
428 | uint appSize = appIds.size(); | ||
429 | appIds.resize( appSize + allIds.size() ); | ||
430 | for ( uint i = appSize; i < appIds.size(); ++i ) | ||
431 | appIds[int(i)] = allIds[int(i - appSize)]; | ||
432 | |||
433 | return appIds; | ||
434 | } | ||
435 | |||
436 | QArray<int> Categories::ids( const QString &app, const QStringList &cats ) const | ||
437 | { | 384 | { |
438 | QArray<int> allIds = mGlobalCats.ids( cats ); | 385 | QArray<int> results; |
439 | QArray<int> appIds = mAppCats[app].ids( cats ); | 386 | QStringList::ConstIterator it; |
440 | 387 | int i; | |
441 | uint appSize = appIds.size(); | 388 | |
442 | appIds.resize( appSize + allIds.size() ); | 389 | for ( i=0, it=labels.begin(); it!=labels.end(); i++, ++it ) { |
443 | for ( uint i = appSize; i < appIds.size(); ++i ) | 390 | int value = id( app, *it ); |
444 | appIds[int(i)] = allIds[int(i - appSize)]; | 391 | if ( value != 0 ) { |
445 | 392 | int tmp = results.size(); | |
446 | return appIds; | 393 | results.resize( tmp + 1 ); |
394 | results[ tmp ] = value; | ||
395 | } | ||
396 | } | ||
397 | return results; | ||
447 | } | 398 | } |
@@ -541,6 +492,11 @@ bool Categories::exists( const QString &appname, | |||
541 | 492 | ||
493 | |||
542 | bool Categories::save( const QString &fname ) const | 494 | bool Categories::save( const QString &fname ) const |
543 | { | 495 | { |
544 | QFile file( fname ); | 496 | QString strNewFile = fname + ".new"; |
545 | if ( !file.open( IO_WriteOnly ) ) { | 497 | QFile f( strNewFile ); |
498 | QString out; | ||
499 | int total_written; | ||
500 | |||
501 | if ( !f.open( IO_WriteOnly|IO_Raw ) ) { | ||
546 | qWarning("Unable to write to %s", fname.latin1()); | 502 | qWarning("Unable to write to %s", fname.latin1()); |
@@ -549,11 +505,11 @@ bool Categories::save( const QString &fname ) const | |||
549 | 505 | ||
550 | QTextStream ts( &file ); | 506 | out = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; |
551 | ts << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; | 507 | out += "<!DOCTYPE CategoryList>\n"; |
552 | ts << "<!DOCTYPE CategoryList>" << endl; | 508 | |
509 | out += "<Categories>\n"; | ||
553 | 510 | ||
554 | ts << "<Categories>" << endl; | ||
555 | for ( QMap<int, QString>::ConstIterator git = mGlobalCats.idMap().begin(); | 511 | for ( QMap<int, QString>::ConstIterator git = mGlobalCats.idMap().begin(); |
556 | git != mGlobalCats.idMap().end(); ++git ) | 512 | git != mGlobalCats.idMap().end(); ++git ) |
557 | ts << "<Category id=\"" << git.key() << "\"" | 513 | out += "<Category id=\"" + QString::number(git.key()) + "\"" + |
558 | << " name=\"" << escapeString(*git) << "\" />" << endl; | 514 | " name=\"" + escapeString(*git) + "\" />\n"; |
559 | 515 | ||
@@ -565,9 +521,24 @@ bool Categories::save( const QString &fname ) const | |||
565 | appcatit != appcats.end(); ++appcatit ) | 521 | appcatit != appcats.end(); ++appcatit ) |
566 | ts << "<Category id=\"" << appcatit.key() << "\"" | 522 | out += "<Category id=\"" + QString::number(appcatit.key()) + "\"" + |
567 | << " app=\"" << escapeString(app) << "\"" | 523 | " app=\"" + escapeString(app) + "\"" + |
568 | << " name=\"" << escapeString(*appcatit) << "\" />" << endl; | 524 | " name=\"" + escapeString(*appcatit) + "\" />\n"; |
525 | } | ||
526 | out += "</Categories>\n"; | ||
527 | |||
528 | QCString cstr = out.utf8(); | ||
529 | total_written = f.writeBlock( cstr.data(), cstr.length() ); | ||
530 | if ( total_written != int(cstr.length()) ) { | ||
531 | f.close(); | ||
532 | QFile::remove( strNewFile ); | ||
533 | return FALSE; | ||
534 | } | ||
535 | f.close(); | ||
536 | |||
537 | if ( ::rename( strNewFile.latin1(), fname.latin1() ) < 0 ) { | ||
538 | qWarning( "problem renaming file %s to %s", | ||
539 | strNewFile.latin1(), fname.latin1()); | ||
540 | // remove the tmp file... | ||
541 | QFile::remove( strNewFile ); | ||
569 | } | 542 | } |
570 | ts << "</Categories>" << endl; | ||
571 | 543 | ||
572 | file.close(); | ||
573 | return TRUE; | 544 | return TRUE; |
@@ -580,2 +551,7 @@ bool Categories::load( const QString &fname ) | |||
580 | qWarning("Unable to open %s", fname.latin1()); | 551 | qWarning("Unable to open %s", fname.latin1()); |
552 | |||
553 | addGlobalCategory(tr("Business")); | ||
554 | addGlobalCategory(tr("Personal")); | ||
555 | save(fname); | ||
556 | |||
581 | return FALSE; | 557 | return FALSE; |
diff --git a/library/backend/categories.h b/library/backend/categories.h index 82d765b..ba65ee3 100644 --- a/library/backend/categories.h +++ b/library/backend/categories.h | |||
@@ -73,4 +73,3 @@ public: | |||
73 | QStringList labels() const; | 73 | QStringList labels() const; |
74 | QArray<int> ids( const QStringList &cats ) const; | 74 | |
75 | QArray<int> ids() const; | ||
76 | QStringList labels( const QArray<int> &catids ) const; | 75 | QStringList labels( const QArray<int> &catids ) const; |
@@ -132,5 +131,4 @@ public: | |||
132 | 131 | ||
133 | QArray<int> ids( const QString &app ) const; | 132 | QArray<int> ids( const QString &app, const QStringList &labels) const; |
134 | QArray<int> ids( const QString &app, | 133 | |
135 | const QStringList &cats ) const; | ||
136 | /** Returns the id associated with the app */ | 134 | /** Returns the id associated with the app */ |
@@ -155,6 +153,2 @@ public: | |||
155 | 153 | ||
156 | /** Returns the labels of the categories associated with the uids */ | ||
157 | QStringList labels( const QString & app, | ||
158 | const QArray<int> &catids ) const; | ||
159 | |||
160 | enum DisplaySingle { ShowMulti, ShowAll, ShowFirst }; | 154 | enum DisplaySingle { ShowMulti, ShowAll, ShowFirst }; |
diff --git a/library/backend/contact.cpp b/library/backend/contact.cpp index a5f10ab..b10b19a 100644 --- a/library/backend/contact.cpp +++ b/library/backend/contact.cpp | |||
@@ -20,5 +20,7 @@ | |||
20 | 20 | ||
21 | #define QTOPIA_INTERNAL_CONTACT_MRE | ||
22 | |||
21 | #include "contact.h" | 23 | #include "contact.h" |
22 | #include "vobject_p.h" | 24 | #include "vobject_p.h" |
23 | #include "qfiledirect_p.h" | 25 | #include "qfiledirect_p.h" |
24 | 26 | ||
@@ -388,2 +390,9 @@ QStringList Contact::fields() | |||
388 | 390 | ||
391 | list.append( "JobTitle" ); | ||
392 | list.append( "Department" ); | ||
393 | list.append( "Company" ); | ||
394 | list.append( "BusinessPhone" ); | ||
395 | list.append( "BusinessFax" ); | ||
396 | list.append( "BusinessMobile" ); | ||
397 | |||
389 | list.append( "DefaultEmail" ); | 398 | list.append( "DefaultEmail" ); |
@@ -391,7 +400,2 @@ QStringList Contact::fields() | |||
391 | 400 | ||
392 | list.append( "HomeStreet" ); | ||
393 | list.append( "HomeCity" ); | ||
394 | list.append( "HomeState" ); | ||
395 | list.append( "HomeZip" ); | ||
396 | list.append( "HomeCountry" ); | ||
397 | list.append( "HomePhone" ); | 401 | list.append( "HomePhone" ); |
@@ -399,5 +403,3 @@ QStringList Contact::fields() | |||
399 | list.append( "HomeMobile" ); | 403 | list.append( "HomeMobile" ); |
400 | list.append( "HomeWebPage" ); | ||
401 | 404 | ||
402 | list.append( "Company" ); | ||
403 | list.append( "BusinessStreet" ); | 405 | list.append( "BusinessStreet" ); |
@@ -407,10 +409,6 @@ QStringList Contact::fields() | |||
407 | list.append( "BusinessCountry" ); | 409 | list.append( "BusinessCountry" ); |
410 | list.append( "BusinessPager" ); | ||
408 | list.append( "BusinessWebPage" ); | 411 | list.append( "BusinessWebPage" ); |
409 | list.append( "JobTitle" ); | 412 | |
410 | list.append( "Department" ); | ||
411 | list.append( "Office" ); | 413 | list.append( "Office" ); |
412 | list.append( "BusinessPhone" ); | ||
413 | list.append( "BusinessFax" ); | ||
414 | list.append( "BusinessMobile" ); | ||
415 | list.append( "BusinessPager" ); | ||
416 | list.append( "Profession" ); | 414 | list.append( "Profession" ); |
@@ -419,2 +417,9 @@ QStringList Contact::fields() | |||
419 | 417 | ||
418 | list.append( "HomeStreet" ); | ||
419 | list.append( "HomeCity" ); | ||
420 | list.append( "HomeState" ); | ||
421 | list.append( "HomeZip" ); | ||
422 | list.append( "HomeCountry" ); | ||
423 | list.append( "HomeWebPage" ); | ||
424 | |||
420 | list.append( "Spouse" ); | 425 | list.append( "Spouse" ); |
@@ -424,5 +429,6 @@ QStringList Contact::fields() | |||
424 | list.append( "Nickname" ); | 429 | list.append( "Nickname" ); |
425 | |||
426 | list.append( "Children" ); | 430 | list.append( "Children" ); |
431 | |||
427 | list.append( "Notes" ); | 432 | list.append( "Notes" ); |
433 | list.append( "Groups" ); | ||
428 | 434 | ||
@@ -442,2 +448,9 @@ QStringList Contact::trfields() | |||
442 | 448 | ||
449 | list.append( QObject::tr( "Job Title" ) ); | ||
450 | list.append( QObject::tr( "Department" ) ); | ||
451 | list.append( QObject::tr( "Company" ) ); | ||
452 | list.append( QObject::tr( "Business Phone" ) ); | ||
453 | list.append( QObject::tr( "Business Fax" ) ); | ||
454 | list.append( QObject::tr( "Business Mobile" ) ); | ||
455 | |||
443 | list.append( QObject::tr( "Default Email" ) ); | 456 | list.append( QObject::tr( "Default Email" ) ); |
@@ -445,7 +458,2 @@ QStringList Contact::trfields() | |||
445 | 458 | ||
446 | list.append( QObject::tr( "Home Street" ) ); | ||
447 | list.append( QObject::tr( "Home City" ) ); | ||
448 | list.append( QObject::tr( "Home State" ) ); | ||
449 | list.append( QObject::tr( "Home Zip" ) ); | ||
450 | list.append( QObject::tr( "Home Country" ) ); | ||
451 | list.append( QObject::tr( "Home Phone" ) ); | 459 | list.append( QObject::tr( "Home Phone" ) ); |
@@ -453,5 +461,3 @@ QStringList Contact::trfields() | |||
453 | list.append( QObject::tr( "Home Mobile" ) ); | 461 | list.append( QObject::tr( "Home Mobile" ) ); |
454 | list.append( QObject::tr( "Home Web Page" ) ); | ||
455 | 462 | ||
456 | list.append( QObject::tr( "Company" ) ); | ||
457 | list.append( QObject::tr( "Business Street" ) ); | 463 | list.append( QObject::tr( "Business Street" ) ); |
@@ -461,10 +467,6 @@ QStringList Contact::trfields() | |||
461 | list.append( QObject::tr( "Business Country" ) ); | 467 | list.append( QObject::tr( "Business Country" ) ); |
468 | list.append( QObject::tr( "Business Pager" ) ); | ||
462 | list.append( QObject::tr( "Business WebPage" ) ); | 469 | list.append( QObject::tr( "Business WebPage" ) ); |
463 | list.append( QObject::tr( "Job Title" ) ); | 470 | |
464 | list.append( QObject::tr( "Department" ) ); | ||
465 | list.append( QObject::tr( "Office" ) ); | 471 | list.append( QObject::tr( "Office" ) ); |
466 | list.append( QObject::tr( "Business Phone" ) ); | ||
467 | list.append( QObject::tr( "Business Fax" ) ); | ||
468 | list.append( QObject::tr( "Business Mobile" ) ); | ||
469 | list.append( QObject::tr( "Business Pager" ) ); | ||
470 | list.append( QObject::tr( "Profession" ) ); | 472 | list.append( QObject::tr( "Profession" ) ); |
@@ -473,2 +475,9 @@ QStringList Contact::trfields() | |||
473 | 475 | ||
476 | list.append( QObject::tr( "Home Street" ) ); | ||
477 | list.append( QObject::tr( "Home City" ) ); | ||
478 | list.append( QObject::tr( "Home State" ) ); | ||
479 | list.append( QObject::tr( "Home Zip" ) ); | ||
480 | list.append( QObject::tr( "Home Country" ) ); | ||
481 | list.append( QObject::tr( "Home Web Page" ) ); | ||
482 | |||
474 | list.append( QObject::tr( "Spouse" ) ); | 483 | list.append( QObject::tr( "Spouse" ) ); |
@@ -478,5 +487,6 @@ QStringList Contact::trfields() | |||
478 | list.append( QObject::tr( "Nickname" ) ); | 487 | list.append( QObject::tr( "Nickname" ) ); |
479 | |||
480 | list.append( QObject::tr( "Children" ) ); | 488 | list.append( QObject::tr( "Children" ) ); |
489 | |||
481 | list.append( QObject::tr( "Notes" ) ); | 490 | list.append( QObject::tr( "Notes" ) ); |
491 | list.append( QObject::tr( "Groups" ) ); | ||
482 | 492 | ||
@@ -631,3 +641,3 @@ static Contact parseVObject( VObject *obj ) | |||
631 | VObject *o = nextVObject( &nit ); | 641 | VObject *o = nextVObject( &nit ); |
632 | QCString name = vObjectName( o ); | 642 | QCString name = vObjectTypeInfo( o ); |
633 | QString value = vObjectStringZValue( o ); | 643 | QString value = vObjectStringZValue( o ); |
@@ -704,3 +714,3 @@ static Contact parseVObject( VObject *obj ) | |||
704 | VObject *o = nextVObject( &nit ); | 714 | VObject *o = nextVObject( &nit ); |
705 | QCString name = vObjectName( o ); | 715 | QCString name = vObjectTypeInfo( o ); |
706 | if ( name == VCHomeProp ) | 716 | if ( name == VCHomeProp ) |
@@ -751,3 +761,3 @@ static Contact parseVObject( VObject *obj ) | |||
751 | VObject *o = nextVObject( &nit ); | 761 | VObject *o = nextVObject( &nit ); |
752 | QCString name = vObjectName( o ); | 762 | QCString name = vObjectTypeInfo( o ); |
753 | if ( name != VCInternetProp && name != VCHomeProp && | 763 | if ( name != VCInternetProp && name != VCHomeProp && |
@@ -774,3 +784,3 @@ static Contact parseVObject( VObject *obj ) | |||
774 | VObject *o = nextVObject( &nit ); | 784 | VObject *o = nextVObject( &nit ); |
775 | QCString name = vObjectName( o ); | 785 | QCString name = vObjectTypeInfo( o ); |
776 | if ( name == VCHomeProp ) | 786 | if ( name == VCHomeProp ) |
@@ -844,8 +854,8 @@ static Contact parseVObject( VObject *obj ) | |||
844 | void Contact::writeVCard( const QString &filename, const QValueList<Contact> &contacts) | 854 | void Contact::writeVCard( const QString &filename, const QValueList<Contact> &contacts) |
845 | { | 855 | { |
846 | QFileDirect f( filename.utf8().data() ); | 856 | QFileDirect f( filename.utf8().data() ); |
847 | if ( !f.open( IO_WriteOnly ) ) { | 857 | if ( !f.open( IO_WriteOnly ) ) { |
848 | qWarning("Unable to open vcard write"); | 858 | qWarning("Unable to open vcard write"); |
849 | return; | 859 | return; |
850 | } | 860 | } |
851 | 861 | ||
@@ -861,8 +871,8 @@ void Contact::writeVCard( const QString &filename, const QValueList<Contact> &co | |||
861 | void Contact::writeVCard( const QString &filename, const Contact &contact) | 871 | void Contact::writeVCard( const QString &filename, const Contact &contact) |
862 | { | 872 | { |
863 | QFileDirect f( filename.utf8().data() ); | 873 | QFileDirect f( filename.utf8().data() ); |
864 | if ( !f.open( IO_WriteOnly ) ) { | 874 | if ( !f.open( IO_WriteOnly ) ) { |
865 | qWarning("Unable to open vcard write"); | 875 | qWarning("Unable to open vcard write"); |
866 | return; | 876 | return; |
867 | } | 877 | } |
868 | 878 | ||
@@ -896,2 +906,7 @@ QValueList<Contact> Contact::readVCard( const QString &filename ) | |||
896 | 906 | ||
907 | bool Contact::match( const QString ®exp ) const | ||
908 | { | ||
909 | return match(QRegExp(regexp)); | ||
910 | } | ||
911 | |||
897 | bool Contact::match( const QRegExp &r ) const | 912 | bool Contact::match( const QRegExp &r ) const |
diff --git a/library/backend/contact.h b/library/backend/contact.h index 6abdab6..a74cbbe 100644 --- a/library/backend/contact.h +++ b/library/backend/contact.h | |||
@@ -103,3 +103,8 @@ public: | |||
103 | 103 | ||
104 | bool match( const QRegExp &r ) const; | 104 | bool match( const QString ®exp ) const; |
105 | |||
106 | // DON'T ATTEMPT TO USE THIS | ||
107 | #ifdef QTOPIA_INTERNAL_CONTACT_MRE | ||
108 | bool match( const QRegExp ®exp ) const; | ||
109 | #endif | ||
105 | 110 | ||
diff --git a/library/backend/event.h b/library/backend/event.h index 0ebe9ea..277aadd 100644 --- a/library/backend/event.h +++ b/library/backend/event.h | |||
@@ -142,3 +142,8 @@ private: | |||
142 | QString note; | 142 | QString note; |
143 | // ADDITION | ||
144 | int mRid;// Recode ID | ||
145 | int mRinfo;// Recode Info | ||
146 | // | ||
143 | EventPrivate *d; | 147 | EventPrivate *d; |
148 | |||
144 | }; | 149 | }; |
diff --git a/library/backend/recordfields.h b/library/backend/recordfields.h index 3cddde2..4196c8b 100644 --- a/library/backend/recordfields.h +++ b/library/backend/recordfields.h | |||
@@ -33,3 +33,5 @@ namespace Qtopia | |||
33 | AddressCategory = CATEGORY_ID, | 33 | AddressCategory = CATEGORY_ID, |
34 | 34 | ||
35 | // NOTE: Order of fields dependency in backend/contact.cpp | ||
36 | |||
35 | Title, | 37 | Title, |
@@ -41,2 +43,9 @@ namespace Qtopia | |||
41 | 43 | ||
44 | JobTitle, | ||
45 | Department, | ||
46 | Company, | ||
47 | BusinessPhone, | ||
48 | BusinessFax, | ||
49 | BusinessMobile, | ||
50 | |||
42 | 51 | ||
@@ -45,8 +54,2 @@ namespace Qtopia | |||
45 | 54 | ||
46 | // home | ||
47 | HomeStreet, | ||
48 | HomeCity, | ||
49 | HomeState, | ||
50 | HomeZip, | ||
51 | HomeCountry, | ||
52 | HomePhone, | 55 | HomePhone, |
@@ -54,6 +57,4 @@ namespace Qtopia | |||
54 | HomeMobile, | 57 | HomeMobile, |
55 | HomeWebPage, | ||
56 | 58 | ||
57 | // business | 59 | // business |
58 | Company, | ||
59 | BusinessStreet, | 60 | BusinessStreet, |
@@ -63,10 +64,6 @@ namespace Qtopia | |||
63 | BusinessCountry, | 64 | BusinessCountry, |
65 | BusinessPager, | ||
64 | BusinessWebPage, | 66 | BusinessWebPage, |
65 | JobTitle, | 67 | |
66 | Department, | ||
67 | Office, | 68 | Office, |
68 | BusinessPhone, | ||
69 | BusinessFax, | ||
70 | BusinessMobile, | ||
71 | BusinessPager, | ||
72 | Profession, | 69 | Profession, |
@@ -75,2 +72,10 @@ namespace Qtopia | |||
75 | 72 | ||
73 | // home | ||
74 | HomeStreet, | ||
75 | HomeCity, | ||
76 | HomeState, | ||
77 | HomeZip, | ||
78 | HomeCountry, | ||
79 | HomeWebPage, | ||
80 | |||
76 | //personal | 81 | //personal |
@@ -86,2 +91,5 @@ namespace Qtopia | |||
86 | Groups | 91 | Groups |
92 | |||
93 | ,rid, | ||
94 | rinfo | ||
87 | }; | 95 | }; |
@@ -97,3 +105,6 @@ namespace Qtopia | |||
97 | Priority, | 105 | Priority, |
98 | Date | 106 | Date, |
107 | |||
108 | TaskRid, | ||
109 | TaskRinfo | ||
99 | }; | 110 | }; |
@@ -130,2 +141,5 @@ namespace Qtopia | |||
130 | RepeatPatternEndDate, | 141 | RepeatPatternEndDate, |
142 | |||
143 | DateBookRid, | ||
144 | DateBookRinfo | ||
131 | }; | 145 | }; |
diff --git a/library/backend/task.h b/library/backend/task.h index ffe26b0..6f383b8 100644 --- a/library/backend/task.h +++ b/library/backend/task.h | |||
@@ -74,2 +74,6 @@ private: | |||
74 | TaskPrivate *d; | 74 | TaskPrivate *d; |
75 | // ADDITION | ||
76 | int recordId; | ||
77 | int recordInfo; | ||
78 | // | ||
75 | }; | 79 | }; |
diff --git a/library/backend/vobject.cpp b/library/backend/vobject.cpp index af112a7..9c2ba3b 100644 --- a/library/backend/vobject.cpp +++ b/library/backend/vobject.cpp | |||
@@ -1209,2 +1209,11 @@ DLLEXPORT(void) writeVObjectsToFile(char *fname, VObject *list) | |||
1209 | 1209 | ||
1210 | DLLEXPORT(const char *) vObjectTypeInfo(VObject *o) | ||
1211 | { | ||
1212 | const char *type = vObjectName( o ); | ||
1213 | if ( strcmp( type, "TYPE" ) == 0 ) | ||
1214 | type = vObjectStringZValue( o ); | ||
1215 | return type; | ||
1216 | } | ||
1217 | |||
1218 | |||
1210 | // end of source file vobject.c | 1219 | // end of source file vobject.c |
diff --git a/library/backend/vobject_p.h b/library/backend/vobject_p.h index b6a2c0a..a0d921e 100644 --- a/library/backend/vobject_p.h +++ b/library/backend/vobject_p.h | |||
@@ -398,2 +398,5 @@ extern VObject* Parse_MIME_FromFile(FILE *file); | |||
398 | 398 | ||
399 | extern DLLEXPORT(const char *) vObjectTypeInfo(VObject *o); | ||
400 | |||
401 | |||
399 | #endif /* __VOBJECT_H__ */ | 402 | #endif /* __VOBJECT_H__ */ |
diff --git a/library/categoryedit_p.cpp b/library/categoryedit_p.cpp index 06e5fec..07e707e 100644 --- a/library/categoryedit_p.cpp +++ b/library/categoryedit_p.cpp | |||
@@ -77,5 +77,7 @@ void CategoryEdit::setCategories( const QArray<int> &recCats, | |||
77 | d->mVisible = visibleName; | 77 | d->mVisible = visibleName; |
78 | QArray<int> cats = d->mCategories.ids( d->mStrApp ); | 78 | |
79 | lvView->clear(); | ||
80 | QStringList appCats = d->mCategories.labels( d->mStrApp ); | 79 | QStringList appCats = d->mCategories.labels( d->mStrApp ); |
80 | QArray<int> cats = d->mCategories.ids(d->mStrApp, appCats); | ||
81 | lvView->clear(); | ||
82 | |||
81 | QStringList::ConstIterator it; | 83 | QStringList::ConstIterator it; |
diff --git a/library/categoryselect.cpp b/library/categoryselect.cpp index dc5d1fa..21b3f91 100644 --- a/library/categoryselect.cpp +++ b/library/categoryselect.cpp | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <qpe/categories.h> | 21 | #include <qpe/categories.h> |
22 | #include <qpe/palmtoprecord.h> | ||
22 | 23 | ||
23 | #include <qdialog.h> | 24 | #include <qmessagebox.h> |
24 | #include <qlayout.h> | 25 | #include <qlayout.h> |
25 | #include <qtoolbutton.h> | 26 | #include <qtoolbutton.h> |
27 | #include <qfile.h> | ||
26 | 28 | ||
@@ -29,2 +31,10 @@ | |||
29 | 31 | ||
32 | #include <stdlib.h> | ||
33 | |||
34 | static QString categoryEdittingFileName() | ||
35 | { | ||
36 | QString str = getenv("HOME"); | ||
37 | str +="/.cateditting"; | ||
38 | return str; | ||
39 | } | ||
30 | 40 | ||
@@ -59,3 +69,3 @@ public: | |||
59 | 69 | ||
60 | CategoryCombo::CategoryCombo( QWidget *parent, const char *name ) | 70 | CategoryCombo::CategoryCombo( QWidget *parent, const char *name , int width) |
61 | : QComboBox( parent, name ) | 71 | : QComboBox( parent, name ) |
@@ -63,2 +73,4 @@ CategoryCombo::CategoryCombo( QWidget *parent, const char *name ) | |||
63 | d = new CategoryComboPrivate(this); | 73 | d = new CategoryComboPrivate(this); |
74 | if (width) | ||
75 | setFixedWidth(width); | ||
64 | } | 76 | } |
@@ -80,2 +92,5 @@ void CategoryCombo::initCombo( const QArray<int> &recCats, | |||
80 | 92 | ||
93 | QObject::disconnect( this, SIGNAL(activated(int)), | ||
94 | this, SLOT(slotValueChanged(int)) ); | ||
95 | |||
81 | QObject::connect( this, SIGNAL(activated(int)), | 96 | QObject::connect( this, SIGNAL(activated(int)), |
@@ -84,3 +99,4 @@ void CategoryCombo::initCombo( const QArray<int> &recCats, | |||
84 | slApp = d->mCat.labels( d->mStrAppName, TRUE, Categories::UnfiledLabel ); | 99 | slApp = d->mCat.labels( d->mStrAppName, TRUE, Categories::UnfiledLabel ); |
85 | d->mAppCats = d->mCat.ids( d->mStrAppName ); | 100 | |
101 | d->mAppCats = d->mCat.ids( d->mStrAppName, slApp); | ||
86 | 102 | ||
@@ -96,5 +112,3 @@ void CategoryCombo::initCombo( const QArray<int> &recCats, | |||
96 | it = slApp.begin(); | 112 | it = slApp.begin(); |
97 | insertItem( *it ); | 113 | for ( j = 0; j< (int)(slApp.count()-1); ++it, j++ ) { |
98 | ++it; | ||
99 | for ( j = 0; it != slApp.end(); ++it, j++ ) { | ||
100 | // grr... we have to go through and compare... | 114 | // grr... we have to go through and compare... |
@@ -113,2 +127,3 @@ void CategoryCombo::initCombo( const QArray<int> &recCats, | |||
113 | } | 127 | } |
128 | insertItem( *it ); | ||
114 | } else | 129 | } else |
@@ -119,3 +134,95 @@ void CategoryCombo::initCombo( const QArray<int> &recCats, | |||
119 | if ( d->mAppCats[i] == recCats[0] ) { | 134 | if ( d->mAppCats[i] == recCats[0] ) { |
120 | setCurrentItem( i + 1 ); | 135 | setCurrentItem( i ); |
136 | break; | ||
137 | } | ||
138 | } | ||
139 | } else | ||
140 | { | ||
141 | setCurrentItem( slApp.count()-1 ); // unfiled | ||
142 | } | ||
143 | } | ||
144 | |||
145 | // this is a new function by SHARP instead of initCombo() | ||
146 | QArray<int> CategoryCombo::initComboWithRefind( const QArray<int> &recCats, | ||
147 | const QString &appName) | ||
148 | { | ||
149 | QString visibleName = appName; | ||
150 | d->mStrAppName = appName; | ||
151 | d->mStrVisibleName = visibleName; | ||
152 | clear(); | ||
153 | QStringList slApp; | ||
154 | QArray<int> results; | ||
155 | |||
156 | QObject::disconnect( this, SIGNAL(activated(int)), | ||
157 | this, SLOT(slotValueChanged(int)) ); | ||
158 | |||
159 | QObject::connect( this, SIGNAL(activated(int)), | ||
160 | this, SLOT(slotValueChanged(int)) ); | ||
161 | bool loadOk = d->mCat.load( categoryFileName() ); | ||
162 | slApp = d->mCat.labels( d->mStrAppName, TRUE, Categories::UnfiledLabel ); | ||
163 | |||
164 | d->mAppCats = d->mCat.ids( d->mStrAppName, slApp); | ||
165 | |||
166 | // addition part | ||
167 | // make new recCats | ||
168 | if (loadOk){ | ||
169 | int i,j; | ||
170 | int value; | ||
171 | int rCount = recCats.count(); | ||
172 | int mCount = d->mAppCats.count(); | ||
173 | |||
174 | for (i=0; i<rCount; i++){ | ||
175 | value = 0; | ||
176 | for (j=0; j<mCount; j++){ | ||
177 | if (recCats[i] == d->mAppCats[j]){ | ||
178 | value = recCats[i]; | ||
179 | break; | ||
180 | } | ||
181 | } | ||
182 | if (value != 0){ | ||
183 | int tmp = results.size(); | ||
184 | results.resize( tmp + 1 ); | ||
185 | results[ tmp ] = value; | ||
186 | } | ||
187 | } | ||
188 | } | ||
189 | else{ | ||
190 | results = recCats; | ||
191 | } | ||
192 | // addition end | ||
193 | |||
194 | int i, | ||
195 | j, | ||
196 | saveMe, | ||
197 | recCount; | ||
198 | QStringList::Iterator it; | ||
199 | // now add in all the items... | ||
200 | recCount = results.count(); | ||
201 | saveMe = -1; | ||
202 | if ( recCount > 1 && loadOk ) { | ||
203 | it = slApp.begin(); | ||
204 | for ( j = 0; j< (int)(slApp.count()-1); ++it, j++ ) { | ||
205 | |||
206 | // grr... we have to go through and compare... | ||
207 | if ( j < int(d->mAppCats.size()) ) { | ||
208 | for ( i = 0; i < recCount; i++ ) { | ||
209 | if ( results[i] == d->mAppCats[j] ) { | ||
210 | (*it).append( tr(" (Multi.)") ); | ||
211 | if ( saveMe < 0 ) | ||
212 | saveMe = j; | ||
213 | // no need to continue through the list. | ||
214 | break; | ||
215 | } | ||
216 | } | ||
217 | } | ||
218 | insertItem( *it ); | ||
219 | } | ||
220 | insertItem( *it ); | ||
221 | } else | ||
222 | insertStringList( slApp ); | ||
223 | |||
224 | if ( recCount > 0 && loadOk ) { | ||
225 | for ( i = 0; i < int(d->mAppCats.size()); i++ ) { | ||
226 | if ( d->mAppCats[i] == results[0] ) { | ||
227 | setCurrentItem( i ); | ||
121 | break; | 228 | break; |
@@ -124,7 +231,13 @@ void CategoryCombo::initCombo( const QArray<int> &recCats, | |||
124 | } else | 231 | } else |
125 | setCurrentItem( 0 ); // unfiled | 232 | { |
233 | setCurrentItem( slApp.count()-1 ); // unfiled | ||
234 | } | ||
235 | /* | ||
126 | QObject::connect( this, SIGNAL(activated(int)), | 236 | QObject::connect( this, SIGNAL(activated(int)), |
127 | this, SLOT(slotValueChanged(int)) ); | 237 | this, SLOT(slotValueChanged(int)) ); |
238 | */ | ||
239 | return results; | ||
128 | } | 240 | } |
129 | 241 | ||
242 | |||
130 | CategoryCombo::~CategoryCombo() | 243 | CategoryCombo::~CategoryCombo() |
@@ -138,4 +251,4 @@ int CategoryCombo::currentCategory() const | |||
138 | returnMe = currentItem(); | 251 | returnMe = currentItem(); |
139 | // unfiled is now 0... | 252 | |
140 | if ( returnMe == 0 ) | 253 | if ( returnMe == (int)d->mAppCats.count() ) |
141 | returnMe = -1; | 254 | returnMe = -1; |
@@ -144,3 +257,3 @@ int CategoryCombo::currentCategory() const | |||
144 | else | 257 | else |
145 | returnMe = d->mAppCats[returnMe - 1]; | 258 | returnMe = d->mAppCats[returnMe]; |
146 | return returnMe; | 259 | return returnMe; |
@@ -175,3 +288,3 @@ void CategoryCombo::slotValueChanged( int ) | |||
175 | 288 | ||
176 | CategorySelect::CategorySelect( QWidget *parent, const char *name ) | 289 | CategorySelect::CategorySelect( QWidget *parent, const char *name,int width) |
177 | : QHBox( parent, name ), | 290 | : QHBox( parent, name ), |
@@ -182,3 +295,3 @@ CategorySelect::CategorySelect( QWidget *parent, const char *name ) | |||
182 | d = new CategorySelectPrivate(); | 295 | d = new CategorySelectPrivate(); |
183 | init(); | 296 | init(width); |
184 | } | 297 | } |
@@ -187,3 +300,3 @@ CategorySelect::CategorySelect( const QArray<int> &vl, | |||
187 | const QString &appName, QWidget *parent, | 300 | const QString &appName, QWidget *parent, |
188 | const char *name ) | 301 | const char *name ,int width) |
189 | : QHBox( parent, name ) | 302 | : QHBox( parent, name ) |
@@ -191,3 +304,5 @@ CategorySelect::CategorySelect( const QArray<int> &vl, | |||
191 | d = new CategorySelectPrivate( vl ); | 304 | d = new CategorySelectPrivate( vl ); |
192 | init(); | 305 | |
306 | init(width); | ||
307 | |||
193 | setCategories( vl, appName, appName ); | 308 | setCategories( vl, appName, appName ); |
@@ -198,3 +313,3 @@ CategorySelect::CategorySelect( const QArray<int> &vl, | |||
198 | const QString &visibleName, | 313 | const QString &visibleName, |
199 | QWidget *parent, const char *name ) | 314 | QWidget *parent, const char *name , int width) |
200 | : QHBox( parent, name ) | 315 | : QHBox( parent, name ) |
@@ -202,3 +317,3 @@ CategorySelect::CategorySelect( const QArray<int> &vl, | |||
202 | d = new CategorySelectPrivate( vl ); | 317 | d = new CategorySelectPrivate( vl ); |
203 | init(); | 318 | init(width); |
204 | setCategories( vl, appName, visibleName ); | 319 | setCategories( vl, appName, visibleName ); |
@@ -213,2 +328,13 @@ void CategorySelect::slotDialog() | |||
213 | { | 328 | { |
329 | if (QFile::exists( categoryEdittingFileName() )){ | ||
330 | QMessageBox::warning(this,tr("Error"), | ||
331 | tr("Sorry, another application is\nediting categories.") ); | ||
332 | return; | ||
333 | } | ||
334 | |||
335 | QFile f( categoryEdittingFileName() ); | ||
336 | if ( !f.open( IO_WriteOnly) ){ | ||
337 | return; | ||
338 | } | ||
339 | |||
214 | QDialog editDlg( this, 0, TRUE ); | 340 | QDialog editDlg( this, 0, TRUE ); |
@@ -228,2 +354,5 @@ void CategorySelect::slotDialog() | |||
228 | } | 354 | } |
355 | |||
356 | f.close(); | ||
357 | QFile::remove( categoryEdittingFileName() ); | ||
229 | } | 358 | } |
@@ -249,9 +378,9 @@ void CategorySelect::slotNewCat( int newUid ) | |||
249 | 378 | ||
250 | void CategorySelect::setCategories( const QArray<int> &rec, | 379 | QString CategorySelect::setCategories( const QArray<int> &rec, |
251 | const QString &appName ) | 380 | const QString &appName ) |
252 | { | 381 | { |
253 | setCategories( rec, appName, appName ); | 382 | return setCategories( rec, appName, appName ); |
254 | } | 383 | } |
255 | 384 | ||
256 | void CategorySelect::setCategories( const QArray<int> &rec, | 385 | QString CategorySelect::setCategories( const QArray<int> &rec, |
257 | const QString &appName, | 386 | const QString &appName, |
@@ -259,11 +388,12 @@ void CategorySelect::setCategories( const QArray<int> &rec, | |||
259 | { | 388 | { |
260 | d->mRec = rec; | ||
261 | d->mVisibleName = visibleName; | 389 | d->mVisibleName = visibleName; |
262 | mStrAppName = appName; | 390 | mStrAppName = appName; |
263 | cmbCat->initCombo( rec, appName ); | 391 | d->mRec = cmbCat->initComboWithRefind( rec, appName ); |
392 | return Qtopia::Record::idsToString(d->mRec); | ||
264 | } | 393 | } |
265 | 394 | ||
266 | void CategorySelect::init() | 395 | void CategorySelect::init(int width) |
267 | { | 396 | { |
268 | cmbCat = new CategoryCombo( this ); | 397 | cmbCat = new CategoryCombo( this, 0, width); |
398 | |||
269 | QObject::connect( cmbCat, SIGNAL(sigCatChanged(int)), | 399 | QObject::connect( cmbCat, SIGNAL(sigCatChanged(int)), |
@@ -315 +445,8 @@ void CategorySelect::setAllCategories( bool add ) | |||
315 | } | 445 | } |
446 | |||
447 | // 01.12.21 added | ||
448 | void CategorySelect::setFixedWidth(int width) | ||
449 | { | ||
450 | width -= cmdCat->width(); | ||
451 | cmbCat->setFixedWidth(width); | ||
452 | } | ||
diff --git a/library/categoryselect.h b/library/categoryselect.h index 5c6b565..7a8e491 100644 --- a/library/categoryselect.h +++ b/library/categoryselect.h | |||
@@ -38,3 +38,4 @@ class CategoryCombo : public QComboBox | |||
38 | public: | 38 | public: |
39 | CategoryCombo( QWidget *parent, const char* name = 0 ); | 39 | CategoryCombo( QWidget *parent, const char* name = 0, int width=0); |
40 | |||
40 | ~CategoryCombo(); | 41 | ~CategoryCombo(); |
@@ -48,2 +49,4 @@ public: | |||
48 | 49 | ||
50 | QArray<int> initComboWithRefind( const QArray<int> &recCats, const QString &appName ); | ||
51 | |||
49 | signals: | 52 | signals: |
@@ -67,9 +70,12 @@ public: | |||
67 | // we need two constructors, the first gets around designer limitations | 70 | // we need two constructors, the first gets around designer limitations |
68 | CategorySelect( QWidget *parent = 0, const char *name = 0 ); | 71 | |
72 | CategorySelect( QWidget *parent = 0, const char *name = 0, int width = 0 ); | ||
69 | 73 | ||
70 | CategorySelect( const QArray<int> &vlCats, const QString &appName, | 74 | CategorySelect( const QArray<int> &vlCats, const QString &appName, |
71 | QWidget *parent = 0, const char *name = 0 ); | 75 | QWidget *parent = 0, const char *name = 0, |
76 | int width = 0); | ||
72 | CategorySelect( const QArray<int> &vlCats, const QString &appName, | 77 | CategorySelect( const QArray<int> &vlCats, const QString &appName, |
73 | const QString &visibleName, QWidget *parent = 0, | 78 | const QString &visibleName, QWidget *parent = 0, |
74 | const char *name = 0 ); | 79 | const char *name = 0 , int width = 0); |
80 | |||
75 | ~CategorySelect(); | 81 | ~CategorySelect(); |
@@ -82,7 +88,6 @@ public: | |||
82 | // however this call is depreciated... | 88 | // however this call is depreciated... |
83 | void setCategories( const QArray<int> &vlCats, const QString &appName ); | ||
84 | // use this one instead (for translating ) | ||
85 | void setCategories( const QArray<int> &vlCats, const QString &appName, | ||
86 | const QString &visibleName ); | ||
87 | 89 | ||
90 | QString setCategories( const QArray<int> &vlCats, const QString &appName ); | ||
91 | QString setCategories( const QArray<int> &vlCats, const QString &appName, | ||
92 | const QString &visibleName ); | ||
88 | // these were added for find dialog. | 93 | // these were added for find dialog. |
@@ -91,2 +96,3 @@ public: | |||
91 | 96 | ||
97 | void setFixedWidth(int width); | ||
92 | signals: | 98 | signals: |
@@ -96,2 +102,4 @@ private slots: | |||
96 | void slotDialog(); | 102 | void slotDialog(); |
103 | |||
104 | public slots: | ||
97 | void slotNewCat( int id ); | 105 | void slotNewCat( int id ); |
@@ -99,3 +107,3 @@ private slots: | |||
99 | private: | 107 | private: |
100 | void init(); | 108 | void init(int width=0); |
101 | QString mStrAppName; | 109 | QString mStrAppName; |
diff --git a/library/config.cpp b/library/config.cpp index 9634571..e07eecb 100644 --- a/library/config.cpp +++ b/library/config.cpp | |||
@@ -35,3 +35,5 @@ | |||
35 | 35 | ||
36 | #define QTOPIA_INTERNAL_LANGLIST | ||
36 | #include "config.h" | 37 | #include "config.h" |
38 | #include "global.h" | ||
37 | 39 | ||
@@ -97,10 +99,5 @@ Config::Config( const QString &name, Domain domain ) | |||
97 | read(); | 99 | read(); |
98 | 100 | QStringList l = Global::languageList(); | |
99 | lang = getenv("LANG"); | 101 | lang = l[0]; |
100 | int i = lang.find("."); | 102 | glang = l[1]; |
101 | if ( i > 0 ) | ||
102 | lang = lang.left( i ); | ||
103 | i = lang.find( "_" ); | ||
104 | if ( i > 0 ) | ||
105 | glang = lang.left(i); | ||
106 | } | 103 | } |
diff --git a/library/custom-linux-sharp-g++.h b/library/custom-linux-sharp-g++.h deleted file mode 100644 index f65d474..0000000 --- a/library/custom-linux-sharp-g++.h +++ b/dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of the Qtopia Environment. | ||
5 | ** | ||
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 | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
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. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #define QPE_OWNAPM | ||
22 | #define QPE_HAVE_TOGGLELIGHT | ||
23 | #define QPE_NOCIBAUD | ||
24 | #define QPE_STARTMENU | ||
25 | #include <asm/sharp_apm.h> | ||
26 | #ifndef APM_IOC_BATTERY_BACK_CHK | ||
27 | #define APM_IOC_BATTERY_BACK_CHK _IO(APM_IOC_MAGIC, 32) | ||
28 | #endif | ||
29 | #ifndef APM_IOC_BATTERY_MAIN_CHK | ||
30 | #define APM_IOC_BATTERY_MAIN_CHK _IO(APM_IOC_MAGIC, 33) | ||
31 | #endif | ||
32 | |||
33 | #include <unistd.h> | ||
34 | #include <stdio.h> | ||
35 | #include <signal.h> | ||
36 | #include <fcntl.h> | ||
37 | #include <sys/ioctl.h> | ||
38 | |||
39 | #define SHARP_DEV_IOCTL_COMMAND_START 0x5680 | ||
40 | |||
41 | /* --- for SHARP_BUZZER device --- */ | ||
42 | #defineSHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | ||
43 | #define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) | ||
44 | #define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1) | ||
45 | #define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2) | ||
46 | #define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3) | ||
47 | #define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4) | ||
48 | #define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5) | ||
49 | |||
50 | #define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */ | ||
51 | #define SHARP_BUZ_KEYSOUND 2 /* key sound */ | ||
52 | #define SHARP_PDA_ILLCLICKSOUND 3 /* illegal click */ | ||
53 | #define SHARP_PDA_WARNSOUND 4 /* warning occurred */ | ||
54 | #define SHARP_PDA_ERRORSOUND 5 /* error occurred */ | ||
55 | #define SHARP_PDA_CRITICALSOUND 6 /* critical error occurred */ | ||
56 | #define SHARP_PDA_SYSSTARTSOUND 7 /* system start */ | ||
57 | #define SHARP_PDA_SYSTEMENDSOUND 8 /* system shutdown */ | ||
58 | #define SHARP_PDA_APPSTART 9 /* application start */ | ||
59 | #define SHARP_PDA_APPQUIT 10 /* application ends */ | ||
60 | #define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ | ||
61 | #define SHARP_BUZ_DAILY_ALARM 12 /* daily alarm */ | ||
62 | #define SHARP_BUZ_GOT_PHONE_CALL 13 /* phone call sound */ | ||
63 | #define SHARP_BUZ_GOT_MAIL 14 /* mail sound */ | ||
64 | |||
65 | |||
66 | #define CUSTOM_BUZZER( sound ) \ | ||
67 | { \ | ||
68 | static int fd = open( "/dev/sharp_buz", O_RDWR|O_NONBLOCK ); \ | ||
69 | ioctl( fd, SHARP_BUZZER_MAKESOUND, sound ); \ | ||
70 | } | ||
71 | |||
72 | #define CUSTOM_SOUND_ALARM CUSTOM_BUZZER( SHARP_BUZ_SCHEDULE_ALARM ) | ||
73 | |||
74 | #include <sys/ioctl.h> | ||
75 | #include <asm/sharp_char.h> | ||
76 | |||
77 | // a bit awkward, as this value is defined in emailclient.cpp aswell... | ||
78 | #define LED_MAIL 0 | ||
79 | #define SHARP_LED_MAIL 9 | ||
80 | |||
81 | #define CUSTOM_LEDS( led, status ) \ | ||
82 | { \ | ||
83 | if ( led == LED_MAIL ) \ | ||
84 | led = SHARP_LED_MAIL; \ | ||
85 | static int fd = open( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); \ | ||
86 | sharp_led_status leds; \ | ||
87 | memset(&leds, 0, sizeof(leds)); \ | ||
88 | leds.which = led; \ | ||
89 | leds.status = status; \ | ||
90 | ioctl( fd, SHARP_LED_SETSTATUS, (char*)&leds ); \ | ||
91 | } | ||
92 | |||
93 | #define QPE_HAVE_MEMALERTER | ||
94 | |||
95 | #define QPE_MEMALERTER_IMPL \ | ||
96 | static void sig_handler(int sig) \ | ||
97 | { \ | ||
98 | switch (sig) { \ | ||
99 | case SIGHUP: \ | ||
100 | memstate = VeryLow; \ | ||
101 | break; \ | ||
102 | case SIGUSR1: \ | ||
103 | memstate = Normal; \ | ||
104 | break; \ | ||
105 | case SIGUSR2: \ | ||
106 | memstate = Low; \ | ||
107 | break; \ | ||
108 | } \ | ||
109 | } \ | ||
110 | static void initMemalerter() \ | ||
111 | { \ | ||
112 | struct sigaction sa; \ | ||
113 | memset(&sa, '\0', sizeof sa); \ | ||
114 | sa.sa_handler = sig_handler; \ | ||
115 | sa.sa_flags = SA_RESTART; \ | ||
116 | if (sigaction(SIGHUP, &sa, NULL) < 0) { \ | ||
117 | return; \ | ||
118 | } \ | ||
119 | if (sigaction(SIGUSR1, &sa, NULL) < 0) { \ | ||
120 | return; \ | ||
121 | } \ | ||
122 | if (sigaction(SIGUSR2, &sa, NULL) < 0) { \ | ||
123 | return; \ | ||
124 | } \ | ||
125 | FILE *fo = fopen("/proc/sys/vm/freepg_signal_proc", "w"); \ | ||
126 | \ | ||
127 | if (!fo) \ | ||
128 | return; \ | ||
129 | fprintf(fo, "qpe\n"); \ | ||
130 | fclose(fo); \ | ||
131 | } | ||
132 | |||
133 | #define QPE_INITIAL_NUMLOCK_STATE \ | ||
134 | { \ | ||
135 | bool numLock = FALSE; \ | ||
136 | sharp_kbdctl_modifstat st; \ | ||
137 | int dev = ::open("/dev/sharp_kbdctl", O_RDWR); \ | ||
138 | if( dev >= 0 ) { \ | ||
139 | memset(&st, 0, sizeof(st)); \ | ||
140 | st.which = 3; \ | ||
141 | int ret = ioctl(dev, SHARP_KBDCTL_GETMODIFSTAT, (char*)&st); \ | ||
142 | if( !ret ) \ | ||
143 | numLock = (bool)st.stat; \ | ||
144 | ::close(dev); \ | ||
145 | } \ | ||
146 | return numLock; \ | ||
147 | } | ||
diff --git a/library/datebookmonth.h b/library/datebookmonth.h index 6cd1ac5..a7647ae 100644 --- a/library/datebookmonth.h +++ b/library/datebookmonth.h | |||
@@ -70,2 +70,3 @@ private: | |||
70 | DateBookMonthHeaderPrivate *d; | 70 | DateBookMonthHeaderPrivate *d; |
71 | int focus; | ||
71 | }; | 72 | }; |
diff --git a/library/fileselector.h b/library/fileselector.h index ef8efea..8cfdf13 100644 --- a/library/fileselector.h +++ b/library/fileselector.h | |||
@@ -24,4 +24,4 @@ | |||
24 | #include <qvbox.h> | 24 | #include <qvbox.h> |
25 | #include <qlistview.h> | ||
26 | #include <qtoolbutton.h> | 25 | #include <qtoolbutton.h> |
26 | #include <qlistview.h> | ||
27 | 27 | ||
@@ -32,2 +32,3 @@ class QPopupMenu; | |||
32 | class QPushButton; | 32 | class QPushButton; |
33 | class FileSelectorView; | ||
33 | 34 | ||
@@ -45,30 +46,2 @@ private: | |||
45 | 46 | ||
46 | class CategoryMenu; | ||
47 | class FileSelectorViewPrivate; | ||
48 | class FileSelectorView : public QListView | ||
49 | { | ||
50 | Q_OBJECT | ||
51 | |||
52 | public: | ||
53 | FileSelectorView( const QString &mimefilter, QWidget *parent, const char *name ); | ||
54 | ~FileSelectorView(); | ||
55 | void reread(); | ||
56 | int fileCount() { return count; } | ||
57 | |||
58 | void setCategoryFilter(CategoryMenu *); | ||
59 | protected: | ||
60 | void keyPressEvent( QKeyEvent *e ); | ||
61 | |||
62 | protected slots: | ||
63 | void cardMessage( const QCString &, const QByteArray &); | ||
64 | |||
65 | void categoryChanged(); | ||
66 | |||
67 | private: | ||
68 | QString filter; | ||
69 | FileManager *fileManager; | ||
70 | int count; | ||
71 | FileSelectorViewPrivate *d; | ||
72 | }; | ||
73 | |||
74 | class FileSelectorPrivate; | 47 | class FileSelectorPrivate; |
@@ -83,3 +56,2 @@ public: | |||
83 | void setCloseVisible( bool b ); | 56 | void setCloseVisible( bool b ); |
84 | void setCategoriesVisible( bool b ); | ||
85 | void reread(); | 57 | void reread(); |
diff --git a/library/finddialog.cpp b/library/finddialog.cpp index 7a9367b..904e952 100644 --- a/library/finddialog.cpp +++ b/library/finddialog.cpp | |||
@@ -20,2 +20,6 @@ | |||
20 | 20 | ||
21 | // WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT | ||
22 | // have this class. | ||
23 | #define QTOPIA_INTERNAL_FD | ||
24 | |||
21 | #include "finddialog.h" | 25 | #include "finddialog.h" |
diff --git a/library/finddialog.h b/library/finddialog.h index 265b5ae..00c7b45 100644 --- a/library/finddialog.h +++ b/library/finddialog.h | |||
@@ -20,2 +20,7 @@ | |||
20 | 20 | ||
21 | |||
22 | // | ||
23 | // DO NOT ATTEMPT TO USE THIS CLASS | ||
24 | // | ||
25 | |||
21 | #ifndef __FINDDIALOG_H__ | 26 | #ifndef __FINDDIALOG_H__ |
@@ -33,2 +38,7 @@ class FindDialog : public QDialog | |||
33 | public: | 38 | public: |
39 | |||
40 | // WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT | ||
41 | // have this class. | ||
42 | #ifdef QTOPIA_INTERNAL_FD | ||
43 | |||
34 | FindDialog( const QString &appName, | 44 | FindDialog( const QString &appName, |
@@ -36,2 +46,3 @@ public: | |||
36 | ~FindDialog(); | 46 | ~FindDialog(); |
47 | #endif | ||
37 | 48 | ||
diff --git a/library/mimetype.cpp b/library/mimetype.cpp index c6a4453..9fab160 100644 --- a/library/mimetype.cpp +++ b/library/mimetype.cpp | |||
@@ -20,2 +20,3 @@ | |||
20 | 20 | ||
21 | #define QTOPIA_INTERNAL_MIMEEXT | ||
21 | #include "mimetype.h" | 22 | #include "mimetype.h" |
@@ -48,2 +49,3 @@ public: | |||
48 | QString id; | 49 | QString id; |
50 | QString extension; | ||
49 | QString desc; | 51 | QString desc; |
@@ -61,2 +63,3 @@ MimeType::Dict* MimeType::d=0; | |||
61 | static QMap<QString,QString> *typeFor = 0; | 63 | static QMap<QString,QString> *typeFor = 0; |
64 | static QMap<QString,QString> *extFor = 0; | ||
62 | 65 | ||
@@ -98,2 +101,8 @@ QPixmap MimeType::pixmap() const | |||
98 | 101 | ||
102 | QString MimeType::extension() const | ||
103 | { | ||
104 | loadExtensions(); | ||
105 | return *(*extFor).find(i); | ||
106 | } | ||
107 | |||
99 | QPixmap MimeType::bigPixmap() const | 108 | QPixmap MimeType::bigPixmap() const |
@@ -130,2 +139,3 @@ void MimeType::loadExtensions() | |||
130 | if ( !typeFor ) { | 139 | if ( !typeFor ) { |
140 | extFor = new QMap<QString,QString>; | ||
131 | typeFor = new QMap<QString,QString>; | 141 | typeFor = new QMap<QString,QString>; |
@@ -147,5 +157,8 @@ void MimeType::loadExtensions(const QString& filename) | |||
147 | QString id = *it; ++it; | 157 | QString id = *it; ++it; |
148 | while (it != tokens.end()) { | 158 | if ( it != tokens.end() ) { |
149 | (*typeFor)[*it] = id; | 159 | (*extFor)[id] = *it; |
150 | ++it; | 160 | while (it != tokens.end()) { |
161 | (*typeFor)[*it] = id; | ||
162 | ++it; | ||
163 | } | ||
151 | } | 164 | } |
diff --git a/library/mimetype.h b/library/mimetype.h index 58725d7..b6cca95 100644 --- a/library/mimetype.h +++ b/library/mimetype.h | |||
@@ -42,2 +42,7 @@ public: | |||
42 | 42 | ||
43 | // DON'T define this yourself! | ||
44 | #ifdef QTOPIA_INTERNAL_MIMEEXT | ||
45 | QString extension() const; | ||
46 | #endif | ||
47 | |||
43 | const AppLnk* application() const; | 48 | const AppLnk* application() const; |
diff --git a/library/network.cpp b/library/network.cpp index 7d51016..e6d2781 100644 --- a/library/network.cpp +++ b/library/network.cpp | |||
@@ -20,2 +20,3 @@ | |||
20 | 20 | ||
21 | #define QTOPIA_INTERNAL_LANGLIST | ||
21 | #include "qpe/network.h" | 22 | #include "qpe/network.h" |
@@ -420,10 +421,12 @@ NetworkInterface* Network::loadPlugin(const QString& type) | |||
420 | ifaces->insert(type,iface); | 421 | ifaces->insert(type,iface); |
421 | QString lang = getenv( "LANG" ); | 422 | QStringList langs = Global::languageList(); |
422 | QTranslator * trans = new QTranslator(qApp); | 423 | for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) { |
423 | QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/lib"+type+".qm"; | 424 | QString lang = *it; |
424 | if ( trans->load( tfn )) | 425 | QTranslator * trans = new QTranslator(qApp); |
425 | qApp->installTranslator( trans ); | 426 | QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/lib"+type+".qm"; |
426 | else | 427 | if ( trans->load( tfn )) |
427 | delete trans; | 428 | qApp->installTranslator( trans ); |
428 | 429 | else | |
430 | delete trans; | ||
431 | } | ||
429 | } | 432 | } |
diff --git a/library/power.cpp b/library/power.cpp index 990ff62..12b52ed 100644 --- a/library/power.cpp +++ b/library/power.cpp | |||
@@ -104,2 +104,4 @@ bool PowerStatusManager::getProcApmStatus( int &ac, int &bs, int &bf, int &pc, i | |||
104 | case 0x04: | 104 | case 0x04: |
105 | case 0xff: // 0xff is Unknown but we map to NotPresent | ||
106 | default: | ||
105 | ps->bs = PowerStatus::NotPresent; | 107 | ps->bs = PowerStatus::NotPresent; |
diff --git a/library/qcopmessage_qws.h b/library/qcopmessage_qws.h deleted file mode 100644 index c19f57d..0000000 --- a/library/qcopmessage_qws.h +++ b/dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of the Qtopia Environment. | ||
5 | ** | ||
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 | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
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. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #ifndef QCOP_MESSAGE_H | ||
22 | #define QCOP_MESSAGE_H | ||
23 | |||
24 | #include <qdatastream.h> | ||
25 | #include <qbuffer.h> | ||
26 | |||
27 | class QCopMessage : public QDataStream { | ||
28 | public: | ||
29 | QCopMessage(); | ||
30 | QCopMessage(const QCString& channel, const QCString& message); | ||
31 | QCopMessage(const QCopMessage& orig); | ||
32 | ~QCopMessage(); | ||
33 | |||
34 | void setChannel(QCString& channel) { m_Channel = channel; } | ||
35 | QCString channel() const { return m_Channel; } | ||
36 | void setMessage(QCString& message) { m_Message = message; } | ||
37 | QCString message() const { return m_Message; } | ||
38 | const QByteArray data() const; | ||
39 | |||
40 | QCopMessage& operator=(const QCopMessage& orig); | ||
41 | |||
42 | private: | ||
43 | QCString m_Channel; | ||
44 | QCString m_Message; | ||
45 | }; | ||
46 | |||
47 | // ### No need to inline, just maintaining binary compatability | ||
48 | inline QCopMessage::QCopMessage() : QDataStream(new QBuffer()) { | ||
49 | device()->open(IO_WriteOnly); | ||
50 | } | ||
51 | |||
52 | inline QCopMessage::QCopMessage(const QCString& channel, const QCString& message) | ||
53 | : QDataStream(new QBuffer()), m_Channel(channel), m_Message(message) { | ||
54 | device()->open(IO_WriteOnly); | ||
55 | } | ||
56 | |||
57 | inline QCopMessage::QCopMessage(const QCopMessage& orig) : QDataStream() { | ||
58 | // The QBuffer is going to share the byte array, so it will keep the | ||
59 | // data pointer even when this one goes out of scope. | ||
60 | QByteArray array(((QBuffer*)orig.device())->buffer()); | ||
61 | array.detach(); | ||
62 | setDevice(new QBuffer(array)); | ||
63 | device()->open(IO_Append); | ||
64 | |||
65 | m_Channel = orig.channel(); | ||
66 | m_Message = orig.message(); | ||
67 | } | ||
68 | |||
69 | inline QCopMessage& QCopMessage::operator=(const QCopMessage& orig) { | ||
70 | if (device()) { | ||
71 | delete device(); | ||
72 | unsetDevice(); | ||
73 | } | ||
74 | |||
75 | // The QBuffer is going to share the byte array, so it will keep the | ||
76 | // data pointer even when this one goes out of scope. | ||
77 | QByteArray array(((QBuffer*)orig.device())->buffer()); | ||
78 | array.detach(); | ||
79 | setDevice(new QBuffer(array)); | ||
80 | device()->open(IO_Append); | ||
81 | |||
82 | m_Channel = orig.channel(); | ||
83 | m_Message = orig.message(); | ||
84 | |||
85 | return *this; | ||
86 | } | ||
87 | |||
88 | inline const QByteArray QCopMessage::data() const { | ||
89 | return ((QBuffer*)device())->buffer(); | ||
90 | } | ||
91 | |||
92 | inline QCopMessage::~QCopMessage() { | ||
93 | // If we still have our QBuffer, clean it up... | ||
94 | if (device()) | ||
95 | delete device(); | ||
96 | unsetDevice(); | ||
97 | } | ||
98 | |||
99 | #endif | ||
diff --git a/library/qpedecoration_qws.cpp b/library/qpedecoration_qws.cpp index b6085ef..e041945 100644 --- a/library/qpedecoration_qws.cpp +++ b/library/qpedecoration_qws.cpp | |||
@@ -19,2 +19,3 @@ | |||
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #define QTOPIA_INTERNAL_LANGLIST | ||
20 | #include <qapplication.h> | 21 | #include <qapplication.h> |
@@ -246,6 +247,6 @@ QPEDecoration::QPEDecoration() | |||
246 | helpFile = QString(qApp->argv()[0]) + ".html"; | 247 | helpFile = QString(qApp->argv()[0]) + ".html"; |
247 | QString lang = getenv( "LANG" ); | 248 | QStringList path = Global::helpPath(); |
248 | helpExists = QFile::exists( QPEApplication::qpeDir() + "/help/" + lang + "/html/" + helpFile ); | 249 | helpExists = FALSE; |
249 | if ( !helpExists ) | 250 | for (QStringList::ConstIterator it=path.begin(); it!=path.end() && !helpExists; ++it) |
250 | helpExists = QFile::exists( QPEApplication::qpeDir() + "/help/en/html/" + helpFile ); | 251 | helpExists = QFile::exists( *it + "/" + helpFile ); |
251 | #ifndef MINIMIZE_HELP_HACK | 252 | #ifndef MINIMIZE_HELP_HACK |