author | ar <ar> | 2004-06-01 21:38:07 (UTC) |
---|---|---|
committer | ar <ar> | 2004-06-01 21:38:07 (UTC) |
commit | baed1d5ab8589aef14440009bc4e7380bcc5a741 (patch) (side-by-side diff) | |
tree | c636e892c5eec0df2b36d16cb601a7da41a2ef0f /libopie2 | |
parent | 4438393d8eef624565e840b798429071829adea8 (diff) | |
download | opie-baed1d5ab8589aef14440009bc4e7380bcc5a741.zip opie-baed1d5ab8589aef14440009bc4e7380bcc5a741.tar.gz opie-baed1d5ab8589aef14440009bc4e7380bcc5a741.tar.bz2 |
- convert to odebug framework
23 files changed, 272 insertions, 208 deletions
diff --git a/libopie2/opiedb/osqlbackendmanager.cpp b/libopie2/opiedb/osqlbackendmanager.cpp index fc18e07..bbfbf3d 100644 --- a/libopie2/opiedb/osqlbackendmanager.cpp +++ b/libopie2/opiedb/osqlbackendmanager.cpp @@ -1,16 +1,22 @@ + +#include "osqlbackendmanager.h" + +/* OPIE */ +#include <opie2/odebug.h> + +/* QT */ #include <qdir.h> #include <qmap.h> -#include "osqlbackendmanager.h" /** * \todo FIXME CONFIG!!! */ namespace { class Config { typedef QMap<QString, QString> List; public: Config( const QString& fileName ); /** * Quite simple layout in nature @@ -29,25 +35,25 @@ namespace { bool Config::load() { if (!QFile::exists( m_fileName ) ) return false; QFile file( m_fileName ); if (!file.open(IO_ReadOnly ) ) return false; QStringList list = QStringList::split( '\n', file.readAll() ); QStringList::Iterator it; QString line; for (it = list.begin(); it != list.end(); ++it ) { line = (*it).stripWhiteSpace(); - qWarning("Anonymous::Config:" + line ); + owarn << "Anonymous::Config:" + line << oendl; QStringList test = QStringList::split(' ', line ); m_list.insert( test[0], test[2] ); } return true; } QString Config::value( const QString& key ) { return m_list[key]; } }; using namespace Opie::DB; @@ -83,24 +89,24 @@ OSQLBackEnd::ValueList OSQLBackEndManager::scanDir( const QString& dirName ) { for ( it = files.begin(); it != files.end(); ++it ) { list.append( file2backend( (*it) ) ); } } return list; } /** * read a config file and convert it to a OSQLBackEnd */ OSQLBackEnd OSQLBackEndManager::file2backend( const QString& file ) { OSQLBackEnd end; - qWarning("fileName: " + file ); + owarn << "fileName: " + file << oendl; Config cfg( file ); if (cfg.load() ) { end.setName( cfg.value( "Name") ); end.setVendor( cfg.value("Vendor") ); end.setLicense( cfg.value("License") ); end.setLibrary( cfg.value("Library").local8Bit() ); end.setDefault( cfg.value("Default").toInt() ); end.setPreference( cfg.value("Preference").toInt() ); } return end; } diff --git a/libopie2/opiedb/osqlitedriver.cpp b/libopie2/opiedb/osqlitedriver.cpp index 588fc8f..69eddfe 100644 --- a/libopie2/opiedb/osqlitedriver.cpp +++ b/libopie2/opiedb/osqlitedriver.cpp @@ -115,33 +115,33 @@ void rlikeFunc(sqlite_func *context, int arg, const char **argv){ sqlite_set_result_int(context, sqliteRlikeCompare((const char*)argv[0], (const char*)argv[1], (sqregex *)sqlite_user_data(context) )); } /* * try to open a db specified via setUrl * and options */ bool OSQLiteDriver::open() { char *error; - qDebug("OSQLiteDriver::open: about to open"); + odebug << "OSQLiteDriver::open: about to open" << oendl; m_sqlite = sqlite_open(m_url.local8Bit(), 0, &error ); /* failed to open */ if (m_sqlite == 0l ) { // FIXME set the last error - qWarning("OSQLiteDriver::open: %s", error ); + owarn << "OSQLiteDriver::open: " << error << "" << oendl; free( error ); return false; } if (sqlite_create_function(m_sqlite,"rlike",2,rlikeFunc,&sqreg) != 0) odebug << "Unable to create user defined function!" << oendl; if (sqlite_function_type(m_sqlite,"rlike",SQLITE_NUMERIC) != 0) odebug << "Unable to set rlike function result type!" << oendl; sqreg.regex_raw = NULL; return true; } @@ -165,25 +165,25 @@ bool OSQLiteDriver::close() { /* Query */ OSQLResult OSQLiteDriver::query( OSQLQuery* qu) { if ( !m_sqlite ) { // FIXME set error code OSQLResult result( OSQLResult::Failure ); return result; } Query query; query.driver = this; char *err; /* SQLITE_OK 0 if return code > 0 == failure */ if ( sqlite_exec(m_sqlite, qu->query(),&call_back, &query, &err) > 0 ) { - qWarning("OSQLiteDriver::query: Error while executing %s",err); + owarn << "OSQLiteDriver::query: Error while executing " << err << "" << oendl; free(err ); // FixMe Errors } OSQLResult result(OSQLResult::Success, query.items, query.errors ); return result; } OSQLTable::ValueList OSQLiteDriver::tables() const { diff --git a/libopie2/opiemm/osoundsystem.cpp b/libopie2/opiemm/osoundsystem.cpp index c00585d..2b17230 100644 --- a/libopie2/opiemm/osoundsystem.cpp +++ b/libopie2/opiemm/osoundsystem.cpp @@ -73,25 +73,25 @@ void OSoundSystem::synchronize() if ( !hasFile ) { odebug << "OSoundSystem: /dev/sound not existing. No sound devices available" << oendl; return; } QTextStream s( &f ); s.readLine(); s.readLine(); while ( !s.atEnd() ) { s >> str; str.truncate( str.find( ':' ) ); - qDebug( "OSoundSystem: found interface '%s'", (const char*) str ); + odebug << "OSoundSystem: found interface '" << str << "'" << oendl; OAudioInterface* iface; iface = new OAudioInterface( this, (const char*) str ); _interfaces.insert( str, iface ); s.readLine(); } */ } int OSoundSystem::count() const { @@ -228,26 +228,26 @@ void OMixerInterface::init() if ( devmask & ( 1 << SOUND_MIXER_CD ) ) _channels.insert( "RecCD", SOUND_MIXER_CD ); if ( devmask & ( 1 << SOUND_MIXER_IMIX ) ) _channels.insert( "RecInputMix", SOUND_MIXER_IMIX ); if ( devmask & ( 1 << SOUND_MIXER_ALTPCM ) ) _channels.insert( "RecAltPCM", SOUND_MIXER_ALTPCM ); if ( devmask & ( 1 << SOUND_MIXER_RECLEV ) ) _channels.insert( "RecRecord", SOUND_MIXER_RECLEV ); if ( devmask & ( 1 << SOUND_MIXER_IGAIN ) ) _channels.insert( "RecInputGain", SOUND_MIXER_IGAIN ); if ( devmask & ( 1 << SOUND_MIXER_OGAIN ) ) _channels.insert( "RecOutputGain", SOUND_MIXER_OGAIN ); //odebug << "recmask available and constructed." << oendl; } /* ChannelIterator it; for ( it = _channels.begin(); it != _channels.end(); ++it ) { - qDebug( "Channel %s available (bit %d)", (const char*) it.key(), it.data() ); - qDebug( " +--- Volume: %02d | %02d", volume( it.key() ) & 0xff, volume( it.key() ) >> 8 ); + odebug << "Channel " << it.key() << " available (bit " << it.data() << ")" << oendl; + odebug << " +--- Volume: " << volume( it.key() ) & 0xff << " | " << volume( it.key() ) >> 8 << "" << oendl; } */ } QStringList OMixerInterface::allChannels() const { ChannelIterator it = _channels.begin(); QStringList channels; while ( it != _channels.end() ) { channels += it.key(); it++; diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp index e141097..67718ba 100644 --- a/libopie2/opienet/onetwork.cpp +++ b/libopie2/opienet/onetwork.cpp @@ -596,28 +596,31 @@ void OWirelessNetworkInterface::buildPrivateList() for ( int i = 0; i < _iwr.u.data.length; ++i )
{
new OPrivateIOCTL( this, priv[i].name, priv[i].cmd, priv[i].get_args, priv[i].set_args );
}
odebug << "OWirelessNetworkInterface::buildPrivateList(): Private ioctl list constructed." << oendl;
}
void OWirelessNetworkInterface::dumpInformation() const
{
odebug << "OWirelessNetworkInterface::() -------------- dumping information block ----------------" << oendl;
- qDebug( " - driver's idea of maximum throughput is %d bps = %d byte/s = %d Kb/s = %f.2 Mb/s",
- _range.throughput, _range.throughput / 8, _range.throughput / 8 / 1024, float( _range.throughput ) / 8.0 / 1024.0 / 1024.0 );
- qDebug( " - driver for '%s' (V%d) has been compiled against WE V%d",
- name(), _range.we_version_source, _range.we_version_compiled );
+ odebug << " - driver's idea of maximum throughput is " << _range.throughput
+ << " bps = " << ( _range.throughput / 8 ) << " byte/s = " << ( _range.throughput / 8 / 1024 )
+ << " Kb/s = " << QString().sprintf("%f.2", float( _range.throughput ) / 8.0 / 1024.0 / 1024.0 )
+ << " Mb/s" << oendl;
+
+ odebug << " - driver for '" << name() << "' (V" << _range.we_version_source
+ << ") has been compiled against WE V" << _range.we_version_compiled << oendl;
if ( _range.we_version_compiled != WIRELESS_EXT )
{
owarn << "Version mismatch! WE_DRIVER = " << _range.we_version_compiled << " and WE_OPIENET = " << WIRELESS_EXT << oendl;
}
odebug << "OWirelessNetworkInterface::() ---------------------------------------------------------" << oendl;
}
int OWirelessNetworkInterface::channel() const
{
diff --git a/libopie2/opienet/ostation.cpp b/libopie2/opienet/ostation.cpp index ce0995b..b5ac325 100644 --- a/libopie2/opienet/ostation.cpp +++ b/libopie2/opienet/ostation.cpp @@ -53,20 +53,20 @@ OStation::OStation() } OStation::~OStation() { odebug << "OStation::~OStation()" << oendl; } void OStation::dump() { odebug << "------- OStation::dump() ------------" << oendl; - qDebug( "type: %s", (const char*) type ); - qDebug( "mac: %s", (const char*) macAddress.toString() ); - qDebug( "ap: %s", (const char*) apAddress.toString() ); - qDebug( "ip: %s", (const char*) ipAddress.toString() ); + odebug << "type: " << type << "" << oendl; + odebug << "mac: " << macAddress.toString() << "" << oendl; + odebug << "ap: " << apAddress.toString() << "" << oendl; + odebug << "ip: " << ipAddress.toString() << "" << oendl; } } } diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp index 14207be..dda23cc 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp @@ -23,38 +23,42 @@ -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * SQL Backend for the OPIE-Contact Database. */ #include "ocontactaccessbackend_sql.h" -#include <qarray.h> -#include <qdatetime.h> -#include <qstringlist.h> - -#include <qpe/global.h> -#include <qpe/recordfields.h> - +/* OPIE */ #include <opie2/opimcontact.h> #include <opie2/opimcontactfields.h> #include <opie2/opimdateconversion.h> #include <opie2/osqldriver.h> #include <opie2/osqlresult.h> #include <opie2/osqlmanager.h> #include <opie2/osqlquery.h> +#include <opie2/odebug.h> + +#include <qpe/global.h> +#include <qpe/recordfields.h> + +/* QT */ +#include <qarray.h> +#include <qdatetime.h> +#include <qstringlist.h> + using namespace Opie; using namespace Opie::DB; /* * Implementation of used query types * CREATE query * LOAD query * INSERT * REMOVE * CLEAR */ @@ -259,25 +263,25 @@ namespace { + QString::number( m_contact.uid() ) + "," + QString::number( id++ ) + ",'" + it.key() + "'," + "0" // Priority for future enhancements + ",'" + it.data() + "');"; } // qu += "commit;"; - qDebug("add %s", qu.latin1() ); + odebug << "add " << qu << "" << oendl; return qu; } RemoveQuery::RemoveQuery(int uid ) : OSQLQuery(), m_uid( uid ) {} RemoveQuery::~RemoveQuery() {} QString RemoveQuery::query()const { QString qu = "DELETE from addressbook where uid = " + QString::number(m_uid) + ";"; qu += "DELETE from custom_data where uid = " + QString::number(m_uid) + ";"; @@ -307,25 +311,25 @@ namespace { QString qu = "select uid, type, value from addressbook where"; for (uint i = 0; i < m_uids.count(); i++ ) { qu += " UID = " + QString::number( m_uids[i] ) + " OR"; } qu.remove( qu.length()-2, 2 ); // Hmmmm.. return qu; } */ QString FindQuery::single()const{ QString qu = "select *"; qu += " from addressbook where uid = " + QString::number(m_uid); - // qWarning("find query: %s", qu.latin1() ); + // owarn << "find query: " << qu << "" << oendl; return qu; } FindCustomQuery::FindCustomQuery(int uid) : OSQLQuery(), m_uid( uid ) { } FindCustomQuery::FindCustomQuery(const QArray<int>& ints) : OSQLQuery(), m_uids( ints ){ } FindCustomQuery::~FindCustomQuery() { } @@ -341,42 +345,42 @@ namespace { }; /* --------------------------------------------------------------------------- */ namespace Opie { OPimContactAccessBackend_SQL::OPimContactAccessBackend_SQL ( const QString& /* appname */, const QString& filename ): OPimContactAccessBackend(), m_changed(false), m_driver( NULL ) { - qDebug("C'tor OPimContactAccessBackend_SQL starts"); + odebug << "C'tor OPimContactAccessBackend_SQL starts" << oendl; QTime t; t.start(); /* Expecting to access the default filename if nothing else is set */ if ( filename.isEmpty() ){ m_fileName = Global::applicationFileName( "addressbook","addressbook.db" ); } else m_fileName = filename; // Get the standart sql-driver from the OSQLManager.. OSQLManager man; m_driver = man.standard(); m_driver->setUrl( m_fileName ); load(); - qDebug("C'tor OPimContactAccessBackend_SQL ends: %d ms", t.elapsed() ); + odebug << "C'tor OPimContactAccessBackend_SQL ends: " << t.elapsed() << " ms" << oendl; } OPimContactAccessBackend_SQL::~OPimContactAccessBackend_SQL () { if( m_driver ) delete m_driver; } bool OPimContactAccessBackend_SQL::load () { if (!m_driver->open() ) return false; @@ -421,25 +425,25 @@ QArray<int> OPimContactAccessBackend_SQL::allRecords() const { // FIXME: Think about cute handling of changed tables.. // Thus, we don't have to call update here... if ( m_changed ) ((OPimContactAccessBackend_SQL*)this)->update(); return m_uids; } bool OPimContactAccessBackend_SQL::add ( const OPimContact &newcontact ) { - qDebug("add in contact SQL-Backend"); + odebug << "add in contact SQL-Backend" << oendl; InsertQuery ins( newcontact ); OSQLResult res = m_driver->query( &ins ); if ( res.state() == OSQLResult::Failure ) return false; int c = m_uids.count(); m_uids.resize( c+1 ); m_uids[c] = newcontact.uid(); return true; } @@ -460,32 +464,32 @@ bool OPimContactAccessBackend_SQL::remove ( int uid ) bool OPimContactAccessBackend_SQL::replace ( const OPimContact &contact ) { if ( !remove( contact.uid() ) ) return false; return add( contact ); } OPimContact OPimContactAccessBackend_SQL::find ( int uid ) const { - qDebug("OPimContactAccessBackend_SQL::find()"); + odebug << "OPimContactAccessBackend_SQL::find()" << oendl; QTime t; t.start(); OPimContact retContact( requestNonCustom( uid ) ); retContact.setExtraMap( requestCustom( uid ) ); - qDebug("OPimContactAccessBackend_SQL::find() needed: %d ms", t.elapsed() ); + odebug << "OPimContactAccessBackend_SQL::find() needed: " << t.elapsed() << " ms" << oendl; return retContact; } QArray<int> OPimContactAccessBackend_SQL::queryByExample ( const OPimContact &query, int settings, const QDateTime& qd ) { QString qu = "SELECT uid FROM addressbook WHERE"; QString searchQuery =""; QDate startDate; @@ -576,25 +580,25 @@ QArray<int> OPimContactAccessBackend_SQL::queryByExample ( const OPimContact &qu searchQuery += "(\"" + *it + "\"" + " GLOB " + "'" + queryStr + "'" + ")"; } } } // Skip trailing "AND" // if ( isAnyFieldSelected ) // qu = qu.left( qu.length() - 4 ); qu += searchQuery; - qDebug( "queryByExample query: %s", qu.latin1() ); + odebug << "queryByExample query: " << qu << "" << oendl; // Execute query and return the received uid's OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); if ( res.state() != OSQLResult::Success ){ QArray<int> empty; return empty; } QArray<int> list = extractUids( res ); return list; @@ -611,25 +615,25 @@ QArray<int> OPimContactAccessBackend_SQL::matchRegexp( const QRegExp &r ) const QString searchlist; QStringList fieldList = OPimContactFields::untrfields( false ); // QMap<QString, int> translate = OPimContactFields::untrFieldsToId(); for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){ if ( !searchlist.isEmpty() ) searchlist += " OR "; searchlist += " rlike(\""+ r.pattern() + "\",\"" + *it + "\") "; } qu = qu + searchlist + ")"; - qDebug( "query: %s", qu.latin1() ); + odebug << "query: " << qu << "" << oendl; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); return extractUids( res ); #endif } const uint OPimContactAccessBackend_SQL::querySettings() { @@ -692,77 +696,77 @@ bool OPimContactAccessBackend_SQL::hasQuerySettings (uint querySettings) const QArray<int> OPimContactAccessBackend_SQL::sorted( bool asc, int , int , int ) { QTime t; t.start(); QString query = "SELECT uid FROM addressbook "; query += "ORDER BY \"Last Name\" "; if ( !asc ) query += "DESC"; - // qDebug("sorted query is: %s", query.latin1() ); + // odebug << "sorted query is: " << query << "" << oendl; OSQLRawQuery raw( query ); OSQLResult res = m_driver->query( &raw ); if ( res.state() != OSQLResult::Success ){ QArray<int> empty; return empty; } QArray<int> list = extractUids( res ); - qDebug("sorted needed %d ms!", t.elapsed() ); + odebug << "sorted needed " << t.elapsed() << " ms!" << oendl; return list; } void OPimContactAccessBackend_SQL::update() { - qDebug("Update starts"); + odebug << "Update starts" << oendl; QTime t; t.start(); // Now load the database set and extract the uid's // which will be held locally LoadQuery lo; OSQLResult res = m_driver->query(&lo); if ( res.state() != OSQLResult::Success ) return; m_uids = extractUids( res ); m_changed = false; - qDebug("Update ends %d ms", t.elapsed() ); + odebug << "Update ends " << t.elapsed() << " ms" << oendl; } QArray<int> OPimContactAccessBackend_SQL::extractUids( OSQLResult& res ) const { - qDebug("extractUids"); + odebug << "extractUids" << oendl; QTime t; t.start(); OSQLResultItem::ValueList list = res.results(); OSQLResultItem::ValueList::Iterator it; QArray<int> ints(list.count() ); - qDebug(" count = %d", list.count() ); + odebug << " count = " << list.count() << "" << oendl; int i = 0; for (it = list.begin(); it != list.end(); ++it ) { ints[i] = (*it).data("uid").toInt(); i++; } - qDebug("extractUids ready: count2 = %d needs %d ms", i, t.elapsed() ); + odebug << "extractUids ready: count2 = " << i << " needs " << t.elapsed() << " ms" << oendl; return ints; } QMap<int, QString> OPimContactAccessBackend_SQL::requestNonCustom( int uid ) const { QTime t; t.start(); QMap<int, QString> nonCustomMap; @@ -779,74 +783,74 @@ QMap<int, QString> OPimContactAccessBackend_SQL::requestNonCustom( int uid ) co QTime t3; t3.start(); // Now loop through all columns QStringList fieldList = OPimContactFields::untrfields( false ); QMap<QString, int> translate = OPimContactFields::untrFieldsToId(); for ( QStringList::Iterator it = ++fieldList.begin(); it != fieldList.end(); ++it ){ // Get data for the selected column and store it with the // corresponding id into the map.. int id = translate[*it]; QString value = resItem.data( (*it) ); - // qDebug("Reading %s... found: %s", (*it).latin1(), value.latin1() ); + // odebug << "Reading " << (*it) << "... found: " << value << "" << oendl; switch( id ){ case Qtopia::Birthday: case Qtopia::Anniversary:{ // Birthday and Anniversary are encoded special ( yyyy-mm-dd ) QStringList list = QStringList::split( '-', value ); QStringList::Iterator lit = list.begin(); int year = (*lit).toInt(); int month = (*(++lit)).toInt(); int day = (*(++lit)).toInt(); if ( ( day != 0 ) && ( month != 0 ) && ( year != 0 ) ){ QDate date( year, month, day ); nonCustomMap.insert( id, OPimDateConversion::dateToString( date ) ); } } break; case Qtopia::AddressCategory: - qDebug("Category is: %s", value.latin1() ); + odebug << "Category is: " << value << "" << oendl; default: nonCustomMap.insert( id, value ); } } // First insert uid nonCustomMap.insert( Qtopia::AddressUid, resItem.data( "uid" ) ); t3needed = t3.elapsed(); - // qDebug("Adding UID: %s", resItem.data( "uid" ).latin1() ); - qDebug("RequestNonCustom needed: insg.:%d ms, query: %d ms, mapping: %d ms", - t.elapsed(), t2needed, t3needed ); + // odebug << "Adding UID: " << resItem.data( "uid" ) << "" << oendl; + odebug << "RequestNonCustom needed: insg.:" << t.elapsed() << " ms, query: " << t2needed + << " ms, mapping: " << t3needed << " ms" << oendl; return nonCustomMap; } QMap<QString, QString> OPimContactAccessBackend_SQL::requestCustom( int uid ) const { QTime t; t.start(); QMap<QString, QString> customMap; FindCustomQuery query( uid ); OSQLResult res_custom = m_driver->query( &query ); if ( res_custom.state() == OSQLResult::Failure ) { - qWarning("OSQLResult::Failure in find query !!"); + owarn << "OSQLResult::Failure in find query !!" << oendl; QMap<QString, QString> empty; return empty; } OSQLResultItem::ValueList list = res_custom.results(); OSQLResultItem::ValueList::Iterator it = list.begin(); for ( ; it != list.end(); ++it ) { customMap.insert( (*it).data( "type" ), (*it).data( "value" ) ); } - qDebug("RequestCustom needed: %d ms", t.elapsed() ); + odebug << "RequestCustom needed: " << t.elapsed() << " ms" << oendl; return customMap; } } diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp index ffa6a7d..b6ea461 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp @@ -26,24 +26,26 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * VCard Backend for the OPIE-Contact Database. */ #include "vobject_p.h" /* OPIE */ #include <opie2/ocontactaccessbackend_vcard.h> +#include <opie2/odebug.h> + #include <qpe/timeconversion.h> //FIXME: Hack to allow direct access to FILE* fh. Rewrite this! #define protected public #include <qfile.h> #undef protected namespace Opie { OPimContactAccessBackend_VCard::OPimContactAccessBackend_VCard ( const QString& , const QString& filename ): m_dirty( false ), m_file( filename ) @@ -55,38 +57,38 @@ OPimContactAccessBackend_VCard::OPimContactAccessBackend_VCard ( const QString& bool OPimContactAccessBackend_VCard::load () { m_map.clear(); m_dirty = false; VObject* obj = 0l; if ( QFile::exists(m_file) ){ obj = Parse_MIME_FromFileName( QFile::encodeName(m_file).data() ); if ( !obj ) return false; }else{ - qWarning("File \"%s\" not found !", m_file.latin1() ); + owarn << "File \"" << m_file << "\" not found !" << oendl; return false; } while ( obj ) { OPimContact con = parseVObject( obj ); /* * if uid is 0 assign a new one * this at least happens on * Nokia6210 */ if ( con.uid() == 0 ){ con.setUid( 1 ); - qWarning("assigned new uid %d",con.uid() ); + owarn << "assigned new uid " << con.uid() << "" << oendl; } m_map.insert( con.uid(), con ); VObject *t = obj; obj = nextVObjectInList(obj); cleanVObject( t ); } return true; } @@ -307,25 +309,25 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj ) type |= PAGER; else if ( name == VCPreferredProp ) ; else type |= UNKNOWN; } if ( (type & UNKNOWN) != UNKNOWN ) { if ( ( type & (HOME|WORK) ) == 0 ) // default type |= HOME; if ( ( type & (VOICE|CELL|FAX|PAGER) ) == 0 ) // default type |= VOICE; - qWarning("value %s %d", value.data(), type ); + owarn << "value " << value.data() << " " << type << "" << oendl; if ( (type & (VOICE|HOME) ) == (VOICE|HOME) && (type & (CELL|HOME) ) != (CELL|HOME) ) c.setHomePhone( value ); if ( ( type & (FAX|HOME) ) == (FAX|HOME) ) c.setHomeFax( value ); if ( ( type & (CELL|HOME) ) == (CELL|HOME) ) c.setHomeMobile( value ); if ( ( type & (VOICE|WORK) ) == (VOICE|WORK) && (type & (CELL|WORK) ) != (CELL|WORK) ) c.setBusinessPhone( value ); if ( ( type & (FAX|WORK) ) == (FAX|WORK) ) c.setBusinessFax( value ); if ( ( type & (CELL|WORK) ) == (CELL|WORK) ) c.setBusinessMobile( value ); @@ -501,44 +503,44 @@ VObject* OPimContactAccessBackend_VCard::createVObject( const OPimContact &c ) QStringList emails = c.emailList(); // emails.prepend( c.defaultEmail() ); Fix for bugreport #1045 for( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { VObject *email = safeAddPropValue( vcard, VCEmailAddressProp, *it ); safeAddProp( email, VCInternetProp ); } safeAddPropValue( vcard, VCNoteProp, c.notes() ); // Exporting Birthday regarding RFC 2425 (5.8.4) if ( c.birthday().isValid() ){ - qWarning("Exporting birthday as: %s", convDateToVCardDate( c.birthday() ).latin1() ); + owarn << "Exporting birthday as: " << convDateToVCardDate( c.birthday() ) << "" << oendl; safeAddPropValue( vcard, VCBirthDateProp, convDateToVCardDate( c.birthday() ) ); } if ( !c.company().isEmpty() || !c.department().isEmpty() || !c.office().isEmpty() ) { VObject *org = safeAddProp( vcard, VCOrgProp ); safeAddPropValue( org, VCOrgNameProp, c.company() ); safeAddPropValue( org, VCOrgUnitProp, c.department() ); safeAddPropValue( org, VCOrgUnit2Prop, c.office() ); } // some values we have to export as custom fields safeAddPropValue( vcard, "X-Qtopia-Profession", c.profession() ); safeAddPropValue( vcard, "X-Qtopia-Manager", c.manager() ); safeAddPropValue( vcard, "X-Qtopia-Assistant", c.assistant() ); safeAddPropValue( vcard, "X-Qtopia-Spouse", c.spouse() ); safeAddPropValue( vcard, "X-Qtopia-Gender", c.gender() ); if ( c.anniversary().isValid() ){ - qWarning("Exporting anniversary as: %s", convDateToVCardDate( c.anniversary() ).latin1() ); + owarn << "Exporting anniversary as: " << convDateToVCardDate( c.anniversary() ) << "" << oendl; safeAddPropValue( vcard, "X-Qtopia-Anniversary", convDateToVCardDate( c.anniversary() ) ); } safeAddPropValue( vcard, "X-Qtopia-Nickname", c.nickname() ); safeAddPropValue( vcard, "X-Qtopia-Children", c.children() ); return vcard; } QString OPimContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) const { QString str_rfc2425 = QString("%1-%2-%3") .arg( d.year() ) @@ -549,39 +551,39 @@ QString OPimContactAccessBackend_VCard::convDateToVCardDate( const QDate& d ) co while ( ( pos = str_rfc2425.find (' ') ) > 0 ) str_rfc2425.replace( pos, 1, "0" ); return str_rfc2425; } QDate OPimContactAccessBackend_VCard::convVCardDateToDate( const QString& datestr ) { int monthPos = datestr.find('-'); int dayPos = datestr.find('-', monthPos+1 ); int sep_ignore = 1; if ( monthPos == -1 || dayPos == -1 ) { - qDebug("fromString didn't find - in str = %s; mpos = %d ypos = %d", datestr.latin1(), monthPos, dayPos ); + odebug << "fromString didn't find - in str = " << datestr << "; mpos = " << monthPos << " ypos = " << dayPos << "" << oendl; // Ok.. No "-" found, therefore we will try to read other format ( YYYYMMDD ) if ( datestr.length() == 8 ){ monthPos = 4; dayPos = 6; sep_ignore = 0; - qDebug("Try with follwing positions str = %s; mpos = %d ypos = %d", datestr.latin1(), monthPos, dayPos ); + odebug << "Try with follwing positions str = " << datestr << "; mpos = " << monthPos << " ypos = " << dayPos << "" << oendl; } else { return QDate(); } } int y = datestr.left( monthPos ).toInt(); int m = datestr.mid( monthPos + sep_ignore, dayPos - monthPos - sep_ignore ).toInt(); int d = datestr.mid( dayPos + sep_ignore ).toInt(); - qDebug("TimeConversion::fromString ymd = %s => %d %d %d; mpos = %d ypos = %d", datestr.latin1(), y, m, d, monthPos, dayPos); + odebug << "TimeConversion::fromString ymd = " << datestr << " => " << y << " " << m << " " << d << "; mpos = " << monthPos << " ypos = " << dayPos << "" << oendl; QDate date ( y,m,d ); return date; } VObject* OPimContactAccessBackend_VCard::safeAddPropValue( VObject *o, const char *prop, const QString &value ) { VObject *ret = 0; if ( o && !value.isEmpty() ) ret = addPropValue( o, prop, value.latin1() ); return ret; } diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp index 7b4d81f..5ffcb11 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp @@ -21,39 +21,43 @@ : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * XML Backend for the OPIE-Contact Database. */ + +/* OPIE */ #include <opie2/ocontactaccessbackend_xml.h> +#include <opie2/xmltree.h> +#include <opie2/ocontactaccessbackend.h> +#include <opie2/ocontactaccess.h> +#include <opie2/odebug.h> + +#include <qpe/global.h> +/* QT */ #include <qasciidict.h> #include <qfile.h> #include <qfileinfo.h> #include <qregexp.h> #include <qarray.h> #include <qmap.h> -#include <qpe/global.h> - -#include <opie2/xmltree.h> -#include <opie2/ocontactaccessbackend.h> -#include <opie2/ocontactaccess.h> - +/* STD */ #include <stdlib.h> #include <errno.h> using namespace Opie::Core; namespace Opie { OPimContactAccessBackend_XML::OPimContactAccessBackend_XML ( const QString& appname, const QString& filename ): m_changed( false ) { // Just m_contactlist should call delete if an entry // is removed. @@ -95,25 +99,25 @@ bool OPimContactAccessBackend_XML::save() out = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Addressbook ><AddressBook>\n" " <Groups>\n" " </Groups>\n" " <Contacts>\n"; QCString cstr = out.utf8(); f.writeBlock( cstr.data(), cstr.length() ); idx_offset += cstr.length(); out = ""; // Write all contacts QListIterator<OPimContact> it( m_contactList ); for ( ; it.current(); ++it ) { - // qWarning(" Uid %d at Offset: %x", (*it)->uid(), idx_offset ); + // owarn << " Uid " << (*it)->uid() << " at Offset: " << idx_offset << "" << oendl; out += "<Contact "; (*it)->save( out ); out += "/>\n"; cstr = out.utf8(); total_written = f.writeBlock( cstr.data(), cstr.length() ); idx_offset += cstr.length(); if ( total_written != int(cstr.length()) ) { f.close(); QFile::remove( strNewFile ); return false; } out = ""; @@ -450,49 +454,49 @@ QArray<int> OPimContactAccessBackend_XML::sorted( bool asc, int , int , int ) m_currentQuery[i++] = nameToUid[ (*it) ]; }else{ for ( QStringList::Iterator it = names.end(); it != names.begin(); --it ) m_currentQuery[i++] = nameToUid[ (*it) ]; } return m_currentQuery; } bool OPimContactAccessBackend_XML::add ( const OPimContact &newcontact ) { - //qWarning("odefaultbackend: ACTION::ADD"); + //owarn << "odefaultbackend: ACTION::ADD" << oendl; updateJournal (newcontact, ACTION_ADD); addContact_p( newcontact ); m_changed = true; return true; } bool OPimContactAccessBackend_XML::replace ( const OPimContact &contact ) { m_changed = true; OPimContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) ); if ( found ) { OPimContact* newCont = new OPimContact( contact ); updateJournal ( *newCont, ACTION_REPLACE); m_contactList.removeRef ( found ); m_contactList.append ( newCont ); m_uidToContact.remove( QString().setNum( contact.uid() ) ); m_uidToContact.insert( QString().setNum( newCont->uid() ), newCont ); - qWarning("Nur zur Sicherheit: %d == %d ?",contact.uid(), newCont->uid()); + owarn << "Nur zur Sicherheit: " << contact.uid() << " == " << newCont->uid() << " ?" << oendl; return true; } else return false; } bool OPimContactAccessBackend_XML::remove ( int uid ) { m_changed = true; OPimContact* found = m_uidToContact.find ( QString().setNum( uid ) ); @@ -580,33 +584,33 @@ bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal dict.insert( "Assistant", new int(Qtopia::Assistant) ); dict.insert( "Manager", new int(Qtopia::Manager) ); dict.insert( "Spouse", new int(Qtopia::Spouse) ); dict.insert( "Children", new int(Qtopia::Children) ); dict.insert( "Gender", new int(Qtopia::Gender) ); dict.insert( "Birthday", new int(Qtopia::Birthday) ); dict.insert( "Anniversary", new int(Qtopia::Anniversary) ); dict.insert( "Nickname", new int(Qtopia::Nickname) ); dict.insert( "Notes", new int(Qtopia::Notes) ); dict.insert( "action", new int(JOURNALACTION) ); dict.insert( "actionrow", new int(JOURNALROW) ); - //qWarning( "OPimContactDefaultBackEnd::loading %s", filename.latin1() ); + //owarn << "OPimContactDefaultBackEnd::loading " << filename << "" << oendl; XMLElement *root = XMLElement::load( filename ); if(root != 0l ){ // start parsing /* Parse all XML-Elements and put the data into the * Contact-Class */ XMLElement *element = root->firstChild(); - //qWarning("OPimContactAccess::load tagName(): %s", root->tagName().latin1() ); + //owarn << "OPimContactAccess::load tagName(): " << root->tagName() << "" << oendl; element = element->firstChild(); /* Search Tag "Contacts" which is the parent of all Contacts */ while( element && !isJournal ){ if( element->tagName() != QString::fromLatin1("Contacts") ){ //qWarning ("OPimContactDefBack::Searching for Tag \"Contacts\"! Found: %s", // element->tagName().latin1()); element = element->nextChild(); } else { element = element->firstChild(); break; } @@ -628,25 +632,25 @@ bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal foundAction = false; XMLElement::AttributeMap aMap = element->attributes(); XMLElement::AttributeMap::Iterator it; contactMap.clear(); customMap.clear(); for( it = aMap.begin(); it != aMap.end(); ++it ){ // qWarning ("Read Attribute: %s=%s", it.key().latin1(),it.data().latin1()); int *find = dict[ it.key() ]; /* Unknown attributes will be stored as "Custom" elements */ if ( !find ) { - // qWarning("Attribute %s not known.", it.key().latin1()); + // owarn << "Attribute " << it.key() << " not known." << oendl; //contact.setCustomField(it.key(), it.data()); customMap.insert( it.key(), it.data() ); continue; } /* Check if special conversion is needed and add attribute * into Contact class */ switch( *find ) { /* case Qtopia::AddressUid: contact.setUid( it.data().toInt() ); @@ -695,28 +699,28 @@ bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal qWarning ("Unknown action: ignored !"); break; } }else{ /* Add contact to list */ addContact_p (contact); } /* Move to next element */ element = element->nextChild(); } }else { - qWarning("ODefBack::could not load"); + owarn << "ODefBack::could not load" << oendl; } delete root; - qWarning("returning from loading" ); + owarn << "returning from loading" << oendl; return true; } void OPimContactAccessBackend_XML::updateJournal( const OPimContact& cnt, journal_action action ) { QFile f( m_journalName ); bool created = !f.exists(); if ( !f.open(IO_WriteOnly|IO_Append) ) return; diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp index f4f3c94..105c106 100644 --- a/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp +++ b/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp @@ -22,38 +22,43 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * SQL Backend for the OPIE-Calender Database. * */ -#include <stdio.h> -#include <stdlib.h> - -#include <qarray.h> -#include <qstringlist.h> - -#include <qpe/global.h> - +/* OPIE */ #include <opie2/osqldriver.h> #include <opie2/osqlmanager.h> #include <opie2/osqlquery.h> #include <opie2/opimrecurrence.h> #include <opie2/odatebookaccessbackend_sql.h> +#include <opie2/odebug.h> + +#include <qpe/global.h> + +/* QT */ +#include <qarray.h> +#include <qstringlist.h> + +/* STD */ +#include <stdio.h> +#include <stdlib.h> + using namespace Opie::DB; namespace { /** * a find query for custom elements */ class FindCustomQuery : public OSQLQuery { public: FindCustomQuery(int uid); FindCustomQuery(const QArray<int>& ); ~FindCustomQuery(); @@ -153,25 +158,25 @@ bool ODateBookAccessBackend_SQL::load() // It is save here to create the table, even if it // do exist. ( Is that correct for all databases ?? ) QString qu = "create table datebook( uid INTEGER PRIMARY KEY "; QMap<int, QString>::Iterator it; for ( it = ++m_fieldMap.begin(); it != m_fieldMap.end(); ++it ){ qu += QString( ",%1 VARCHAR(10)" ).arg( it.data() ); } qu += " );"; qu += "create table custom_data( uid INTEGER, id INTEGER, type VARCHAR(10), priority INTEGER, value VARCHAR(10), PRIMARY KEY /* identifier */ (uid, id) );"; - qWarning( "command: %s", qu.latin1() ); + owarn << "command: " << qu << "" << oendl; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); if ( res.state() != OSQLResult::Success ) return false; update(); return true; } void ODateBookAccessBackend_SQL::update() @@ -212,51 +217,51 @@ void ODateBookAccessBackend_SQL::clear() { QString qu = "drop table datebook;"; qu += "drop table custom_data;"; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); reload(); } OPimEvent ODateBookAccessBackend_SQL::find( int uid ) const{ - qDebug( "ODateBookAccessBackend_SQL::find( %d )", uid ); + odebug << "ODateBookAccessBackend_SQL::find( " << uid << " )" << oendl; QString qu = "select *"; qu += "from datebook where uid = " + QString::number(uid); - qDebug( "Query: %s", qu.latin1() ); + odebug << "Query: " << qu << "" << oendl; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); OSQLResultItem resItem = res.first(); // Create Map for date event and insert UID QMap<int,QString> dateEventMap; dateEventMap.insert( OPimEvent::FUid, QString::number( uid ) ); // Now insert the data out of the columns into the map. QMapConstIterator<int, QString> it; for ( it = ++m_fieldMap.begin(); it != m_fieldMap.end(); ++it ){ dateEventMap.insert( m_reverseFieldMap[*it], resItem.data( *it ) ); } // Last step: Put map into date event, add custom map and return it OPimEvent retDate( dateEventMap ); retDate.setExtraMap( requestCustom( uid ) ); - qDebug( "ODateBookAccessBackend_SQL::find( %d ) end", uid ); + odebug << "ODateBookAccessBackend_SQL::find( " << uid << " ) end" << oendl; return retDate; } // FIXME: Speed up update of uid's.. bool ODateBookAccessBackend_SQL::add( const OPimEvent& ev ) { QMap<int,QString> eventMap = ev.toMap(); QString qu = "insert into datebook VALUES( " + QString::number( ev.uid() ); QMap<int, QString>::Iterator it; for ( it = ++m_fieldMap.begin(); it != m_fieldMap.end(); ++it ){ if ( !eventMap[it.key()].isEmpty() ) @@ -274,25 +279,25 @@ bool ODateBookAccessBackend_SQL::add( const OPimEvent& ev ) qu += "insert into custom_data VALUES(" + QString::number( ev.uid() ) + "," + QString::number( id++ ) + ",'" + it.key() //.latin1() + "'," + "0" // Priority for future enhancements + ",'" + it.data() //.latin1() + "');"; } - qWarning("add %s", qu.latin1() ); + owarn << "add " << qu << "" << oendl; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); if ( res.state() != OSQLResult::Success ){ return false; } // Update list of uid's update(); return true; } @@ -381,74 +386,74 @@ OPimEvent::ValueList ODateBookAccessBackend_SQL::directRawRepeats() QArray<int> ODateBookAccessBackend_SQL::matchRegexp( const QRegExp &r ) const { QString qu = "SELECT uid FROM datebook WHERE ("; // Do it make sense to search other fields, too ? qu += " rlike(\""+ r.pattern() + "\", Location ) OR"; qu += " rlike(\""+ r.pattern() + "\", Note )"; qu += " )"; - qDebug( "query: %s", qu.latin1() ); + odebug << "query: " << qu << "" << oendl; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); return extractUids( res ); } /* ===== Private Functions ========================================== */ QArray<int> ODateBookAccessBackend_SQL::extractUids( OSQLResult& res ) const { - qWarning("extractUids"); + owarn << "extractUids" << oendl; QTime t; t.start(); OSQLResultItem::ValueList list = res.results(); OSQLResultItem::ValueList::Iterator it; QArray<int> ints(list.count() ); - qWarning(" count = %d", list.count() ); + owarn << " count = " << list.count() << "" << oendl; int i = 0; for (it = list.begin(); it != list.end(); ++it ) { ints[i] = (*it).data("uid").toInt(); i++; } - qWarning("extractUids ready: count2 = %d needs %d ms", i, t.elapsed() ); + owarn << "extractUids ready: count2 = " << i << " needs " << t.elapsed() << " ms" << oendl; return ints; } QMap<QString, QString> ODateBookAccessBackend_SQL::requestCustom( int uid ) const { QTime t; t.start(); QMap<QString, QString> customMap; FindCustomQuery query( uid ); OSQLResult res_custom = m_driver->query( &query ); if ( res_custom.state() == OSQLResult::Failure ) { - qWarning("OSQLResult::Failure in find query !!"); + owarn << "OSQLResult::Failure in find query !!" << oendl; QMap<QString, QString> empty; return empty; } OSQLResultItem::ValueList list = res_custom.results(); OSQLResultItem::ValueList::Iterator it = list.begin(); for ( ; it != list.end(); ++it ) { customMap.insert( (*it).data( "type" ), (*it).data( "value" ) ); } - qDebug("RequestCustom needed: %d ms", t.elapsed() ); + odebug << "RequestCustom needed: " << t.elapsed() << " ms" << oendl; return customMap; } } diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp index 77c0253..2ff36e3 100644 --- a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp +++ b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp @@ -17,47 +17,53 @@ =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* OPIE */ +#include <opie2/opimnotifymanager.h> +#include <opie2/opimrecurrence.h> +#include <opie2/opimtimezone.h> +#include <opie2/odatebookaccessbackend_xml.h> +#include <opie2/odebug.h> + +#include <qtopia/global.h> +#include <qtopia/stringutil.h> +#include <qtopia/timeconversion.h> + +/* QT */ +#include <qasciidict.h> +#include <qfile.h> + +/* STD */ #include <errno.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/mman.h> #include <sys/stat.h> #include <unistd.h> -#include <qasciidict.h> -#include <qfile.h> - -#include <qtopia/global.h> -#include <qtopia/stringutil.h> -#include <qtopia/timeconversion.h> - -#include <opie2/opimnotifymanager.h> -#include <opie2/opimrecurrence.h> -#include <opie2/opimtimezone.h> -#include <opie2/odatebookaccessbackend_xml.h> using namespace Opie; namespace { // FROM TT again char *strstrlen(const char *haystack, int hLen, const char* needle, int nLen) { char needleChar; char haystackChar; if (!needle || !haystack || !hLen || !nLen) return 0; @@ -107,25 +113,25 @@ namespace { FRStart, FREnd, FNote, FCreated, // Should't this be called FRCreated ? FTimeZone, FRecParent, FRecChildren, FExceptions }; // FIXME: Use OPimEvent::toMap() here !! (eilers) inline void save( const OPimEvent& ev, QString& buf ) { - qWarning("Saving %d %s", ev.uid(), ev.description().latin1() ); + owarn << "Saving " << ev.uid() << " " << ev.description() << "" << oendl; buf += " description=\"" + Qtopia::escapeString(ev.description() ) + "\""; if (!ev.location().isEmpty() ) buf += " location=\"" + Qtopia::escapeString(ev.location() ) + "\""; buf += " categories=\""+ Qtopia::escapeString( Qtopia::Record::idsToString( ev.categories() ) ) + "\""; buf += " uid=\"" + QString::number( ev.uid() ) + "\""; if (ev.isAllDay() ) buf += " type=\"AllDay\""; // is that all ?? (eilers) if (ev.hasNotifiers() ) { OPimAlarm alarm = ev.notifiers().alarms()[0]; // take only the first @@ -481,60 +487,60 @@ bool ODateBookAccessBackend_XML::loadFile() { } // FIXME: Use OPimEvent::fromMap() which makes this obsolete.. (eilers) void ODateBookAccessBackend_XML::finalizeRecord( OPimEvent& ev ) { /* AllDay is alway in UTC */ if ( ev.isAllDay() ) { OPimTimeZone utc = OPimTimeZone::utc(); ev.setStartDateTime( utc.fromUTCDateTime( start ) ); ev.setEndDateTime ( utc.fromUTCDateTime( end ) ); ev.setTimeZone( "UTC"); // make sure it is really utc }else { /* to current date time */ - // qWarning(" Start is %d", start ); + // owarn << " Start is " << start << "" << oendl; OPimTimeZone zone( ev.timeZone().isEmpty() ? OPimTimeZone::current() : ev.timeZone() ); QDateTime date = zone.toDateTime( start ); - qWarning(" Start is %s", date.toString().latin1() ); + owarn << " Start is " << date.toString() << "" << oendl; ev.setStartDateTime( zone.toDateTime( date, OPimTimeZone::current() ) ); date = zone.toDateTime( end ); ev.setEndDateTime ( zone.toDateTime( date, OPimTimeZone::current() ) ); } if ( rec && rec->doesRecur() ) { OPimTimeZone utc = OPimTimeZone::utc(); OPimRecurrence recu( *rec ); // call copy c'tor; recu.setEndDate ( utc.fromUTCDateTime( rp_end ).date() ); recu.setCreatedDateTime( utc.fromUTCDateTime( created ) ); recu.setStart( ev.startDateTime().date() ); ev.setRecurrence( recu ); } if (alarmTime != -1 ) { QDateTime dt = ev.startDateTime().addSecs( -1*alarmTime*60 ); OPimAlarm al( snd , dt ); ev.notifiers().add( al ); } if ( m_raw.contains( ev.uid() ) || m_rep.contains( ev.uid() ) ) { - qWarning("already contains assign uid"); + owarn << "already contains assign uid" << oendl; ev.setUid( 1 ); } - qWarning("addind %d %s", ev.uid(), ev.description().latin1() ); + owarn << "addind " << ev.uid() << " " << ev.description() << "" << oendl; if ( ev.hasRecurrence() ) m_rep.insert( ev.uid(), ev ); else m_raw.insert( ev.uid(), ev ); } void ODateBookAccessBackend_XML::setField( OPimEvent& e, int id, const QString& value) { -// qWarning(" setting %s", value.latin1() ); +// owarn << " setting " << value << "" << oendl; switch( id ) { case FDescription: e.setDescription( value ); break; case FLocation: e.setLocation( value ); break; case FCategories: e.setCategories( e.idsFromString( value ) ); break; case FUid: e.setUid( value.toInt() ); @@ -601,25 +607,25 @@ void ODateBookAccessBackend_XML::setField( OPimEvent& e, int id, const QString& break; case FRecChildren:{ QStringList list = QStringList::split(' ', value ); for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { e.addChild( (*it).toInt() ); } } break; case FExceptions:{ QStringList list = QStringList::split(' ', value ); for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { QDate date( (*it).left(4).toInt(), (*it).mid(4, 2).toInt(), (*it).right(2).toInt() ); - qWarning("adding exception %s", date.toString().latin1() ); + owarn << "adding exception " << date.toString() << "" << oendl; recur()->exceptions().append( date ); } } break; case FTimeZone: if ( value != "None" ) e.setTimeZone( value ); break; default: break; } } diff --git a/libopie2/opiepim/backend/otodoaccesssql.cpp b/libopie2/opiepim/backend/otodoaccesssql.cpp index 132b5a6..6f65c48 100644 --- a/libopie2/opiepim/backend/otodoaccesssql.cpp +++ b/libopie2/opiepim/backend/otodoaccesssql.cpp @@ -19,39 +19,43 @@ _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <qdatetime.h> -#include <qmap.h> -#include <qstring.h> - -#include <qpe/global.h> - +/* OPIE */ #include <opie2/osqldriver.h> #include <opie2/osqlresult.h> #include <opie2/osqlmanager.h> #include <opie2/osqlquery.h> #include <opie2/otodoaccesssql.h> #include <opie2/opimstate.h> #include <opie2/opimnotifymanager.h> #include <opie2/opimrecurrence.h> +#include <opie2/odebug.h> + +#include <qpe/global.h> + +/* QT */ +#include <qdatetime.h> +#include <qmap.h> +#include <qstring.h> + using namespace Opie::DB; using namespace Opie; /* * first some query * CREATE query * LOAD query * INSERT * REMOVE * CLEAR */ @@ -282,25 +286,25 @@ namespace { + "," + QString::number( id++ ) + ",'" + it.key() + "'," + "0" // Priority for future enhancements + ",'" + it.data() + "');"; } - qDebug("add %s", qu.latin1() ); + odebug << "add " << qu << "" << oendl; return qu; } RemoveQuery::RemoveQuery(int uid ) : OSQLQuery(), m_uid( uid ) {} RemoveQuery::~RemoveQuery() {} QString RemoveQuery::query()const { QString qu = "DELETE FROM todolist WHERE uid = " + QString::number(m_uid) + " ;"; qu += "DELETE FROM custom_data WHERE uid = " + QString::number(m_uid); return qu; } @@ -447,35 +451,35 @@ QArray<int> OPimTodoAccessBackendSQL::allRecords()const { QArray<int> OPimTodoAccessBackendSQL::queryByExample( const OPimTodo& , int, const QDateTime& ){ QArray<int> ints(0); return ints; } OPimTodo OPimTodoAccessBackendSQL::find(int uid ) const{ FindQuery query( uid ); return todo( m_driver->query(&query) ); } OPimTodo OPimTodoAccessBackendSQL::find( int uid, const QArray<int>& ints, uint cur, Frontend::CacheDirection dir ) const{ uint CACHE = readAhead(); - qDebug("searching for %d", uid ); + odebug << "searching for " << uid << "" << oendl; QArray<int> search( CACHE ); uint size =0; OPimTodo to; // we try to cache CACHE items switch( dir ) { /* forward */ case 0: // FIXME: Not a good style to use magic numbers here (eilers) for (uint i = cur; i < ints.count() && size < CACHE; i++ ) { - qDebug("size %d %d", size, ints[i] ); + odebug << "size " << size << " " << ints[i] << "" << oendl; search[size] = ints[i]; size++; } break; /* reverse */ case 1: // FIXME: Not a good style to use magic numbers here (eilers) for (uint i = cur; i != 0 && size < CACHE; i-- ) { search[size] = ints[i]; size++; } break; } @@ -532,25 +536,25 @@ QArray<int> OPimTodoAccessBackendSQL::overDue() { } QArray<int> OPimTodoAccessBackendSQL::effectiveToDos( const QDate& s, const QDate& t, bool u) { EffQuery ef(s, t, u ); return uids (m_driver->query(&ef) ); } /* * */ QArray<int> OPimTodoAccessBackendSQL::sorted( bool asc, int sortOrder, int sortFilter, int cat ) { - qDebug("sorted %d, %d", asc, sortOrder ); + odebug << "sorted " << asc << ", " << sortOrder << "" << oendl; QString query; query = "select uid from todolist WHERE "; /* * Sort Filter stuff * not that straight forward * FIXME: Replace magic numbers * */ /* Category */ if ( sortFilter & 1 ) { QString str; @@ -591,74 +595,74 @@ QArray<int> OPimTodoAccessBackendSQL::sorted( bool asc, int sortOrder, case 1: query += "priority"; break; case 2: query += "summary"; break; case 3: query += "DueDate"; break; } if ( !asc ) { - qDebug("not ascending!"); + odebug << "not ascending!" << oendl; query += " DESC"; } - qDebug( query ); + odebug << query << oendl; OSQLRawQuery raw(query ); return uids( m_driver->query(&raw) ); } bool OPimTodoAccessBackendSQL::date( QDate& da, const QString& str ) const{ if ( str == "0-0-0" ) return false; else{ int day, year, month; QStringList list = QStringList::split("-", str ); year = list[0].toInt(); month = list[1].toInt(); day = list[2].toInt(); da.setYMD( year, month, day ); return true; } } OPimTodo OPimTodoAccessBackendSQL::todo( const OSQLResult& res ) const{ if ( res.state() == OSQLResult::Failure ) { OPimTodo to; return to; } OSQLResultItem::ValueList list = res.results(); OSQLResultItem::ValueList::Iterator it = list.begin(); - qDebug("todo1"); + odebug << "todo1" << oendl; OPimTodo to = todo( (*it) ); cache( to ); ++it; for ( ; it != list.end(); ++it ) { - qDebug("caching"); + odebug << "caching" << oendl; cache( todo( (*it) ) ); } return to; } OPimTodo OPimTodoAccessBackendSQL::todo( OSQLResultItem& item )const { - qDebug("todo(ResultItem)"); + odebug << "todo(ResultItem)" << oendl; // Request information from addressbook table and create the OPimTodo-object. bool hasDueDate = false; QDate dueDate = QDate::currentDate(); hasDueDate = date( dueDate, item.data("DueDate") ); QStringList cats = QStringList::split(";", item.data("categories") ); - qDebug("Item is completed: %d", item.data("completed").toInt() ); + odebug << "Item is completed: " << item.data("completed").toInt() << "" << oendl; OPimTodo to( (bool)item.data("completed").toInt(), item.data("priority").toInt(), cats, item.data("summary"), item.data("description"), item.data("progress").toUShort(), hasDueDate, dueDate, item.data("uid").toInt() ); bool isOk; int prioInt = QString( item.data("priority") ).toInt( &isOk ); if ( isOk ) to.setPriority( prioInt ); bool hasStartDate = false; QDate startDate = QDate::currentDate(); @@ -741,25 +745,25 @@ void OPimTodoAccessBackendSQL::update()const { LoadQuery lo; OSQLResult res = m_driver->query(&lo); if ( res.state() != OSQLResult::Success ) return; ((OPimTodoAccessBackendSQL*)this)->m_uids = uids( res ); } QArray<int> OPimTodoAccessBackendSQL::uids( const OSQLResult& res) const{ OSQLResultItem::ValueList list = res.results(); OSQLResultItem::ValueList::Iterator it; QArray<int> ints(list.count() ); - qDebug(" count = %d", list.count() ); + odebug << " count = " << list.count() << "" << oendl; int i = 0; for (it = list.begin(); it != list.end(); ++it ) { ints[i] = (*it).data("uid").toInt(); i++; } return ints; } QArray<int> OPimTodoAccessBackendSQL::matchRegexp( const QRegExp &r ) const { @@ -767,25 +771,25 @@ QArray<int> OPimTodoAccessBackendSQL::matchRegexp( const QRegExp &r ) const QArray<int> empty; return empty; #else QString qu = "SELECT uid FROM todolist WHERE ("; // Do it make sense to search other fields, too ? qu += " rlike(\""+ r.pattern() + "\",\"description\") OR"; qu += " rlike(\""+ r.pattern() + "\",\"summary\")"; qu += ")"; - qDebug( "query: %s", qu.latin1() ); + odebug << "query: " << qu << "" << oendl; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); return uids( res ); #endif } QBitArray OPimTodoAccessBackendSQL::supports()const { @@ -807,25 +811,25 @@ QBitArray OPimTodoAccessBackendSQL::sup() const{ void OPimTodoAccessBackendSQL::removeAllCompleted(){ // First we need the uids from all entries which are // completed. Then, we just have to remove them... QString qu = "SELECT uid FROM todolist WHERE completed = 1"; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); QArray<int> completed_uids = uids( res ); - qDebug( "Number of completed: %d", completed_uids.size() ); + odebug << "Number of completed: " << completed_uids.size() << "" << oendl; if ( completed_uids.size() == 0 ) return; qu = "DELETE FROM todolist WHERE ("; QString query; for ( int i = 0; i < completed_uids.size(); i++ ){ if ( !query.isEmpty() ) query += " OR "; query += QString( "uid = %1" ).arg( completed_uids[i] ); } @@ -833,43 +837,43 @@ void OPimTodoAccessBackendSQL::removeAllCompleted(){ // Put remove of custom entries in this query to speed up.. qu += "DELETE FORM custom_data WHERE ("; query = ""; for ( int i = 0; i < completed_uids.size(); i++ ){ if ( !query.isEmpty() ) query += " OR "; query += QString( "uid = %1" ).arg( completed_uids[i] ); } qu += query + " );"; - qDebug( "query: %s", qu.latin1() ); + odebug << "query: " << qu << "" << oendl; OSQLRawQuery raw2( qu ); res = m_driver->query( &raw2 ); if ( res.state() == OSQLResult::Failure ) { - qWarning("OPimTodoAccessBackendSQL::removeAllCompleted():Failure in query: %s", qu.latin1() ); + owarn << "OPimTodoAccessBackendSQL::removeAllCompleted():Failure in query: " << qu << "" << oendl; } } QMap<QString, QString> OPimTodoAccessBackendSQL::requestCustom( int uid ) const { QMap<QString, QString> customMap; FindCustomQuery query( uid ); OSQLResult res_custom = m_driver->query( &query ); if ( res_custom.state() == OSQLResult::Failure ) { - qWarning("OSQLResult::Failure in find query !!"); + owarn << "OSQLResult::Failure in find query !!" << oendl; QMap<QString, QString> empty; return empty; } OSQLResultItem::ValueList list = res_custom.results(); OSQLResultItem::ValueList::Iterator it = list.begin(); for ( ; it != list.end(); ++it ) { customMap.insert( (*it).data( "type" ), (*it).data( "value" ) ); } return customMap; } diff --git a/libopie2/opiepim/backend/otodoaccessvcal.cpp b/libopie2/opiepim/backend/otodoaccessvcal.cpp index 03d4479..14a325e 100644 --- a/libopie2/opiepim/backend/otodoaccessvcal.cpp +++ b/libopie2/opiepim/backend/otodoaccessvcal.cpp @@ -18,29 +18,33 @@ _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* OPIE */ #include "vobject_p.h" -#include <qpe/timeconversion.h> + +/* OPIE */ #include <opie2/otodoaccessvcal.h> +#include <opie2/odebug.h> + +#include <qpe/timeconversion.h> +/* QT */ //FIXME: Hack to allow direct access to FILE* fh. Rewrite this! #define protected public #include <qfile.h> #undef protected using namespace Opie; namespace { static OPimTodo eventByVObj( VObject *obj ){ OPimTodo event; VObject *ob; QCString name; @@ -79,25 +83,25 @@ namespace { bool ok; event.setPriority(name.toInt(&ok) ); } //due date if((ob = isAPropertyOf(obj, VCDueProp)) ){ event.setHasDueDate( true ); name = vObjectStringZValue( ob ); event.setDueDate( TimeConversion::fromISO8601( name).date() ); } // categories if((ob = isAPropertyOf( obj, VCCategoriesProp )) != 0 ){ name = vObjectStringZValue( ob ); - qWarning("Categories:%s", name.data() ); + owarn << "Categories:" << name.data() << "" << oendl; } event.setUid( 1 ); return event; }; static VObject *vobjByEvent( const OPimTodo &event ) { VObject *task = newVObject( VCTodoProp ); if( task == 0 ) return 0l; if( event.hasDueDate() ) { QTime time(0, 0, 0); diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp index cce6111..3e06d88 100644 --- a/libopie2/opiepim/backend/otodoaccessxml.cpp +++ b/libopie2/opiepim/backend/otodoaccessxml.cpp @@ -17,48 +17,53 @@ =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* OPIE */ +#include <opie2/opimdateconversion.h> +#include <opie2/opimstate.h> +#include <opie2/opimtimezone.h> +#include <opie2/opimnotifymanager.h> +#include <opie2/opimrecurrence.h> +#include <opie2/otodoaccessxml.h> +#include <opie2/odebug.h> + +#include <qpe/global.h> +#include <qpe/stringutil.h> +#include <qpe/timeconversion.h> + +/* QT */ +#include <qfile.h> +#include <qvector.h> + +/* STD */ #include <errno.h> #include <fcntl.h> #include <sys/mman.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> -#include <qfile.h> -#include <qvector.h> - -#include <qpe/global.h> -#include <qpe/stringutil.h> -#include <qpe/timeconversion.h> - -#include <opie2/opimdateconversion.h> -#include <opie2/opimstate.h> -#include <opie2/opimtimezone.h> -#include <opie2/opimnotifymanager.h> -#include <opie2/opimrecurrence.h> -#include <opie2/otodoaccessxml.h> - using namespace Opie; namespace { time_t rp_end; OPimRecurrence* rec; OPimRecurrence *recur() { if (!rec ) rec = new OPimRecurrence; return rec; } int snd; enum MoreAttributes { FRType = OPimTodo::CompletedDate + 2, @@ -168,25 +173,25 @@ bool OPimTodoAccessXML::load() { /* we do not the file any more */ ::close( fd ); char* dt = (char*)map_addr; int len = attribut.st_size; int i = 0; char *point; const char* collectionString = "<Task "; int strLen = strlen(collectionString); while ( ( point = strstrlen( dt+i, len -i, collectionString, strLen ) ) != 0l ) { i = point -dt; i+= strLen; - qWarning("Found a start at %d %d", i, (point-dt) ); + owarn << "Found a start at " << i << " " << (point-dt) << "" << oendl; OPimTodo ev; m_year = m_month = m_day = 0; while ( TRUE ) { while ( i < len && (dt[i] == ' ' || dt[i] == '\n' || dt[i] == '\r') ) ++i; if ( i >= len-2 || (dt[i] == '/' && dt[i+1] == '>') ) break; // we have another attribute, read it. int j = i; @@ -224,58 +229,58 @@ bool OPimTodoAccessXML::load() { if ( haveEnt ) str = Qtopia::plainString( str ); /* * add key + value */ todo( &dict, ev, attr, str ); } /* * now add it */ - qWarning("End at %d", i ); + owarn << "End at " << i << "" << oendl; if (m_events.contains( ev.uid() ) || ev.uid() == 0) { ev.setUid( 1 ); m_changed = true; } if ( ev.hasDueDate() ) { ev.setDueDate( QDate(m_year, m_month, m_day) ); } if ( rec && rec->doesRecur() ) { OPimTimeZone utc = OPimTimeZone::utc(); OPimRecurrence recu( *rec ); // call copy c'tor recu.setEndDate( utc.fromUTCDateTime( rp_end ).date() ); recu.setStart( ev.dueDate() ); ev.setRecurrence( recu ); } m_events.insert(ev.uid(), ev ); m_year = m_month = m_day = -1; delete rec; rec = 0; } munmap(map_addr, attribut.st_size ); - qWarning("counts %d records loaded!", m_events.count() ); + owarn << "counts " << m_events.count() << " records loaded!" << oendl; return true; } bool OPimTodoAccessXML::reload() { m_events.clear(); return load(); } bool OPimTodoAccessXML::save() { -// qWarning("saving"); +// owarn << "saving" << oendl; if (!m_opened || !m_changed ) { -// qWarning("not saving"); +// owarn << "not saving" << oendl; return true; } QString strNewFile = m_file + ".new"; QFile f( strNewFile ); if (!f.open( IO_WriteOnly|IO_Raw ) ) return false; int written; QString out; out = "<!DOCTYPE Tasks>\n<Tasks>\n"; // for all todos @@ -298,25 +303,25 @@ bool OPimTodoAccessXML::save() { QCString cstr = out.utf8(); written = f.writeBlock( cstr.data(), cstr.length() ); if ( written != (int)cstr.length() ) { f.close(); QFile::remove( strNewFile ); return false; } /* flush before renaming */ f.close(); if( ::rename( strNewFile.latin1(), m_file.latin1() ) < 0 ) { -// qWarning("error renaming"); +// owarn << "error renaming" << oendl; QFile::remove( strNewFile ); } m_changed = false; return true; } QArray<int> OPimTodoAccessXML::allRecords()const { QArray<int> ids( m_events.count() ); QMap<int, OPimTodo>::ConstIterator it; int i = 0; for ( it = m_events.begin(); it != m_events.end(); ++it ) { @@ -336,25 +341,25 @@ OPimTodo OPimTodoAccessXML::find( int uid )const { if ( it != m_events.end() ) todo = it.data(); return todo; } void OPimTodoAccessXML::clear() { if (m_opened ) m_changed = true; m_events.clear(); } bool OPimTodoAccessXML::add( const OPimTodo& todo ) { -// qWarning("add"); +// owarn << "add" << oendl; m_changed = true; m_events.insert( todo.uid(), todo ); return true; } bool OPimTodoAccessXML::remove( int uid ) { m_changed = true; m_events.remove( uid ); return true; } bool OPimTodoAccessXML::replace( const OPimTodo& todo) { @@ -395,31 +400,31 @@ QArray<int> OPimTodoAccessXML::overDue() { ids[i] = it.key(); i++; } } ids.resize( i ); return ids; } /* private */ void OPimTodoAccessXML::todo( QAsciiDict<int>* dict, OPimTodo& ev, const QCString& attr, const QString& val) { -// qWarning("parse to do from XMLElement" ); +// owarn << "parse to do from XMLElement" << oendl; int *find=0; find = (*dict)[ attr.data() ]; if (!find ) { -// qWarning("Unknown option" + it.key() ); +// owarn << "Unknown option" + it.key() << oendl; ev.setCustomField( attr, val ); return; } switch( *find ) { case OPimTodo::Uid: ev.setUid( val.toInt() ); break; case OPimTodo::Category: ev.setCategories( ev.idsFromString( val ) ); break; case OPimTodo::HasDate: @@ -454,26 +459,26 @@ void OPimTodoAccessXML::todo( QAsciiDict<int>* dict, OPimTodo& ev, break; case OPimTodo::StartDate: ev.setStartDate( OPimDateConversion::dateFromString( val ) ); break; case OPimTodo::State: ev.setState( val.toInt() ); break; case OPimTodo::Alarms:{ OPimNotifyManager &manager = ev.notifiers(); QStringList als = QStringList::split(";", val ); for (QStringList::Iterator it = als.begin(); it != als.end(); ++it ) { QStringList alarm = QStringList::split(":", (*it), TRUE ); // allow empty - qWarning("alarm: %s", alarm.join("___").latin1() ); - qWarning("alarm[0]: %s %s", alarm[0].latin1(), OPimDateConversion::dateTimeFromString( alarm[0] ).toString().latin1() ); + owarn << "alarm: " << alarm.join("___") << "" << oendl; + owarn << "alarm[0]: " << alarm[0] << " " << OPimDateConversion::dateTimeFromString( alarm[0] ).toString() << "" << oendl; OPimAlarm al( alarm[2].toInt(), OPimDateConversion::dateTimeFromString( alarm[0] ), alarm[1].toInt() ); manager.add( al ); } } break; case OPimTodo::Reminders:{ OPimNotifyManager &manager = ev.notifiers(); QStringList rems = QStringList::split(";", val ); for (QStringList::Iterator it = rems.begin(); it != rems.end(); ++it ) { OPimReminder rem( (*it).toInt() ); manager.add( rem ); } @@ -528,29 +533,29 @@ void OPimTodoAccessXML::todo( QAsciiDict<int>* dict, OPimTodo& ev, break; } default: ev.setCustomField( attr, val ); break; } } // from PalmtopRecord... GPL ### FIXME namespace { QString customToXml(const QMap<QString, QString>& customMap ) { - //qWarning(QString("writing custom %1").arg(customMap.count())); + //owarn << QString("writing custom %1").arg(customMap.count()) << oendl; QString buf(" "); for ( QMap<QString, QString>::ConstIterator cit = customMap.begin(); cit != customMap.end(); ++cit) { -// qWarning(".ITEM."); +// owarn << ".ITEM." << oendl; buf += cit.key(); buf += "=\""; buf += Qtopia::escapeString(cit.data()); buf += "\" "; } return buf; } } QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { @@ -561,25 +566,25 @@ QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { str += "Priority=\"" + QString::number( ev.priority() ) + "\" "; str += "Progress=\"" + QString::number(ev.progress() ) + "\" "; str += "Categories=\"" + toString( ev.categories() ) + "\" "; str += "Description=\"" + Qtopia::escapeString( ev.description() ) + "\" "; str += "Summary=\"" + Qtopia::escapeString( ev.summary() ) + "\" "; if ( ev.hasDueDate() ) { str += "DateYear=\"" + QString::number( ev.dueDate().year() ) + "\" "; str += "DateMonth=\"" + QString::number( ev.dueDate().month() ) + "\" "; str += "DateDay=\"" + QString::number( ev.dueDate().day() ) + "\" "; } -// qWarning( "Uid %d", ev.uid() ); +// owarn << "Uid " << ev.uid() << "" << oendl; str += "Uid=\"" + QString::number( ev.uid() ) + "\" "; // append the extra options /* FIXME Qtopia::Record this is currently not * possible you can set custom fields * but don' iterate over the list * I may do #define private protected * for this case - cough --zecke */ /* QMap<QString, QString> extras = ev.extras(); QMap<QString, QString>::Iterator extIt; @@ -608,25 +613,25 @@ QString OPimTodoAccessXML::toString( const OPimTodo& ev )const { QStringList als; OPimNotifyManager::Alarms::Iterator it = alarms.begin(); for ( ; it != alarms.end(); ++it ) { /* only if time is valid */ if ( (*it).dateTime().isValid() ) { als << OPimDateConversion::dateTimeToString( (*it).dateTime() ) + ":" + QString::number( (*it).duration() ) + ":" + QString::number( (*it).sound() ) + ":"; } } // now write the list - qWarning("als: %s", als.join("____________").latin1() ); + owarn << "als: " << als.join("____________") << "" << oendl; str += "Alarms=\""+als.join(";") +"\" "; } /* * now the same for reminders but more easy. We just save the uid of the OPimEvent. */ OPimNotifyManager::Reminders reminders = manager.reminders(); if (!reminders.isEmpty() ) { OPimNotifyManager::Reminders::Iterator it = reminders.begin(); QStringList records; for ( ; it != reminders.end(); ++it ) { records << QString::number( (*it).recordUid() ); @@ -829,25 +834,25 @@ QArray<int> OPimTodoAccessXML::sorted( bool asc, int sortOrder, /* show category */ /* -1 == unfiled */ if ( bCat && cat == -1 ) { if(!(*it).categories().isEmpty() ) continue; }else if ( bCat && cat != 0) if (!(*it).categories().contains( cat ) ) { continue; } /* isOverdue but we should not show overdue - why?*/ /* if ( (*it).isOverdue() && !bOnly ) { - qWarning("item is overdue but !bOnly"); + owarn << "item is overdue but !bOnly" << oendl; continue; } */ if ( !(*it).isOverdue() && bOnly ) { continue; } if ((*it).isCompleted() && comp ) { continue; } diff --git a/libopie2/opiepim/core/opimcontact.cpp b/libopie2/opiepim/core/opimcontact.cpp index c1e06c8..48a74d0 100644 --- a/libopie2/opiepim/core/opimcontact.cpp +++ b/libopie2/opiepim/core/opimcontact.cpp @@ -25,24 +25,26 @@ If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define QTOPIA_INTERNAL_CONTACT_MRE #include "opimcontact.h" /* OPIE */ #include <opie2/opimresolver.h> #include <opie2/opimdateconversion.h> +#include <opie2/odebug.h> + #include <qpe/stringutil.h> #include <qpe/timestring.h> #include <qpe/config.h> /* QT */ #include <qstylesheet.h> /* STD */ #include <stdio.h> /*! \class Contact contact.h @@ -70,25 +72,25 @@ OPimContact::OPimContact():OPimRecord(), mMap(), d( 0 ) set from \a fromMap. */ OPimContact::OPimContact( const QMap<int, QString> &fromMap ):OPimRecord(), mMap( fromMap ), d( 0 ) { QString cats = mMap[ Qtopia::AddressCategory ]; if ( !cats.isEmpty() ) setCategories( idsFromString( cats ) ); QString uidStr = find( Qtopia::AddressUid ); if ( uidStr.isEmpty() || ( uidStr.toInt() == 0 ) ) { - qWarning( "Invalid UID found. Generate new one.." ); + owarn << "Invalid UID found. Generate new one.." << oendl; setUid( uidGen().generate() ); } else setUid( uidStr.toInt() ); // if ( !uidStr.isEmpty() ) // setUid( uidStr.toInt() ); } /*! Destroys a contact. */ @@ -922,25 +924,25 @@ QStringList OPimContact::childrenList() const /*! Returns a list of email addresses belonging to the contact, including the default email address. */ QStringList OPimContact::emailList() const { QString emailStr = emails(); QStringList r; if ( !emailStr.isEmpty() ) { - qDebug( " emailstr " ); + odebug << " emailstr " << oendl; QStringList l = QStringList::split( emailSeparator(), emailStr ); for ( QStringList::ConstIterator it = l.begin();it != l.end();++it ) r += ( *it ).simplifyWhiteSpace(); } return r; } /*! \overload Generates the string for the contact to be filed as from the first, @@ -1127,44 +1129,44 @@ class QString OPimContact::recordField( int pos ) const // In future releases, we should store birthday and anniversary // internally as QDate instead of QString ! // QString is always too complicate to interprete (DD.MM.YY, DD/MM/YY, MM/DD/YY, etc..)(se) /*! \fn void OPimContact::setBirthday( const QDate& date ) Sets the birthday for the contact to \a date. If date is null the current stored date will be removed. */ void OPimContact::setBirthday( const QDate &v ) { if ( v.isNull() ) { - qWarning( "Remove Birthday" ); + owarn << "Remove Birthday" << oendl; replace( Qtopia::Birthday, QString::null ); return ; } if ( v.isValid() ) replace( Qtopia::Birthday, OPimDateConversion::dateToString( v ) ); } /*! \fn void OPimContact::setAnniversary( const QDate &date ) Sets the anniversary of the contact to \a date. If date is null, the current stored date will be removed. */ void OPimContact::setAnniversary( const QDate &v ) { if ( v.isNull() ) { - qWarning( "Remove Anniversary" ); + owarn << "Remove Anniversary" << oendl; replace( Qtopia::Anniversary, QString::null ); return ; } if ( v.isValid() ) replace( Qtopia::Anniversary, OPimDateConversion::dateToString( v ) ); } /*! \fn QDate OPimContact::birthday() const Returns the birthday of the contact. */ @@ -1187,25 +1189,25 @@ QDate OPimContact::anniversary() const QDate empty; QString str = find( Qtopia::Anniversary ); // qWarning ("Anniversary %s", str.latin1() ); if ( !str.isEmpty() ) return OPimDateConversion::dateFromString ( str ); else return empty; } void OPimContact::insertEmail( const QString &v ) { - //qDebug("insertEmail %s", v.latin1()); + //odebug << "insertEmail " << v << "" << oendl; QString e = v.simplifyWhiteSpace(); QString def = defaultEmail(); // if no default, set it as the default email and don't insert if ( def.isEmpty() ) { setDefaultEmail( e ); // will insert into the list for us return ; } // otherwise, insert assuming doesn't already exist QString emailsStr = find( Qtopia::Emails ); @@ -1221,54 +1223,54 @@ void OPimContact::insertEmail( const QString &v ) void OPimContact::removeEmail( const QString &v ) { QString e = v.simplifyWhiteSpace(); QString def = defaultEmail(); QString emailsStr = find( Qtopia::Emails ); QStringList emails = emailList(); // otherwise, must first contain it if ( !emailsStr.contains( e ) ) return ; // remove it - //qDebug(" removing email from list %s", e.latin1()); + //odebug << " removing email from list " << e << "" << oendl; emails.remove( e ); // reset the string emailsStr = emails.join( emailSeparator() ); // Sharp's brain dead separator replace( Qtopia::Emails, emailsStr ); // if default, then replace the default email with the first one if ( def == e ) { - //qDebug("removeEmail is default; setting new default"); + //odebug << "removeEmail is default; setting new default" << oendl; if ( !emails.count() ) clearEmails(); else // setDefaultEmail will remove e from the list setDefaultEmail( emails.first() ); } } void OPimContact::clearEmails() { mMap.remove( Qtopia::DefaultEmail ); mMap.remove( Qtopia::Emails ); } void OPimContact::setDefaultEmail( const QString &v ) { QString e = v.simplifyWhiteSpace(); - //qDebug("OPimContact::setDefaultEmail %s", e.latin1()); + //odebug << "OPimContact::setDefaultEmail " << e << "" << oendl; replace( Qtopia::DefaultEmail, e ); if ( !e.isEmpty() ) insertEmail( e ); } void OPimContact::insertEmails( const QStringList &v ) { for ( QStringList::ConstIterator it = v.begin(); it != v.end(); ++it ) insertEmail( *it ); diff --git a/libopie2/opiepim/core/opimcontactfields.cpp b/libopie2/opiepim/core/opimcontactfields.cpp index 120beb6..5d45d1f 100644 --- a/libopie2/opiepim/core/opimcontactfields.cpp +++ b/libopie2/opiepim/core/opimcontactfields.cpp @@ -22,24 +22,26 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "opimcontactfields.h" /* OPIE */ #include <opie2/opimcontact.h> +#include <opie2/odebug.h> + #include <qpe/config.h> /* QT */ #include <qobject.h> namespace Opie { /*! \internal Returns a list of personal field names for a contact. */ @@ -433,84 +435,84 @@ OPimContactFields::~OPimContactFields() { Config cfg ( "AddressBook" ); cfg.setGroup( "ContactFieldOrder" ); cfg.writeEntry( "General", globalFieldOrder ); } } void OPimContactFields::saveToRecord( OPimContact &cnt ) { - qDebug( "ocontactfields saveToRecord: >%s<", fieldOrder.latin1() ); + odebug << "ocontactfields saveToRecord: >" << fieldOrder << "<" << oendl; // Store fieldorder into this contact. cnt.setCustomField( CONTACT_FIELD_ORDER_NAME, fieldOrder ); globalFieldOrder = fieldOrder; changedFieldOrder = true; } void OPimContactFields::loadFromRecord( const OPimContact &cnt ) { - qDebug( "ocontactfields loadFromRecord" ); - qDebug( "loading >%s<", cnt.fullName().latin1() ); + odebug << "ocontactfields loadFromRecord" << oendl; + odebug << "loading >" << cnt.fullName() << "<" << oendl; // Get fieldorder for this contact. If none is defined, // we will use the global one from the config file.. fieldOrder = cnt.customField( CONTACT_FIELD_ORDER_NAME ); - qDebug( "fieldOrder from contact>%s<", fieldOrder.latin1() ); + odebug << "fieldOrder from contact>" << fieldOrder << "<" << oendl; if ( fieldOrder.isEmpty() ) { fieldOrder = globalFieldOrder; } - qDebug( "effective fieldOrder in loadFromRecord >%s<", fieldOrder.latin1() ); + odebug << "effective fieldOrder in loadFromRecord >" << fieldOrder << "<" << oendl; } void OPimContactFields::setFieldOrder( int num, int index ) { - qDebug( "qcontactfields setfieldorder pos %i -> %i", num, index ); + odebug << "qcontactfields setfieldorder pos " << num << " -> " << index << "" << oendl; fieldOrder[ num ] = QString::number( index, 16 ) [ 0 ]; // We will store this new fieldorder globally to // remember it for contacts which have none globalFieldOrder = fieldOrder; changedFieldOrder = true; - qDebug( "fieldOrder >%s<", fieldOrder.latin1() ); + odebug << "fieldOrder >" << fieldOrder << "<" << oendl; } int OPimContactFields::getFieldOrder( int num, int defIndex ) { - qDebug( "ocontactfields getFieldOrder" ); - qDebug( "fieldOrder >%s<", fieldOrder.latin1() ); + odebug << "ocontactfields getFieldOrder" << oendl; + odebug << "fieldOrder >" << fieldOrder << "<" << oendl; // Get index of combo as char.. QChar poschar = fieldOrder[ num ]; bool ok; int ret = 0; // Convert char to number.. if ( !( poschar == QChar::null ) ) ret = QString( poschar ).toInt( &ok, 16 ); else ok = false; // Return default value if index for // num was not set or if anything else happened.. if ( !ok ) ret = defIndex; - qDebug( "returning >%i<", ret ); + odebug << "returning >" << ret << "<" << oendl; return ret; } } diff --git a/libopie2/opiepim/core/opimdateconversion.cpp b/libopie2/opiepim/core/opimdateconversion.cpp index 8bf891b..c93e178 100644 --- a/libopie2/opiepim/core/opimdateconversion.cpp +++ b/libopie2/opiepim/core/opimdateconversion.cpp @@ -19,43 +19,45 @@ _;:, .> :=|. This program is free software; you can ++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
/* OPIE */
#include <opie2/opimdateconversion.h>
+#include <opie2/odebug.h>
+
#include <qpe/timeconversion.h>
namespace Opie
{
QString OPimDateConversion::dateToString( const QDate &d )
{
if ( d.isNull() || !d.isValid() )
return QString::null;
// ISO format in year, month, day (YYYYMMDD); e.g. 20021231
QString year = QString::number( d.year() );
QString month = QString::number( d.month() );
month = month.rightJustify( 2, '0' );
QString day = QString::number( d.day() );
day = day.rightJustify( 2, '0' );
QString str = year + month + day;
- //qDebug( "\tPimContact dateToStr = %s", str.latin1() );
+ //odebug << "\tPimContact dateToStr = " << str << "" << oendl;
return str;
}
QDate OPimDateConversion::dateFromString( const QString& s )
{
QDate date;
if ( s.isEmpty() )
return date;
@@ -65,42 +67,42 @@ QDate OPimDateConversion::dateFromString( const QString& s ) if ( date.isValid() )
return date;
// Read ISO-Format (YYYYMMDD)
int year = s.mid( 0, 4 ).toInt();
int month = s.mid( 4, 2 ).toInt();
int day = s.mid( 6, 2 ).toInt();
// do some quick sanity checking -eilers
// but we isValid() again? -zecke
if ( year < 1900 || year > 3000 )
{
- qWarning( "PimContact year is not in range" );
+ owarn << "PimContact year is not in range" << oendl;
return date;
}
if ( month < 0 || month > 12 )
{
- qWarning( "PimContact month is not in range" );
+ owarn << "PimContact month is not in range" << oendl;
return date;
}
if ( day < 0 || day > 31 )
{
- qWarning( "PimContact day is not in range" );
+ owarn << "PimContact day is not in range" << oendl;
return date;
}
date.setYMD( year, month, day );
if ( !date.isValid() )
{
- qWarning( "PimContact date is not valid" );
+ owarn << "PimContact date is not valid" << oendl;
return date;
}
return date;
}
QString OPimDateConversion::dateTimeToString( const QDateTime& dt )
{
if ( !dt.isValid() || dt.isNull() )
return QString::null;
diff --git a/libopie2/opiepim/core/opimevent.cpp b/libopie2/opiepim/core/opimevent.cpp index 9d46651..8752fce 100644 --- a/libopie2/opiepim/core/opimevent.cpp +++ b/libopie2/opiepim/core/opimevent.cpp @@ -24,24 +24,26 @@ -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "opimevent.h" /* OPIE */ #include <opie2/opimrecurrence.h> #include <opie2/opimresolver.h> #include <opie2/opimnotifymanager.h> +#include <opie2/odebug.h> + #include <qpe/categories.h> #include <qpe/stringutil.h> /* QT */ namespace Opie { int OCalendarHelper::week( const QDate& date ) { // Calculates the week this date is in within that // month. Equals the "row" is is in in the month view @@ -632,28 +634,28 @@ void OPimEvent::fromMap( const QMap<int, QString>& map ) /* AllDay is always in UTC */ if ( isAllDay() ) { OPimTimeZone utc = OPimTimeZone::utc(); setStartDateTime( utc.fromUTCDateTime( start ) ); setEndDateTime ( utc.fromUTCDateTime( end ) ); setTimeZone( "UTC" ); // make sure it is really utc } else { /* to current date time */ - // qWarning(" Start is %d", start ); + // owarn << " Start is " << start << "" << oendl; OPimTimeZone zone( timeZone().isEmpty() ? OPimTimeZone::current() : timeZone() ); QDateTime date = zone.toDateTime( start ); - qWarning( " Start is %s", date.toString().latin1() ); + owarn << " Start is " << date.toString() << "" << oendl; setStartDateTime( zone.toDateTime( date, OPimTimeZone::current() ) ); date = zone.toDateTime( end ); setEndDateTime ( zone.toDateTime( date, OPimTimeZone::current() ) ); } int alarmTime = -1; if ( !map[ OPimEvent::FAlarm ].isEmpty() ) alarmTime = map[ OPimEvent::FAlarm ].toInt(); int sound = ( ( map[ OPimEvent::FSound ] == "loud" ) ? OPimAlarm::Loud : OPimAlarm::Silent ); if ( ( alarmTime != -1 ) ) diff --git a/libopie2/opiepim/core/opimnotifymanager.cpp b/libopie2/opiepim/core/opimnotifymanager.cpp index 573340a..0f863aa 100644 --- a/libopie2/opiepim/core/opimnotifymanager.cpp +++ b/libopie2/opiepim/core/opimnotifymanager.cpp @@ -22,24 +22,25 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "opimnotifymanager.h" /* OPIE */ #include <opie2/opimdateconversion.h> +#include <opie2/odebug.h> /* QT */ #include <qstringlist.h> namespace Opie { OPimNotifyManager::OPimNotifyManager( const Reminders& rem, const Alarms& al ) : m_rem( rem ), m_al( al ) {} @@ -154,25 +155,25 @@ void OPimNotifyManager::registerNotify( const OPimNotify& ) /** * same as above... * Also implement Url model * have a MainWindow.... */ void OPimNotifyManager::deregister( const OPimNotify& ) { } bool OPimNotifyManager::isEmpty() const { - qWarning( "is Empty called on OPimNotifyManager %d %d", m_rem.count(), m_al.count() ); + owarn << "is Empty called on OPimNotifyManager " << m_rem.count() << " " << m_al.count() << "" << oendl; if ( m_rem.isEmpty() && m_al.isEmpty() ) return true; else return false; } // Taken from otodoaccessxml.. code duplication bad. any alternative? QString OPimNotifyManager::alarmsToString() const { QString str; OPimNotifyManager::Alarms alarms = m_al; if ( !alarms.isEmpty() ) @@ -182,25 +183,25 @@ QString OPimNotifyManager::alarmsToString() const for ( ; it != alarms.end(); ++it ) { /* only if time is valid */ if ( ( *it ).dateTime().isValid() ) { als << OPimDateConversion::dateTimeToString( ( *it ).dateTime() ) + ":" + QString::number( ( *it ).duration() ) + ":" + QString::number( ( *it ).sound() ) + ":"; } } // now write the list - qWarning( "als: %s", als.join( "____________" ).latin1() ); + owarn << "als: " << als.join( "____________" ) << "" << oendl; str = als.join( ";" ); } return str; } QString OPimNotifyManager::remindersToString() const { QString str; OPimNotifyManager::Reminders reminders = m_rem; @@ -216,25 +217,25 @@ QString OPimNotifyManager::remindersToString() const } return str; } void OPimNotifyManager::alarmsFromString( const QString& str ) { QStringList als = QStringList::split( ";", str ); for ( QStringList::Iterator it = als.begin(); it != als.end(); ++it ) { QStringList alarm = QStringList::split( ":", ( *it ), TRUE ); // allow empty - qWarning( "alarm: %s", alarm.join( "___" ).latin1() ); + owarn << "alarm: " << alarm.join( "___" ) << "" << oendl; qWarning( "alarm[0]: %s %s", alarm[ 0 ].latin1(), OPimDateConversion::dateTimeFromString( alarm[ 0 ] ).toString().latin1() ); OPimAlarm al( alarm[ 2 ].toInt(), OPimDateConversion::dateTimeFromString( alarm[ 0 ] ), alarm[ 1 ].toInt() ); add( al ); } } void OPimNotifyManager::remindersFromString( const QString& str ) { diff --git a/libopie2/opiepim/core/opimrecord.cpp b/libopie2/opiepim/core/opimrecord.cpp index c783092..6546d99 100644 --- a/libopie2/opiepim/core/opimrecord.cpp +++ b/libopie2/opiepim/core/opimrecord.cpp @@ -112,25 +112,25 @@ bool OPimRecord::isEmpty() const /*QString OPimRecord::crossToString()const { QString str; QMap<QString, QArray<int> >::ConstIterator it; for (it = m_relations.begin(); it != m_relations.end(); ++it ) { QArray<int> id = it.data(); for ( uint i = 0; i < id.size(); ++i ) { str += it.key() + "," + QString::number( i ) + ";"; } } str = str.remove( str.length()-1, 1); // strip the ; - //qWarning("IDS " + str ); + //owarn << "IDS " + str << oendl; return str; }*/ /* if uid = 1 assign a new one */ void OPimRecord::setUid( int uid ) { if ( uid == 1 ) uid = uidGen().generate(); Qtopia::Record::setUid( uid ); }; diff --git a/libopie2/opiepim/core/opimtimezone.cpp b/libopie2/opiepim/core/opimtimezone.cpp index be21b1b..fefceb5 100644 --- a/libopie2/opiepim/core/opimtimezone.cpp +++ b/libopie2/opiepim/core/opimtimezone.cpp @@ -20,24 +20,27 @@ ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "opimtimezone.h" +/* OPIE */ +#include <opie2/odebug.h> + /* STD */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> namespace Opie { QDateTime utcTime( time_t t ) { tm * broken = ::gmtime( &t ); QDateTime ret; @@ -140,25 +143,25 @@ QDateTime OPimTimeZone::toDateTime( time_t t ) { return utcTime( t, m_name ); } /* * convert dt to utc using zone.m_name * convert utc -> timeZoneDT using this->m_name */ QDateTime OPimTimeZone::toDateTime( const QDateTime& dt, const OPimTimeZone& zone ) { time_t utc = to_Time_t( dt, zone.m_name ); - qWarning( "%d %s", utc, zone.m_name.latin1() ); + owarn << "" << utc << " " << zone.m_name << "" << oendl; return utcTime( utc, m_name ); } time_t OPimTimeZone::fromDateTime( const QDateTime& time ) { return to_Time_t( time, m_name ); } time_t OPimTimeZone::fromUTCDateTime( const QDateTime& time ) { diff --git a/libopie2/opiepim/core/opimtodo.cpp b/libopie2/opiepim/core/opimtodo.cpp index 47433e0..27b36a6 100644 --- a/libopie2/opiepim/core/opimtodo.cpp +++ b/libopie2/opiepim/core/opimtodo.cpp @@ -26,24 +26,26 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "opimtodo.h" /* OPIE */ #include <opie2/opimstate.h> #include <opie2/opimrecurrence.h> #include <opie2/opimmaintainer.h> #include <opie2/opimnotifymanager.h> #include <opie2/opimresolver.h> +#include <opie2/odebug.h> + #include <qpe/palmtopuidgen.h> #include <qpe/palmtoprecord.h> #include <qpe/categories.h> #include <qpe/categoryselect.h> #include <qpe/stringutil.h> /* QT */ #include <qobject.h> #include <qshared.h> namespace Opie { @@ -76,73 +78,73 @@ struct OPimTodo::OPimTodoData : public QShared OPimRecurrence *recur; OPimMaintainer *maintainer; QDate start; QDate completed; OPimNotifyManager *notifiers; }; OPimTodo::OPimTodo( const OPimTodo &event ) : OPimRecord( event ), data( event.data ) { data->ref(); - // qWarning("ref up"); + // owarn << "ref up" << oendl; } OPimTodo::~OPimTodo() { - // qWarning("~OPimTodo " ); + // owarn << "~OPimTodo " << oendl; if ( data->deref() ) { - // qWarning("OPimTodo::dereffing"); + // owarn << "OPimTodo::dereffing" << oendl; delete data; data = 0l; } } OPimTodo::OPimTodo( bool completed, int priority, const QArray<int> &category, const QString& summary, const QString &description, ushort progress, bool hasDate, QDate date, int uid ) : OPimRecord( uid ) { - // qWarning("OPimTodoData " + summary); + // owarn << "OPimTodoData " + summary << oendl; setCategories( category ); data = new OPimTodoData; data->date = date; data->isCompleted = completed; data->hasDate = hasDate; data->priority = priority; data->sum = summary; data->prog = progress; data->desc = Qtopia::simplifyMultiLineSpace( description ); } OPimTodo::OPimTodo( bool completed, int priority, const QStringList &category, const QString& summary, const QString &description, ushort progress, bool hasDate, QDate date, int uid ) : OPimRecord( uid ) { - // qWarning("OPimTodoData" + summary); + // owarn << "OPimTodoData" + summary << oendl; setCategories( idsFromString( category.join( ";" ) ) ); data = new OPimTodoData; data->date = date; data->isCompleted = completed; data->hasDate = hasDate; data->priority = priority; data->sum = summary; data->prog = progress; data->desc = Qtopia::simplifyMultiLineSpace( description ); } @@ -297,25 +299,25 @@ void OPimTodo::setCompleted( bool completed ) } void OPimTodo::setHasDueDate( bool hasDate ) { changeOrModify(); data->hasDate = hasDate; } void OPimTodo::setDescription( const QString &desc ) { - // qWarning( "desc " + desc ); + // owarn << "desc " + desc << oendl; changeOrModify(); data->desc = Qtopia::simplifyMultiLineSpace( desc ); } void OPimTodo::setSummary( const QString& sum ) { changeOrModify(); data->sum = sum; } @@ -582,40 +584,40 @@ bool OPimTodo::operator==( const OPimTodo &toDoEvent ) const if ( data->sum != toDoEvent.data->sum ) return false; if ( data->desc != toDoEvent.data->desc ) return false; if ( data->maintainer != toDoEvent.data->maintainer ) return false; return OPimRecord::operator==( toDoEvent ); } void OPimTodo::deref() { - // qWarning("deref in ToDoEvent"); + // owarn << "deref in ToDoEvent" << oendl; if ( data->deref() ) { - // qWarning("deleting"); + // owarn << "deleting" << oendl; delete data; data = 0; } } OPimTodo &OPimTodo::operator=( const OPimTodo &item ) { if ( this == &item ) return * this; OPimRecord::operator=( item ); - //qWarning("operator= ref "); + //owarn << "operator= ref " << oendl; item.data->ref(); deref(); data = item.data; return *this; } QMap<int, QString> OPimTodo::toMap() const { QMap<int, QString> map; @@ -640,25 +642,25 @@ QMap<int, QString> OPimTodo::toMap() const } /** * change or modify looks at the ref count and either * creates a new QShared Object or it can modify it * right in place */ void OPimTodo::changeOrModify() { if ( data->count != 1 ) { - qWarning( "changeOrModify" ); + owarn << "changeOrModify" << oendl; data->deref(); OPimTodoData* d2 = new OPimTodoData(); copy( data, d2 ); data = d2; } } // WATCHOUT /* * if you add something to the Data struct * be sure to copy it here diff --git a/libopie2/opiepim/core/otodoaccess.cpp b/libopie2/opiepim/core/otodoaccess.cpp index c4adbbd..26a68a0 100644 --- a/libopie2/opiepim/core/otodoaccess.cpp +++ b/libopie2/opiepim/core/otodoaccess.cpp @@ -41,25 +41,25 @@ OPimTodoAccess::OPimTodoAccess( OPimTodoAccessBackend* end, enum Access ) : QObject(), OPimAccessTemplate<OPimTodo>( end ), m_todoBackEnd( end ) { // if (end == 0l ) // m_todoBackEnd = new OPimTodoAccessBackendSQL( QString::null); // Zecke: Du musst hier noch fr das XML-Backend einen Appnamen bergeben ! if (end == 0l ) m_todoBackEnd = OBackendFactory<OPimTodoAccessBackend>::defaultBackend (OPimGlobal::TODOLIST, QString::null); setBackEnd( m_todoBackEnd ); } OPimTodoAccess::~OPimTodoAccess() { -// qWarning("~OPimTodoAccess"); +// owarn << "~OPimTodoAccess" << oendl; } void OPimTodoAccess::mergeWith( const QValueList<OPimTodo>& list ) { QValueList<OPimTodo>::ConstIterator it; for ( it = list.begin(); it != list.end(); ++it ) { replace( (*it) ); } } OPimTodoAccess::List OPimTodoAccess::effectiveToDos( const QDate& start, const QDate& end, bool includeNoDates ) { QArray<int> ints = m_todoBackEnd->effectiveToDos( start, end, includeNoDates ); diff --git a/libopie2/opiepim/ui/opimmainwindow.cpp b/libopie2/opiepim/ui/opimmainwindow.cpp index 40dc297..8ce2062 100644 --- a/libopie2/opiepim/ui/opimmainwindow.cpp +++ b/libopie2/opiepim/ui/opimmainwindow.cpp @@ -17,34 +17,41 @@ =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <qapplication.h> -#include <qdatetime.h> -#include <qcopchannel_qws.h> + +#include "opimmainwindow.h" + +/* OPIE */ +#include <opie2/opimresolver.h> +#include <opie2/odebug.h> #include <qpe/sound.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/qpeapplication.h> -#include <opie2/opimresolver.h> -#include "opimmainwindow.h" +/* QT */ +#include <qapplication.h> +#include <qdatetime.h> +#include <qcopchannel_qws.h> + + namespace Opie { OPimMainWindow::OPimMainWindow( const QString& service, QWidget* parent, const char* name, WFlags flag ) : QMainWindow( parent, name, flag ), m_rtti(-1), m_service( service ), m_fallBack(0l) { /* * let's generate our QCopChannel */ m_str = QString("QPE/"+m_service).local8Bit(); m_channel= new QCopChannel(m_str, this ); connect(m_channel, SIGNAL(received(const QCString&,const QByteArray&) ), @@ -107,25 +114,25 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) QByteArray array; stream >> rtti; stream >> array; m_fallBack = record(rtti, array ); if (!m_fallBack) return; add( *m_fallBack ); delete m_fallBack; }else if ( cmd == "alarm(QDateTime,int)" ) { raise(); QDateTime dt; int uid; stream >> dt; stream >> uid; - qWarning(" Date: %s Uid: %d", dt.toString().latin1(), uid ); + owarn << " Date: " << dt.toString() << " Uid: " << uid << "" << oendl; QDateTime current = QDateTime::currentDateTime(); if ( current.time().hour() != dt.time().hour() && current.time().minute() != dt.time().minute() ) return; doAlarm( dt, uid ); needShow = true; } if (needShow ) QPEApplication::setKeepRunning(); } /* implement the url scripting here */ void OPimMainWindow::setDocument( const QString& str) { |