author | zautrix <zautrix> | 2004-10-20 21:49:51 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-20 21:49:51 (UTC) |
commit | bb235c5a639b914574e1e247d2de6e479517585f (patch) (side-by-side diff) | |
tree | 0f074ec87d93b6f5fb81b6893f0174cabc52c1df | |
parent | 8e00329a4a5f0b66d26d20f067ab6aefca17f17a (diff) | |
download | kdepimpi-bb235c5a639b914574e1e247d2de6e479517585f.zip kdepimpi-bb235c5a639b914574e1e247d2de6e479517585f.tar.gz kdepimpi-bb235c5a639b914574e1e247d2de6e479517585f.tar.bz2 |
qtopia resource fixes
-rw-r--r-- | kabc/plugins/qtopia/qtopiaconverter.cpp | 24 | ||||
-rw-r--r-- | kabc/plugins/qtopia/resourceqtopia.cpp | 96 | ||||
-rw-r--r-- | microkde/kresources/managerimpl.cpp | 7 |
3 files changed, 43 insertions, 84 deletions
diff --git a/kabc/plugins/qtopia/qtopiaconverter.cpp b/kabc/plugins/qtopia/qtopiaconverter.cpp index 040226c..106596f 100644 --- a/kabc/plugins/qtopia/qtopiaconverter.cpp +++ b/kabc/plugins/qtopia/qtopiaconverter.cpp @@ -291,9 +291,12 @@ bool QtopiaConverter::qtopiaToAddressee( const QDomElement& el, Addressee &adr ) adr.insertCustom( "opie", "HomeWebPage", el.attribute( "HomeWebPage" ) ); if ( !el.attribute( "Spouse" ).isEmpty() ) adr.insertCustom( "KADDRESSBOOK", "X-SpousesName", el.attribute( "Spouse" ) ); - if ( !el.attribute( "Gender" ).isEmpty() ) - adr.insertCustom( "opie", "Gender", el.attribute( "Gender" ) ); - + if ( !el.attribute( "Gender" ).isEmpty() ) { + if ( el.attribute( "Gender" ) == "1" ) + adr.insertCustom( "KADDRESSBOOK", "X-Gender", "male" ); + else if ( el.attribute( "Gender" ) == "2" ) + adr.insertCustom( "KADDRESSBOOK", "X-Gender", "female" ); + } QDate ann = dateFromString( el.attribute( "Anniversary" ) ); if ( ann.isValid() ) { QString dt = KGlobal::locale()->formatDate(ann, true, KLocale::ISODate); @@ -301,7 +304,7 @@ bool QtopiaConverter::qtopiaToAddressee( const QDomElement& el, Addressee &adr ) } if ( !el.attribute( "Children" ).isEmpty() ) - adr.insertCustom("opie", "Children", el.attribute("Children") ); + adr.insertCustom("KADDRESSBOOK", "X-Children", el.attribute("Children") ); if ( !el.attribute( "Office" ).isEmpty() ) adr.insertCustom("KADDRESSBOOK", "X-Office", el.attribute("Office") ); if ( !el.attribute( "Profession" ).isEmpty() ) @@ -384,15 +387,16 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &ab, QTextStream *strea *stream << "HomeWebPage=\"" << escape( ab.custom( "opie", "HomeWebPage" ) ) << "\" "; *stream << "Spouse=\"" << escape( ab.custom( "KADDRESSBOOK", "X-SpousesName") ) << "\" "; - *stream << "Gender=\"" << escape( ab.custom( "opie", "Gender") ) << "\" "; + QString gen = "0"; + if ( ab.custom( "KADDRESSBOOK", "X-Gender") == "male" ) + gen = "1"; + else if ( ab.custom( "KADDRESSBOOK", "X-Gender") == "female" ) + gen = "2"; + *stream << "Gender=\"" << escape( gen ) << "\" "; if ( ab.birthday().date().isValid() ) *stream << "Birthday=\"" << escape( dateToString(ab.birthday().date() ) ) << "\" "; - /* - * Anniversary block again - * Go from ISO -> QDate -> toString and then escape - */ { QDate ann = KGlobal::locale()->readDate( ab.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); @@ -401,7 +405,7 @@ bool QtopiaConverter::addresseeToQtopia( const Addressee &ab, QTextStream *strea } } *stream << "Nickname=\"" << escape( ab.nickName() ) << "\" "; - *stream << "Children=\"" << escape( ab.custom("opie", "Children" ) ) << "\" "; + *stream << "Children=\"" << escape( ab.custom("KADDRESSBOOK", "X-Children" ) ) << "\" "; *stream << "Notes=\"" << escape( ab.note() ) << "\" "; *stream << "Categories=\"" << categoriesToNumber( ab.categories(), "Contacts") << "\" "; diff --git a/kabc/plugins/qtopia/resourceqtopia.cpp b/kabc/plugins/qtopia/resourceqtopia.cpp index b7263bb..4ee3c3c 100644 --- a/kabc/plugins/qtopia/resourceqtopia.cpp +++ b/kabc/plugins/qtopia/resourceqtopia.cpp @@ -78,11 +78,11 @@ ResourceQtopia::ResourceQtopia( const QString &fileName ) void ResourceQtopia::init( const QString &fileName ) { - +#ifdef _USE_DIRWATCH_ connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) ); connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) ); connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) ); - +#endif setFileName( fileName ); } @@ -165,7 +165,7 @@ bool ResourceQtopia::load() while ( !n.isNull() ) { QDomElement e = n.toElement(); if ( !e.isNull() ) { - if ( e.tagName() == QString::fromLatin1( "Contacts" ) ) { // we're looking for them + if ( e.tagName() == QString::fromLatin1( "Contacts" ) ) { QDomNode no = e.firstChild(); while ( !no.isNull() ) { QDomElement el = no.toElement(); @@ -186,41 +186,22 @@ bool ResourceQtopia::load() n = n.nextSibling(); } - -#if 0 -/ old code - qDebug("ResourceQtopia::load: %s", fileName().latin1()); - - AddressBookIterator it(*mAccess); - const PimContact* contact; - bool res; - - for (contact=it.toFirst(); it.current(); ++it) - { - contact = it.current(); - - KABC::Addressee addressee; - - //LRres = mConverter->qtopiaToAddressee( (*contact), addressee ); - - if ( !addressee.isEmpty() && res ) - { - addressee.setResource( this ); - addressBook()->insertAddressee( addressee ); - } - } -#endif return true; } bool ResourceQtopia::save( Ticket *ticket ) { - +#ifdef _USE_DIRWATCH_ mDirWatch.stopScan(); +#endif KABC::AddressBook::Iterator it; bool res; - //pending open file for stream - QTextStream *stream;// = tempFile->textStream(); + QFile file( fileName() ); + if (!file.open( IO_WriteOnly ) ) { + return false; + } + QTextStream ts( &file ); + QTextStream *stream = &ts; stream->setEncoding( QTextStream::UnicodeUTF8 ); *stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Addressbook ><AddressBook>" << endl; *stream << " <Groups>" << endl; @@ -236,66 +217,27 @@ bool ResourceQtopia::save( Ticket *ticket ) qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1()); } } - - *stream << "</Contacts>" << endl; *stream << "</AddressBook>" << endl; - //pending close file - mDirWatch.startScan(); - - delete ticket; - unlock( fileName() ); - - -#if 0 - //old code - qDebug("ResourceQtopia::save: %s", fileName().latin1()); - - mDirWatch.stopScan(); - - KABC::AddressBook::Iterator it; - bool res; - - for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) { - PimContact c; - KABC::Addressee addressee = (*it); - - //res = mConverter->addresseeToQtopia( *it, c ); - if (res == true) - { - mAccess->addContact(c); -// if (res == false) -// qDebug("Unable to append Contact %s", c.fullName().latin1()); - } - else - { - qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1()); - } - } - -// mAccess->addressBookUpdated(); - + file.close(); +#ifdef _USE_DIRWATCH_ mDirWatch.startScan(); - +#endif delete ticket; unlock( fileName() ); -#endif return true; } bool ResourceQtopia::lock( const QString &lockfileName ) { + //disabled + return true; qDebug("ResourceQtopia::lock: %s", fileName().latin1()); - - kdDebug(5700) << "ResourceQtopia::lock()" << endl; - QString fn = lockfileName; KURL url(fn); QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); - kdDebug(5700) << "-- lock name: " << lockName << endl; - if (QFile::exists( lockName )) { qDebug("ResourceOpie::lock: lockfile %s already exists. (Delete it before continuing if nobody else is accessing the resourcefile %s)", lockName.latin1(), fileName().latin1()); @@ -333,6 +275,8 @@ bool ResourceQtopia::lock( const QString &lockfileName ) void ResourceQtopia::unlock( const QString &fileName ) { + //disabled + return; qDebug("ResourceQtopia::unlock() %s", fileName.latin1()); QString fn = fileName; @@ -346,13 +290,17 @@ void ResourceQtopia::unlock( const QString &fileName ) void ResourceQtopia::setFileName( const QString &newFileName ) { +#ifdef _USE_DIRWATCH_ mDirWatch.stopScan(); +#endif mDirWatch.removeFile( fileName() ); Resource::setFileName( newFileName ); mDirWatch.addFile( fileName() ); +#ifdef _USE_DIRWATCH_ mDirWatch.startScan(); +#endif } diff --git a/microkde/kresources/managerimpl.cpp b/microkde/kresources/managerimpl.cpp index 81bbbec..5bd9eb7 100644 --- a/microkde/kresources/managerimpl.cpp +++ b/microkde/kresources/managerimpl.cpp @@ -34,6 +34,7 @@ $Id$ #include <kdebug.h> #include <kconfig.h> #include <kstandarddirs.h> +#include <qfile.h> #include "resource.h" #include "factory.h" @@ -68,6 +69,12 @@ void ManagerImpl::createStandardConfig() if ( !mStdConfig ) { QString file = locateLocal( "data", KGlobal::getAppName() + "/kresources/" + mFamily + "rc" ); + if ( mFamily == "tmpcontact" ) { + if (QFile::exists ( file ) ){ + QFile::remove ( file ); + qDebug("removed tmp rc file: %s ", file.latin1()); + } + } mStdConfig = new KConfig( file ); } |