48 files changed, 678 insertions, 263 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index 34bf7f1..6819085 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp @@ -2,4 +2,5 @@ ** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2003 Stefan Eilers (eilers.stefan@epost.de) ** -** This file is part of Qt Palmtop Environment. +** This file is part of the Open Palmtop Environment (see www.opie.info). ** @@ -15,4 +16,2 @@ ** -** OContact info@trolltech.com if any conditions of this licensing are -** not clear to you. ** @@ -115,3 +114,3 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, // View Icons - m_tableViewButton = new QAction( tr( "List" ), Resource::loadPixmap( "addressbook/weeklst" ), + m_tableViewButton = new QAction( tr( "List" ), Resource::loadPixmap( "addressbook/listview" ), QString::null, 0, this, 0 ); @@ -120,3 +119,3 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, m_tableViewButton->addTo( listTools ); - m_cardViewButton = new QAction( tr( "Card" ), Resource::loadPixmap( "day" ), QString::null, 0, this, 0 ); + m_cardViewButton = new QAction( tr( "Card" ), Resource::loadPixmap( "addressbook/cardview" ), QString::null, 0, this, 0 ); connect( m_cardViewButton, SIGNAL( activated() ), this, SLOT( slotCardView() ) ); @@ -654,3 +653,5 @@ void AddressbookWindow::appMessage(const QCString &msg, const QByteArray &data) { - qWarning("Receiving QCop-Call with message %s", QString( msg ).latin1() ); + bool needShow = FALSE; + qWarning("Receiving QCop-Call with message %s", QString( msg ).latin1() ); + @@ -691,2 +692,3 @@ void AddressbookWindow::appMessage(const QCString &msg, const QByteArray &data) } else if ( msg == "show(int)" ) { + raise(); QDataStream stream(data,IO_ReadOnly); @@ -707,5 +709,5 @@ void AddressbookWindow::appMessage(const QCString &msg, const QByteArray &data) slotViewSwitched ( AbView::CardView ); - - showMaximized(); - qApp->exec(); + + needShow = true; + @@ -726,3 +728,6 @@ void AddressbookWindow::appMessage(const QCString &msg, const QByteArray &data) slotViewEdit(); - } + } + + if (needShow) + QPEApplication::setKeepRunning(); @@ -902,3 +907,3 @@ void AddressbookWindow::slotNotFound() QMessageBox::information( this, tr( "Not Found" ), - tr( "Unable to find a contact for this \n search pattern!" ) ); + "<qt>" + tr( "Unable to find a contact for this search pattern!" ) + "</qt>" ); @@ -952,3 +957,3 @@ void AddressbookWindow::slotSetCategory( int c ) cat = "Unfiled"; - qWarning ("Unfiled selected!!!"); + qWarning ("Unfiled selected!"); }else{ diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index ce14f98..9d1a1c7 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -599,3 +599,3 @@ void ContactEditor::init() { - l = new QLabel( mapIdToStr[mapStrToID[*it]].utf8() , container ); + l = new QLabel( mapIdToStr[mapStrToID[*it]], container ); listName.append( l ); diff --git a/core/pim/addressbook/opie-addressbook.control b/core/pim/addressbook/opie-addressbook.control index f06fa91..d949bd4 100644 --- a/core/pim/addressbook/opie-addressbook.control +++ b/core/pim/addressbook/opie-addressbook.control @@ -1,3 +1,3 @@ Package: opie-addressbook -Files: bin/addressbook apps/1Pim/addressbook.desktop pics/addressbook/*.png +Files: bin/addressbook apps/1Pim/addressbook.desktop Priority: optional @@ -7,5 +7,5 @@ Maintainer: Stefan Eilers <eilers.stefan@epost.de> Architecture: arm -Version: $QPE_VERSION-$SUB_VERSION -Depends: task-opie-minimal, libopie1 +Depends: task-opie-minimal, libopie1, opie-pics Description: Contacts A simple addressbook for the Opie environment. +Version: $QPE_VERSION$EXTRAVERSION diff --git a/core/pim/addressbook/version.h b/core/pim/addressbook/version.h index 4c93584..9621826 100644 --- a/core/pim/addressbook/version.h +++ b/core/pim/addressbook/version.h @@ -3,5 +3,5 @@ -#define MAINVERSION "0" -#define SUBVERSION "9" -#define PATCHVERSION "5" +#define MAINVERSION "1" +#define SUBVERSION "0" +#define PATCHVERSION "0" diff --git a/libopie/pim/obackendfactory.h b/libopie/pim/obackendfactory.h index ad6cf5a..f3c339d 100644 --- a/libopie/pim/obackendfactory.h +++ b/libopie/pim/obackendfactory.h @@ -18,2 +18,10 @@ * $Log$ + * Revision 1.7 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.6.4.1 2003/06/30 14:34:19 eilers + * Patches from Zecke: + * Fixing and cleaning up extraMap handling + * Adding d_ptr for binary compatibility in the future + * * Revision 1.6 2003/04/13 18:07:10 zecke @@ -70,2 +78,4 @@ +class OBackendPrivate; + /** @@ -150,2 +160,4 @@ class OBackendFactory } + private: + OBackendPrivate* d; }; diff --git a/libopie/pim/ocontact.cpp b/libopie/pim/ocontact.cpp index be4ce0a..3473baa 100644 --- a/libopie/pim/ocontact.cpp +++ b/libopie/pim/ocontact.cpp @@ -23,6 +23,7 @@ #include "opimresolver.h" +#include "oconversion.h" #include <qpe/stringutil.h> -#include "oconversion.h" #include <qpe/timestring.h> +#include <qpe/config.h> @@ -440,8 +441,12 @@ QString OContact::toRichText() const + Config cfg("qpe"); + cfg.setGroup("Appearance"); + int addressformat = cfg.readNumEntry( "AddressFormat", Zip_City_State ); + // name, jobtitle and company if ( !(value = fullName()).isEmpty() ) - text += "<b><h3><img src=\"addressbook/AddressBook\">" + Qtopia::escapeString(value) + "</h3></b>"; - + text += "<b><h3><img src=\"addressbook/AddressBook\"> " + Qtopia::escapeString(value) + "</h3></b>"; + if ( !(value = jobTitle()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; + text += Qtopia::escapeString(value); @@ -456,5 +461,5 @@ QString OContact::toRichText() const if ( !comp.isEmpty() ) - text += Qtopia::escapeString(comp) + "<br>"; + text += Qtopia::escapeString(comp); - text += "<hr><br>"; + text += "<br><hr>"; @@ -462,7 +467,7 @@ QString OContact::toRichText() const QString defEmail = defaultEmail(); - if ( !defEmail.isEmpty() ) - text += "<b><img src=\"addressbook/email\">" + QObject::tr("Default Email: ") + "</b>" - + Qtopia::escapeString(defEmail) + "<br>"; - - text += "<br>"; + if ( !defEmail.isEmpty() ){ + text += "<b><img src=\"addressbook/email\"> " + QObject::tr("Default Email: ") + "</b>" + + Qtopia::escapeString(defEmail); + marker = true; + } @@ -471,4 +476,3 @@ QString OContact::toRichText() const !businessZip().isEmpty() || !businessCountry().isEmpty() ) { - text += QObject::tr( "<b>Work Address:</b>" ); - text += "<br>"; + text += QObject::tr( "<br><br><b>Work Address:</b>" ); marker = true; @@ -476,17 +480,51 @@ QString OContact::toRichText() const - if ( !(value = businessStreet()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; - state = businessState(); - if ( !(value = businessZip()).isEmpty() ) - text += Qtopia::escapeString(value) + " "; - if ( !(value = businessCity()).isEmpty() ) { - text += Qtopia::escapeString(value); - if ( state ) - text += ", " + Qtopia::escapeString(state); - text += "<br>"; - } else if ( !state.isEmpty() ) - text += Qtopia::escapeString(state) + "<br>"; + if ( !(value = businessStreet()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } + + switch( addressformat ){ + case Zip_City_State:{ // Zip_Code City, State + state = businessState(); + if ( !(value = businessZip()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value) + " "; + marker = true; + + } else + text += "<br>"; + + if ( !(value = businessCity()).isEmpty() ) { + marker = true; + text += Qtopia::escapeString(value); + if ( state ) + text += ", " + Qtopia::escapeString(state); + } else if ( !state.isEmpty() ){ + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + break; + } + case City_State_Zip:{ // City, State Zip_Code + state = businessState(); + if ( !(value = businessCity()).isEmpty() ) { + marker = true; + text += "<br>" + Qtopia::escapeString(value); + if ( state ) + text += ", " + Qtopia::escapeString(state); + } else if ( !state.isEmpty() ){ + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + if ( !(value = businessZip()).isEmpty() ){ + text += " " + Qtopia::escapeString(value); + marker = true; + } + break; + } + } - if ( !(value = businessCountry()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; + if ( !(value = businessCountry()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } @@ -495,4 +533,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b>" + QObject::tr("Office: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Office: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -501,4 +539,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/webpagework\">" + QObject::tr("Business Web Page: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/webpagework\"> " + QObject::tr("Business Web Page: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -507,4 +545,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/phonework\">" + QObject::tr("Business Phone: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/phonework\"> " + QObject::tr("Business Phone: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -513,4 +551,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/faxwork\">" + QObject::tr("Business Fax: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/faxwork\"> " + QObject::tr("Business Fax: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -519,4 +557,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/mobilework\">" + QObject::tr("Business Mobile: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/mobilework\"> " + QObject::tr("Business Mobile: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -525,4 +563,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b>" + QObject::tr("Business Pager: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Business Pager: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -535,20 +573,54 @@ QString OContact::toRichText() const !homeZip().isEmpty() || !homeCountry().isEmpty() ) { - text += QObject::tr( "<b>Home Address:</b>" ); - text += "<br>"; + text += QObject::tr( "<br><br><b>Home Address:</b>" ); + marker = true; } - if ( !(value = homeStreet()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; - state = homeState(); - if ( !(value = homeZip()).isEmpty() ) - text += Qtopia::escapeString(value) + " "; - if ( !(value = homeCity()).isEmpty() ) { - text += Qtopia::escapeString(value); - if ( !state.isEmpty() ) - text += ", " + Qtopia::escapeString(state); - text += "<br>"; - } else if (!state.isEmpty()) - text += Qtopia::escapeString(state) + "<br>"; - if ( !(value = homeCountry()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; + if ( !(value = homeStreet()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } + + switch( addressformat ){ + case Zip_City_State:{ // Zip_Code City, State + state = homeState(); + if ( !(value = homeZip()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value) + " "; + marker = true; + } else + text += "<br>"; + + if ( !(value = homeCity()).isEmpty() ) { + marker = true; + text += Qtopia::escapeString(value); + if ( !state.isEmpty() ) + text += ", " + Qtopia::escapeString(state); + } else if (!state.isEmpty()) { + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + break; + } + case City_State_Zip:{ // City, State Zip_Code + state = homeState(); + if ( !(value = homeCity()).isEmpty() ) { + marker = true; + text += "<br>" + Qtopia::escapeString(value); + if ( state ) + text += ", " + Qtopia::escapeString(state); + } else if ( !state.isEmpty() ){ + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + if ( !(value = homeZip()).isEmpty() ){ + text += " " + Qtopia::escapeString(value); + marker = true; + } + break; + } + } + + if ( !(value = homeCountry()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } @@ -557,4 +629,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/webpagehome\">" + QObject::tr("Home Web Page: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/webpagehome\"> " + QObject::tr("Home Web Page: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -563,4 +635,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/phonehome\">" + QObject::tr("Home Phone: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/phonehome\"> " + QObject::tr("Home Phone: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -569,4 +641,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/faxhome\">" + QObject::tr("Home Fax: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/faxhome\"> " + QObject::tr("Home Fax: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -575,4 +647,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/mobilehome\">" + QObject::tr("Home Mobile: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/mobilehome\"> " + QObject::tr("Home Mobile: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -581,27 +653,29 @@ QString OContact::toRichText() const if ( marker ) - text += "<br><hr><br>"; - // the others... + text += "<br><hr>"; + + // the rest... str = emails(); if ( !str.isEmpty() && ( str != defEmail ) ) - text += "<b>" + QObject::tr("All Emails: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("All Emails: ") + "</b>" + + Qtopia::escapeString(str); str = profession(); if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Profession: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Profession: ") + "</b>" + + Qtopia::escapeString(str); str = assistant(); if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Assistant: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Assistant: ") + "</b>" + + Qtopia::escapeString(str); str = manager(); if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Manager: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Manager: ") + "</b>" + + Qtopia::escapeString(str); str = gender(); if ( !str.isEmpty() && str.toInt() != 0 ) { - if ( str.toInt() == 1 ) - str = QObject::tr( "Male" ); - else if ( str.toInt() == 2 ) - str = QObject::tr( "Female" ); - text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>"; + text += "<br>"; + if ( str.toInt() == 1 ) + str = QObject::tr( "Male" ); + else if ( str.toInt() == 2 ) + str = QObject::tr( "Female" ); + text += "<b>" + QObject::tr("Gender: ") + "</b>" + str; } @@ -609,8 +683,8 @@ QString OContact::toRichText() const if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Spouse: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Spouse: ") + "</b>" + + Qtopia::escapeString(str); if ( birthday().isValid() ){ str = TimeString::numberDateString( birthday() ); - text += "<b>" + QObject::tr("Birthday: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Birthday: ") + "</b>" + + Qtopia::escapeString(str); } @@ -618,4 +692,4 @@ QString OContact::toRichText() const str = TimeString::numberDateString( anniversary() ); - text += "<b>" + QObject::tr("Anniversary: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Anniversary: ") + "</b>" + + Qtopia::escapeString(str); } @@ -623,4 +697,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Children: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Children: ") + "</b>" + + Qtopia::escapeString(str); @@ -628,4 +702,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Nickname: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Nickname: ") + "</b>" + + Qtopia::escapeString(str); @@ -633,5 +707,4 @@ QString OContact::toRichText() const if ( categoryNames("Contacts").count() ){ - text += "<b>" + QObject::tr( "Category:") + "</b> "; + text += "<br><b>" + QObject::tr( "Category:") + "</b> "; text += categoryNames("Contacts").join(", "); - text += "<br>"; } diff --git a/libopie/pim/ocontact.h b/libopie/pim/ocontact.h index dd2de17..9a1a8dc 100644 --- a/libopie/pim/ocontact.h +++ b/libopie/pim/ocontact.h @@ -34,3 +34,3 @@ QPC_TEMPLATEEXTERN template class QPC_EXPORT QMap<int, QString>; -class ContactPrivate; +class OContactPrivate; @@ -51,2 +51,7 @@ public: + enum DateFormat{ + Zip_City_State = 0, + City_State_Zip + }; + /* @@ -235,3 +240,3 @@ private: QMap<int, QString> mMap; - ContactPrivate *d; + OContactPrivate *d; }; diff --git a/libopie/pim/ocontactaccess.h b/libopie/pim/ocontactaccess.h index e90db32..9b0a719 100644 --- a/libopie/pim/ocontactaccess.h +++ b/libopie/pim/ocontactaccess.h @@ -19,2 +19,10 @@ * $Log$ + * Revision 1.9 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.8.2.1 2003/06/30 14:34:19 eilers + * Patches from Zecke: + * Fixing and cleaning up extraMap handling + * Adding d_ptr for binary compatibility in the future + * * Revision 1.8 2003/05/08 13:55:09 tille @@ -167,2 +175,5 @@ class OContactAccess: public QObject, public OPimAccessTemplate<OContact> + private: + class Private; + Private *d; diff --git a/libopie/pim/ocontactaccessbackend.h b/libopie/pim/ocontactaccessbackend.h index ebeb42d..280e05c 100644 --- a/libopie/pim/ocontactaccessbackend.h +++ b/libopie/pim/ocontactaccessbackend.h @@ -21,2 +21,10 @@ * $Log$ + * Revision 1.6 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.5.4.1 2003/06/30 14:34:19 eilers + * Patches from Zecke: + * Fixing and cleaning up extraMap handling + * Adding d_ptr for binary compatibility in the future + * * Revision 1.5 2003/04/13 18:07:10 zecke @@ -104,3 +112,7 @@ class OContactAccessBackend: public OPimAccessBackend<OContact> { virtual QArray<int> sorted( bool ascending, int sortOrder, int sortFilter, int cat ) = 0; - + + +private: + class Private; + Private *d; }; diff --git a/libopie/pim/ocontactaccessbackend_vcard.cpp b/libopie/pim/ocontactaccessbackend_vcard.cpp index 270bef3..b60c5be 100644 --- a/libopie/pim/ocontactaccessbackend_vcard.cpp +++ b/libopie/pim/ocontactaccessbackend_vcard.cpp @@ -19,2 +19,17 @@ * $Log$ + * Revision 1.11 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.10.4.3 2003/07/23 08:54:37 eilers + * Default email was added to the list of all emails, which already contains + * the default email.. + * This closes bug #1045 + * + * Revision 1.10.4.2 2003/07/23 08:44:45 eilers + * Importing of Notes in vcard files wasn't implemented. + * Closes bug #1044 + * + * Revision 1.10.4.1 2003/06/02 13:37:49 eilers + * Fixing memory leak + * * Revision 1.10 2003/04/13 18:07:10 zecke @@ -153,2 +168,3 @@ bool OContactAccessBackend_VCard::save() cleanStrTbl(); + deleteVObject( obj ); @@ -448,3 +464,5 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj ) } - + else if ( name == VCCommentProp ) { + c.setNotes( value ); + } #if 0 @@ -536,3 +554,3 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) QStringList emails = c.emailList(); - emails.prepend( c.defaultEmail() ); + // emails.prepend( c.defaultEmail() ); Fix for bugreport #1045 for( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { diff --git a/libopie/pim/ocontactaccessbackend_xml.cpp b/libopie/pim/ocontactaccessbackend_xml.cpp index 097142b..1c21619 100644 --- a/libopie/pim/ocontactaccessbackend_xml.cpp +++ b/libopie/pim/ocontactaccessbackend_xml.cpp @@ -19,2 +19,5 @@ * $Log$ + * Revision 1.7 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * * Revision 1.6 2003/07/07 16:19:47 eilers diff --git a/libopie/pim/oconversion.h b/libopie/pim/oconversion.h index 13367e1..4c0a497 100644 --- a/libopie/pim/oconversion.h +++ b/libopie/pim/oconversion.h @@ -39,2 +39,7 @@ public: static QDateTime dateTimeFromString( const QString& ); + +private: + class Private; + Private* d; + }; diff --git a/libopie/pim/odatebookaccessbackend.h b/libopie/pim/odatebookaccessbackend.h index 86ff298..3c02c42 100644 --- a/libopie/pim/odatebookaccessbackend.h +++ b/libopie/pim/odatebookaccessbackend.h @@ -70,2 +70,6 @@ public: +private: + class Private; + Private *d; + }; diff --git a/libopie/pim/odatebookaccessbackend_xml.cpp b/libopie/pim/odatebookaccessbackend_xml.cpp index ab2eea4..5ea945c 100644 --- a/libopie/pim/odatebookaccessbackend_xml.cpp +++ b/libopie/pim/odatebookaccessbackend_xml.cpp @@ -432,5 +432,5 @@ bool ODateBookAccessBackend_XML::loadFile() { if (!find) - ev.setCustomField( attr, value ); + ev.setCustomField( attr, str ); else { - setField( ev, *find, value ); + setField( ev, *find, str ); } @@ -455,3 +455,3 @@ void ODateBookAccessBackend_XML::finalizeRecord( OEvent& ev ) { /* to current date time */ - qWarning(" Start is %d", start ); + // qWarning(" Start is %d", start ); OTimeZone zone( ev.timeZone().isEmpty() ? OTimeZone::current() : ev.timeZone() ); diff --git a/libopie/pim/opimaccessbackend.h b/libopie/pim/opimaccessbackend.h index f4bbe35..c3d91f7 100644 --- a/libopie/pim/opimaccessbackend.h +++ b/libopie/pim/opimaccessbackend.h @@ -9,2 +9,3 @@ +class OPimAccessBackendPrivate; /** @@ -109,4 +110,3 @@ protected: private: - class Private; - Private* d; + OPimAccessBackendPrivate *d; Frontend* m_front; diff --git a/libopie/pim/opimaccesstemplate.h b/libopie/pim/opimaccesstemplate.h index 8ff205c..ecbeb68 100644 --- a/libopie/pim/opimaccesstemplate.h +++ b/libopie/pim/opimaccesstemplate.h @@ -12,2 +12,3 @@ +class OPimAccessTemplatePrivate; /** @@ -154,2 +155,5 @@ protected: +private: + OPimAccessTemplatePrivate *d; + }; diff --git a/libopie/pim/opimcache.h b/libopie/pim/opimcache.h index 73414e5..7f7cff5 100644 --- a/libopie/pim/opimcache.h +++ b/libopie/pim/opimcache.h @@ -7,2 +7,4 @@ +class OPimCacheItemPrivate; + template <class T = OPimRecord> @@ -20,4 +22,7 @@ private: T m_t; + OPimCacheItemPrivate *d; }; + +class OPimCachePrivate; /** @@ -48,2 +53,3 @@ private: QIntCache<Item> m_cache; + OPimCachePrivate* d; }; diff --git a/libopie/pim/opimmainwindow.cpp b/libopie/pim/opimmainwindow.cpp index 4044bc1..2739e26 100644 --- a/libopie/pim/opimmainwindow.cpp +++ b/libopie/pim/opimmainwindow.cpp @@ -6,2 +6,3 @@ #include <qpe/qcopenvelope_qws.h> +#include <qpe/qpeapplication.h> @@ -40,2 +41,3 @@ void OPimMainWindow::doSetDocument( const QString& ) { void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) { + bool needShow = false; /* @@ -46,2 +48,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) if ( cmd == "create()" ) { + raise(); int uid = create(); @@ -49,2 +52,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) e << uid; + needShow = true; }else if ( cmd == "remove(int)" ) { @@ -55,2 +59,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) e << rem; + needShow = true; }else if ( cmd == "beam(int)" ) { @@ -60,2 +65,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) }else if ( cmd == "show(int)" ) { + raise(); int uid; @@ -63,3 +69,5 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) show( uid ); + needShow = true; }else if ( cmd == "edit(int)" ) { + raise(); int uid; @@ -77,2 +85,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) }else if ( cmd == "alarm(QDateTime,int)" ) { + raise(); QDateTime dt; int uid; @@ -85,4 +94,7 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) doAlarm( dt, uid ); - + needShow = true; } + + if (needShow ) + QPEApplication::setKeepRunning(); } diff --git a/libopie/pim/opimxrefmanager.h b/libopie/pim/opimxrefmanager.h index 39e5eef..c485e98 100644 --- a/libopie/pim/opimxrefmanager.h +++ b/libopie/pim/opimxrefmanager.h @@ -38,2 +38,4 @@ private: OPimXRef::ValueList m_list; + class Private; + Private *d; }; diff --git a/libopie/pim/orecordlist.h b/libopie/pim/orecordlist.h index edcd729..5211f57 100644 --- a/libopie/pim/orecordlist.h +++ b/libopie/pim/orecordlist.h @@ -9,2 +9,3 @@ +class ORecordListIteratorPrivate; /** @@ -73,5 +74,6 @@ private: /* d pointer for future versions */ - class IteratorPrivate; - IteratorPrivate *d; + ORecordListIteratorPrivate *d; }; + +class ORecordListPrivate; /** @@ -113,3 +115,3 @@ ORecordList( const QArray<int>& ids, - /** + /** * Remove the contact with given uid @@ -125,2 +127,3 @@ private: const Base* m_acc; + ORecordListPrivate *d; }; @@ -222,2 +225,5 @@ ORecordListIterator<T>::ORecordListIterator( const QArray<int> uids, { + /* if the list is empty we're already at the end of the list */ + if (uids.count() == 0 ) + m_end = true; } diff --git a/libopie/pim/otemplatebase.h b/libopie/pim/otemplatebase.h index 29fb6ec..cadac74 100644 --- a/libopie/pim/otemplatebase.h +++ b/libopie/pim/otemplatebase.h @@ -16,2 +16,3 @@ */ +class OPimBasePrivate; struct OPimBase { @@ -34,2 +35,4 @@ struct OPimBase { */ +private: + OPimBasePrivate* d; @@ -40,2 +43,3 @@ struct OPimBase { */ +class OTemplateBasePrivate; template <class T = OPimRecord> @@ -63,2 +67,5 @@ public: static T* rec(); + +private: + OTemplateBasePrivate *d; }; diff --git a/libopie/pim/otodo.cpp b/libopie/pim/otodo.cpp index 38b93f7..5a18c37 100644 --- a/libopie/pim/otodo.cpp +++ b/libopie/pim/otodo.cpp @@ -30,2 +30,7 @@ struct OTodo::OTodoData : public QShared { }; + ~OTodoData() { + delete recur; + delete maintainer; + delete notifiers; + } @@ -276,3 +281,3 @@ QString OTodo::toRichText() const // summary - text += "<b><h3><img src=\"todo/TodoList\">"; + text += "<b><h3><img src=\"todo/TodoList\"> "; if ( !summary().isEmpty() ) { @@ -284,4 +289,4 @@ QString OTodo::toRichText() const if( !description().isEmpty() ){ - text += "<b>" + QObject::tr( "Description:" ) + "</b><br>"; - text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) ; + text += "<b>" + QObject::tr( "Notes:" ) + "</b><br>"; + text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; } @@ -291,5 +296,4 @@ QString OTodo::toRichText() const text += "<b>" + QObject::tr( "Priority:") +" </b><img src=\"todo/priority" + - QString::number( priorityval ) + "\">"; -// text += "<b>" + QObject::tr( "Priority:") +"</b><img src=\"todo/priority" + -// QString::number( priority() ) + "\"><br>"; + QString::number( priorityval ) + "\"> "; + switch ( priorityval ) diff --git a/libopie/pim/otodo.h b/libopie/pim/otodo.h index f9a345a..6df98b9 100644 --- a/libopie/pim/otodo.h +++ b/libopie/pim/otodo.h @@ -100,7 +100,2 @@ public: /** - * Does this Event has an alarm time ? - */ - bool hasAlarmDateTime() const; - - /** * What is the priority? @@ -243,6 +238,2 @@ public: void setRecurrence( const ORecur& ); - /** - * set the alarm time - */ - void setAlarmDateTime ( const QDateTime& alarm ); diff --git a/libopie/pim/otodoaccessbackend.h b/libopie/pim/otodoaccessbackend.h index 05e8ca9..6be95bc 100644 --- a/libopie/pim/otodoaccessbackend.h +++ b/libopie/pim/otodoaccessbackend.h @@ -20,2 +20,6 @@ public: virtual QBitArray supports()const = 0; + +private: + class Private; + Private *d; diff --git a/libopie/pim/otodoaccessvcal.cpp b/libopie/pim/otodoaccessvcal.cpp index 3577e14..6415952 100644 --- a/libopie/pim/otodoaccessvcal.cpp +++ b/libopie/pim/otodoaccessvcal.cpp @@ -17,3 +17,7 @@ namespace { name = vObjectStringZValue( ob ); +#if 0 event.setDescription( name ); +#else + event.setSummary( name ); +#endif } @@ -22,3 +26,7 @@ namespace { name = vObjectStringZValue( ob ); +#if 0 event.setSummary( name ); +#else + event.setDescription( name ); +#endif } @@ -76,2 +84,10 @@ namespace { +#if 0 + + // There seems a misrepresentation between summary in otodoevent + // and summary in vcard. + // The same with description.. + // Description is summary and vice versa.. Argh.. (eilers) + + addPropValue( task, VCDescriptionProp, @@ -81,2 +97,10 @@ namespace { event.summary().local8Bit() ); + +#else + addPropValue( task, VCDescriptionProp, + event.summary().local8Bit() ); + + addPropValue( task, VCSummaryProp, + event.description().local8Bit() ); +#endif return task; @@ -187,3 +211,3 @@ QArray<int> OTodoAccessVCal::allRecords()const { } -QArray<int> OTodoAccessVCal::matchRegexp(const QRegExp &r)const { +QArray<int> OTodoAccessVCal::matchRegexp(const QRegExp& /* r */)const { QArray<int> ar(0); diff --git a/libopie/pim/otodoaccessxml.cpp b/libopie/pim/otodoaccessxml.cpp index 3d15354..f688735 100644 --- a/libopie/pim/otodoaccessxml.cpp +++ b/libopie/pim/otodoaccessxml.cpp @@ -89,3 +89,3 @@ bool OTodoAccessXML::load() { */ - QAsciiDict<int> dict(21); + QAsciiDict<int> dict(26); dict.setAutoDelete( TRUE ); @@ -838,6 +838,8 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder, void OTodoAccessXML::removeAllCompleted() { + QMap<int, OTodo> events = m_events; for ( QMap<int, OTodo>::Iterator it = m_events.begin(); it != m_events.end(); ++it ) { if ( (*it).isCompleted() ) - m_events.remove( it ); + events.remove( it.key() ); } + m_events = events; } diff --git a/libopie2/opiepim/backend/obackendfactory.h b/libopie2/opiepim/backend/obackendfactory.h index ad6cf5a..f3c339d 100644 --- a/libopie2/opiepim/backend/obackendfactory.h +++ b/libopie2/opiepim/backend/obackendfactory.h @@ -18,2 +18,10 @@ * $Log$ + * Revision 1.7 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.6.4.1 2003/06/30 14:34:19 eilers + * Patches from Zecke: + * Fixing and cleaning up extraMap handling + * Adding d_ptr for binary compatibility in the future + * * Revision 1.6 2003/04/13 18:07:10 zecke @@ -70,2 +78,4 @@ +class OBackendPrivate; + /** @@ -150,2 +160,4 @@ class OBackendFactory } + private: + OBackendPrivate* d; }; diff --git a/libopie2/opiepim/backend/ocontactaccessbackend.h b/libopie2/opiepim/backend/ocontactaccessbackend.h index ebeb42d..280e05c 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend.h +++ b/libopie2/opiepim/backend/ocontactaccessbackend.h @@ -21,2 +21,10 @@ * $Log$ + * Revision 1.6 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.5.4.1 2003/06/30 14:34:19 eilers + * Patches from Zecke: + * Fixing and cleaning up extraMap handling + * Adding d_ptr for binary compatibility in the future + * * Revision 1.5 2003/04/13 18:07:10 zecke @@ -104,3 +112,7 @@ class OContactAccessBackend: public OPimAccessBackend<OContact> { virtual QArray<int> sorted( bool ascending, int sortOrder, int sortFilter, int cat ) = 0; - + + +private: + class Private; + Private *d; }; diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp index 270bef3..b60c5be 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp @@ -19,2 +19,17 @@ * $Log$ + * Revision 1.11 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.10.4.3 2003/07/23 08:54:37 eilers + * Default email was added to the list of all emails, which already contains + * the default email.. + * This closes bug #1045 + * + * Revision 1.10.4.2 2003/07/23 08:44:45 eilers + * Importing of Notes in vcard files wasn't implemented. + * Closes bug #1044 + * + * Revision 1.10.4.1 2003/06/02 13:37:49 eilers + * Fixing memory leak + * * Revision 1.10 2003/04/13 18:07:10 zecke @@ -153,2 +168,3 @@ bool OContactAccessBackend_VCard::save() cleanStrTbl(); + deleteVObject( obj ); @@ -448,3 +464,5 @@ OContact OContactAccessBackend_VCard::parseVObject( VObject *obj ) } - + else if ( name == VCCommentProp ) { + c.setNotes( value ); + } #if 0 @@ -536,3 +554,3 @@ VObject* OContactAccessBackend_VCard::createVObject( const OContact &c ) QStringList emails = c.emailList(); - emails.prepend( c.defaultEmail() ); + // emails.prepend( c.defaultEmail() ); Fix for bugreport #1045 for( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp index 097142b..1c21619 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp @@ -19,2 +19,5 @@ * $Log$ + * Revision 1.7 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * * Revision 1.6 2003/07/07 16:19:47 eilers diff --git a/libopie2/opiepim/backend/odatebookaccessbackend.h b/libopie2/opiepim/backend/odatebookaccessbackend.h index 86ff298..3c02c42 100644 --- a/libopie2/opiepim/backend/odatebookaccessbackend.h +++ b/libopie2/opiepim/backend/odatebookaccessbackend.h @@ -70,2 +70,6 @@ public: +private: + class Private; + Private *d; + }; diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp index ab2eea4..5ea945c 100644 --- a/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp +++ b/libopie2/opiepim/backend/odatebookaccessbackend_xml.cpp @@ -432,5 +432,5 @@ bool ODateBookAccessBackend_XML::loadFile() { if (!find) - ev.setCustomField( attr, value ); + ev.setCustomField( attr, str ); else { - setField( ev, *find, value ); + setField( ev, *find, str ); } @@ -455,3 +455,3 @@ void ODateBookAccessBackend_XML::finalizeRecord( OEvent& ev ) { /* to current date time */ - qWarning(" Start is %d", start ); + // qWarning(" Start is %d", start ); OTimeZone zone( ev.timeZone().isEmpty() ? OTimeZone::current() : ev.timeZone() ); diff --git a/libopie2/opiepim/backend/opimaccessbackend.h b/libopie2/opiepim/backend/opimaccessbackend.h index f4bbe35..c3d91f7 100644 --- a/libopie2/opiepim/backend/opimaccessbackend.h +++ b/libopie2/opiepim/backend/opimaccessbackend.h @@ -9,2 +9,3 @@ +class OPimAccessBackendPrivate; /** @@ -109,4 +110,3 @@ protected: private: - class Private; - Private* d; + OPimAccessBackendPrivate *d; Frontend* m_front; diff --git a/libopie2/opiepim/backend/otodoaccessbackend.h b/libopie2/opiepim/backend/otodoaccessbackend.h index 05e8ca9..6be95bc 100644 --- a/libopie2/opiepim/backend/otodoaccessbackend.h +++ b/libopie2/opiepim/backend/otodoaccessbackend.h @@ -20,2 +20,6 @@ public: virtual QBitArray supports()const = 0; + +private: + class Private; + Private *d; diff --git a/libopie2/opiepim/backend/otodoaccessvcal.cpp b/libopie2/opiepim/backend/otodoaccessvcal.cpp index 3577e14..6415952 100644 --- a/libopie2/opiepim/backend/otodoaccessvcal.cpp +++ b/libopie2/opiepim/backend/otodoaccessvcal.cpp @@ -17,3 +17,7 @@ namespace { name = vObjectStringZValue( ob ); +#if 0 event.setDescription( name ); +#else + event.setSummary( name ); +#endif } @@ -22,3 +26,7 @@ namespace { name = vObjectStringZValue( ob ); +#if 0 event.setSummary( name ); +#else + event.setDescription( name ); +#endif } @@ -76,2 +84,10 @@ namespace { +#if 0 + + // There seems a misrepresentation between summary in otodoevent + // and summary in vcard. + // The same with description.. + // Description is summary and vice versa.. Argh.. (eilers) + + addPropValue( task, VCDescriptionProp, @@ -81,2 +97,10 @@ namespace { event.summary().local8Bit() ); + +#else + addPropValue( task, VCDescriptionProp, + event.summary().local8Bit() ); + + addPropValue( task, VCSummaryProp, + event.description().local8Bit() ); +#endif return task; @@ -187,3 +211,3 @@ QArray<int> OTodoAccessVCal::allRecords()const { } -QArray<int> OTodoAccessVCal::matchRegexp(const QRegExp &r)const { +QArray<int> OTodoAccessVCal::matchRegexp(const QRegExp& /* r */)const { QArray<int> ar(0); diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp index 3d15354..f688735 100644 --- a/libopie2/opiepim/backend/otodoaccessxml.cpp +++ b/libopie2/opiepim/backend/otodoaccessxml.cpp @@ -89,3 +89,3 @@ bool OTodoAccessXML::load() { */ - QAsciiDict<int> dict(21); + QAsciiDict<int> dict(26); dict.setAutoDelete( TRUE ); @@ -838,6 +838,8 @@ QArray<int> OTodoAccessXML::sorted( bool asc, int sortOrder, void OTodoAccessXML::removeAllCompleted() { + QMap<int, OTodo> events = m_events; for ( QMap<int, OTodo>::Iterator it = m_events.begin(); it != m_events.end(); ++it ) { if ( (*it).isCompleted() ) - m_events.remove( it ); + events.remove( it.key() ); } + m_events = events; } diff --git a/libopie2/opiepim/core/ocontactaccess.h b/libopie2/opiepim/core/ocontactaccess.h index e90db32..9b0a719 100644 --- a/libopie2/opiepim/core/ocontactaccess.h +++ b/libopie2/opiepim/core/ocontactaccess.h @@ -19,2 +19,10 @@ * $Log$ + * Revision 1.9 2003/08/01 12:30:16 eilers + * Merging changes from BRANCH_1_0 to HEAD + * + * Revision 1.8.2.1 2003/06/30 14:34:19 eilers + * Patches from Zecke: + * Fixing and cleaning up extraMap handling + * Adding d_ptr for binary compatibility in the future + * * Revision 1.8 2003/05/08 13:55:09 tille @@ -167,2 +175,5 @@ class OContactAccess: public QObject, public OPimAccessTemplate<OContact> + private: + class Private; + Private *d; diff --git a/libopie2/opiepim/core/oconversion.h b/libopie2/opiepim/core/oconversion.h index 13367e1..4c0a497 100644 --- a/libopie2/opiepim/core/oconversion.h +++ b/libopie2/opiepim/core/oconversion.h @@ -39,2 +39,7 @@ public: static QDateTime dateTimeFromString( const QString& ); + +private: + class Private; + Private* d; + }; diff --git a/libopie2/opiepim/core/opimaccesstemplate.h b/libopie2/opiepim/core/opimaccesstemplate.h index 8ff205c..ecbeb68 100644 --- a/libopie2/opiepim/core/opimaccesstemplate.h +++ b/libopie2/opiepim/core/opimaccesstemplate.h @@ -12,2 +12,3 @@ +class OPimAccessTemplatePrivate; /** @@ -154,2 +155,5 @@ protected: +private: + OPimAccessTemplatePrivate *d; + }; diff --git a/libopie2/opiepim/core/opimcache.h b/libopie2/opiepim/core/opimcache.h index 73414e5..7f7cff5 100644 --- a/libopie2/opiepim/core/opimcache.h +++ b/libopie2/opiepim/core/opimcache.h @@ -7,2 +7,4 @@ +class OPimCacheItemPrivate; + template <class T = OPimRecord> @@ -20,4 +22,7 @@ private: T m_t; + OPimCacheItemPrivate *d; }; + +class OPimCachePrivate; /** @@ -48,2 +53,3 @@ private: QIntCache<Item> m_cache; + OPimCachePrivate* d; }; diff --git a/libopie2/opiepim/core/opimxrefmanager.h b/libopie2/opiepim/core/opimxrefmanager.h index 39e5eef..c485e98 100644 --- a/libopie2/opiepim/core/opimxrefmanager.h +++ b/libopie2/opiepim/core/opimxrefmanager.h @@ -38,2 +38,4 @@ private: OPimXRef::ValueList m_list; + class Private; + Private *d; }; diff --git a/libopie2/opiepim/core/otemplatebase.h b/libopie2/opiepim/core/otemplatebase.h index 29fb6ec..cadac74 100644 --- a/libopie2/opiepim/core/otemplatebase.h +++ b/libopie2/opiepim/core/otemplatebase.h @@ -16,2 +16,3 @@ */ +class OPimBasePrivate; struct OPimBase { @@ -34,2 +35,4 @@ struct OPimBase { */ +private: + OPimBasePrivate* d; @@ -40,2 +43,3 @@ struct OPimBase { */ +class OTemplateBasePrivate; template <class T = OPimRecord> @@ -63,2 +67,5 @@ public: static T* rec(); + +private: + OTemplateBasePrivate *d; }; diff --git a/libopie2/opiepim/ocontact.cpp b/libopie2/opiepim/ocontact.cpp index be4ce0a..3473baa 100644 --- a/libopie2/opiepim/ocontact.cpp +++ b/libopie2/opiepim/ocontact.cpp @@ -23,6 +23,7 @@ #include "opimresolver.h" +#include "oconversion.h" #include <qpe/stringutil.h> -#include "oconversion.h" #include <qpe/timestring.h> +#include <qpe/config.h> @@ -440,8 +441,12 @@ QString OContact::toRichText() const + Config cfg("qpe"); + cfg.setGroup("Appearance"); + int addressformat = cfg.readNumEntry( "AddressFormat", Zip_City_State ); + // name, jobtitle and company if ( !(value = fullName()).isEmpty() ) - text += "<b><h3><img src=\"addressbook/AddressBook\">" + Qtopia::escapeString(value) + "</h3></b>"; - + text += "<b><h3><img src=\"addressbook/AddressBook\"> " + Qtopia::escapeString(value) + "</h3></b>"; + if ( !(value = jobTitle()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; + text += Qtopia::escapeString(value); @@ -456,5 +461,5 @@ QString OContact::toRichText() const if ( !comp.isEmpty() ) - text += Qtopia::escapeString(comp) + "<br>"; + text += Qtopia::escapeString(comp); - text += "<hr><br>"; + text += "<br><hr>"; @@ -462,7 +467,7 @@ QString OContact::toRichText() const QString defEmail = defaultEmail(); - if ( !defEmail.isEmpty() ) - text += "<b><img src=\"addressbook/email\">" + QObject::tr("Default Email: ") + "</b>" - + Qtopia::escapeString(defEmail) + "<br>"; - - text += "<br>"; + if ( !defEmail.isEmpty() ){ + text += "<b><img src=\"addressbook/email\"> " + QObject::tr("Default Email: ") + "</b>" + + Qtopia::escapeString(defEmail); + marker = true; + } @@ -471,4 +476,3 @@ QString OContact::toRichText() const !businessZip().isEmpty() || !businessCountry().isEmpty() ) { - text += QObject::tr( "<b>Work Address:</b>" ); - text += "<br>"; + text += QObject::tr( "<br><br><b>Work Address:</b>" ); marker = true; @@ -476,17 +480,51 @@ QString OContact::toRichText() const - if ( !(value = businessStreet()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; - state = businessState(); - if ( !(value = businessZip()).isEmpty() ) - text += Qtopia::escapeString(value) + " "; - if ( !(value = businessCity()).isEmpty() ) { - text += Qtopia::escapeString(value); - if ( state ) - text += ", " + Qtopia::escapeString(state); - text += "<br>"; - } else if ( !state.isEmpty() ) - text += Qtopia::escapeString(state) + "<br>"; + if ( !(value = businessStreet()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } + + switch( addressformat ){ + case Zip_City_State:{ // Zip_Code City, State + state = businessState(); + if ( !(value = businessZip()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value) + " "; + marker = true; + + } else + text += "<br>"; + + if ( !(value = businessCity()).isEmpty() ) { + marker = true; + text += Qtopia::escapeString(value); + if ( state ) + text += ", " + Qtopia::escapeString(state); + } else if ( !state.isEmpty() ){ + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + break; + } + case City_State_Zip:{ // City, State Zip_Code + state = businessState(); + if ( !(value = businessCity()).isEmpty() ) { + marker = true; + text += "<br>" + Qtopia::escapeString(value); + if ( state ) + text += ", " + Qtopia::escapeString(state); + } else if ( !state.isEmpty() ){ + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + if ( !(value = businessZip()).isEmpty() ){ + text += " " + Qtopia::escapeString(value); + marker = true; + } + break; + } + } - if ( !(value = businessCountry()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; + if ( !(value = businessCountry()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } @@ -495,4 +533,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b>" + QObject::tr("Office: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Office: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -501,4 +539,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/webpagework\">" + QObject::tr("Business Web Page: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/webpagework\"> " + QObject::tr("Business Web Page: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -507,4 +545,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/phonework\">" + QObject::tr("Business Phone: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/phonework\"> " + QObject::tr("Business Phone: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -513,4 +551,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/faxwork\">" + QObject::tr("Business Fax: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/faxwork\"> " + QObject::tr("Business Fax: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -519,4 +557,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/mobilework\">" + QObject::tr("Business Mobile: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/mobilework\"> " + QObject::tr("Business Mobile: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -525,4 +563,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b>" + QObject::tr("Business Pager: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Business Pager: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -535,20 +573,54 @@ QString OContact::toRichText() const !homeZip().isEmpty() || !homeCountry().isEmpty() ) { - text += QObject::tr( "<b>Home Address:</b>" ); - text += "<br>"; + text += QObject::tr( "<br><br><b>Home Address:</b>" ); + marker = true; } - if ( !(value = homeStreet()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; - state = homeState(); - if ( !(value = homeZip()).isEmpty() ) - text += Qtopia::escapeString(value) + " "; - if ( !(value = homeCity()).isEmpty() ) { - text += Qtopia::escapeString(value); - if ( !state.isEmpty() ) - text += ", " + Qtopia::escapeString(state); - text += "<br>"; - } else if (!state.isEmpty()) - text += Qtopia::escapeString(state) + "<br>"; - if ( !(value = homeCountry()).isEmpty() ) - text += Qtopia::escapeString(value) + "<br>"; + if ( !(value = homeStreet()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } + + switch( addressformat ){ + case Zip_City_State:{ // Zip_Code City, State + state = homeState(); + if ( !(value = homeZip()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value) + " "; + marker = true; + } else + text += "<br>"; + + if ( !(value = homeCity()).isEmpty() ) { + marker = true; + text += Qtopia::escapeString(value); + if ( !state.isEmpty() ) + text += ", " + Qtopia::escapeString(state); + } else if (!state.isEmpty()) { + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + break; + } + case City_State_Zip:{ // City, State Zip_Code + state = homeState(); + if ( !(value = homeCity()).isEmpty() ) { + marker = true; + text += "<br>" + Qtopia::escapeString(value); + if ( state ) + text += ", " + Qtopia::escapeString(state); + } else if ( !state.isEmpty() ){ + text += "<br>" + Qtopia::escapeString(state); + marker = true; + } + if ( !(value = homeZip()).isEmpty() ){ + text += " " + Qtopia::escapeString(value); + marker = true; + } + break; + } + } + + if ( !(value = homeCountry()).isEmpty() ){ + text += "<br>" + Qtopia::escapeString(value); + marker = true; + } @@ -557,4 +629,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/webpagehome\">" + QObject::tr("Home Web Page: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/webpagehome\"> " + QObject::tr("Home Web Page: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -563,4 +635,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/phonehome\">" + QObject::tr("Home Phone: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/phonehome\"> " + QObject::tr("Home Phone: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -569,4 +641,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/faxhome\">" + QObject::tr("Home Fax: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/faxhome\"> " + QObject::tr("Home Fax: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -575,4 +647,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ){ - text += "<b><img src=\"addressbook/mobilehome\">" + QObject::tr("Home Mobile: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b><img src=\"addressbook/mobilehome\"> " + QObject::tr("Home Mobile: ") + "</b>" + + Qtopia::escapeString(str); marker = true; @@ -581,27 +653,29 @@ QString OContact::toRichText() const if ( marker ) - text += "<br><hr><br>"; - // the others... + text += "<br><hr>"; + + // the rest... str = emails(); if ( !str.isEmpty() && ( str != defEmail ) ) - text += "<b>" + QObject::tr("All Emails: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("All Emails: ") + "</b>" + + Qtopia::escapeString(str); str = profession(); if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Profession: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Profession: ") + "</b>" + + Qtopia::escapeString(str); str = assistant(); if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Assistant: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Assistant: ") + "</b>" + + Qtopia::escapeString(str); str = manager(); if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Manager: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Manager: ") + "</b>" + + Qtopia::escapeString(str); str = gender(); if ( !str.isEmpty() && str.toInt() != 0 ) { - if ( str.toInt() == 1 ) - str = QObject::tr( "Male" ); - else if ( str.toInt() == 2 ) - str = QObject::tr( "Female" ); - text += "<b>" + QObject::tr("Gender: ") + "</b>" + str + "<br>"; + text += "<br>"; + if ( str.toInt() == 1 ) + str = QObject::tr( "Male" ); + else if ( str.toInt() == 2 ) + str = QObject::tr( "Female" ); + text += "<b>" + QObject::tr("Gender: ") + "</b>" + str; } @@ -609,8 +683,8 @@ QString OContact::toRichText() const if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Spouse: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Spouse: ") + "</b>" + + Qtopia::escapeString(str); if ( birthday().isValid() ){ str = TimeString::numberDateString( birthday() ); - text += "<b>" + QObject::tr("Birthday: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Birthday: ") + "</b>" + + Qtopia::escapeString(str); } @@ -618,4 +692,4 @@ QString OContact::toRichText() const str = TimeString::numberDateString( anniversary() ); - text += "<b>" + QObject::tr("Anniversary: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Anniversary: ") + "</b>" + + Qtopia::escapeString(str); } @@ -623,4 +697,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Children: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Children: ") + "</b>" + + Qtopia::escapeString(str); @@ -628,4 +702,4 @@ QString OContact::toRichText() const if ( !str.isEmpty() ) - text += "<b>" + QObject::tr("Nickname: ") + "</b>" - + Qtopia::escapeString(str) + "<br>"; + text += "<br><b>" + QObject::tr("Nickname: ") + "</b>" + + Qtopia::escapeString(str); @@ -633,5 +707,4 @@ QString OContact::toRichText() const if ( categoryNames("Contacts").count() ){ - text += "<b>" + QObject::tr( "Category:") + "</b> "; + text += "<br><b>" + QObject::tr( "Category:") + "</b> "; text += categoryNames("Contacts").join(", "); - text += "<br>"; } diff --git a/libopie2/opiepim/ocontact.h b/libopie2/opiepim/ocontact.h index dd2de17..9a1a8dc 100644 --- a/libopie2/opiepim/ocontact.h +++ b/libopie2/opiepim/ocontact.h @@ -34,3 +34,3 @@ QPC_TEMPLATEEXTERN template class QPC_EXPORT QMap<int, QString>; -class ContactPrivate; +class OContactPrivate; @@ -51,2 +51,7 @@ public: + enum DateFormat{ + Zip_City_State = 0, + City_State_Zip + }; + /* @@ -235,3 +240,3 @@ private: QMap<int, QString> mMap; - ContactPrivate *d; + OContactPrivate *d; }; diff --git a/libopie2/opiepim/orecordlist.h b/libopie2/opiepim/orecordlist.h index edcd729..5211f57 100644 --- a/libopie2/opiepim/orecordlist.h +++ b/libopie2/opiepim/orecordlist.h @@ -9,2 +9,3 @@ +class ORecordListIteratorPrivate; /** @@ -73,5 +74,6 @@ private: /* d pointer for future versions */ - class IteratorPrivate; - IteratorPrivate *d; + ORecordListIteratorPrivate *d; }; + +class ORecordListPrivate; /** @@ -113,3 +115,3 @@ ORecordList( const QArray<int>& ids, - /** + /** * Remove the contact with given uid @@ -125,2 +127,3 @@ private: const Base* m_acc; + ORecordListPrivate *d; }; @@ -222,2 +225,5 @@ ORecordListIterator<T>::ORecordListIterator( const QArray<int> uids, { + /* if the list is empty we're already at the end of the list */ + if (uids.count() == 0 ) + m_end = true; } diff --git a/libopie2/opiepim/otodo.cpp b/libopie2/opiepim/otodo.cpp index 38b93f7..5a18c37 100644 --- a/libopie2/opiepim/otodo.cpp +++ b/libopie2/opiepim/otodo.cpp @@ -30,2 +30,7 @@ struct OTodo::OTodoData : public QShared { }; + ~OTodoData() { + delete recur; + delete maintainer; + delete notifiers; + } @@ -276,3 +281,3 @@ QString OTodo::toRichText() const // summary - text += "<b><h3><img src=\"todo/TodoList\">"; + text += "<b><h3><img src=\"todo/TodoList\"> "; if ( !summary().isEmpty() ) { @@ -284,4 +289,4 @@ QString OTodo::toRichText() const if( !description().isEmpty() ){ - text += "<b>" + QObject::tr( "Description:" ) + "</b><br>"; - text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) ; + text += "<b>" + QObject::tr( "Notes:" ) + "</b><br>"; + text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; } @@ -291,5 +296,4 @@ QString OTodo::toRichText() const text += "<b>" + QObject::tr( "Priority:") +" </b><img src=\"todo/priority" + - QString::number( priorityval ) + "\">"; -// text += "<b>" + QObject::tr( "Priority:") +"</b><img src=\"todo/priority" + -// QString::number( priority() ) + "\"><br>"; + QString::number( priorityval ) + "\"> "; + switch ( priorityval ) diff --git a/libopie2/opiepim/otodo.h b/libopie2/opiepim/otodo.h index f9a345a..6df98b9 100644 --- a/libopie2/opiepim/otodo.h +++ b/libopie2/opiepim/otodo.h @@ -100,7 +100,2 @@ public: /** - * Does this Event has an alarm time ? - */ - bool hasAlarmDateTime() const; - - /** * What is the priority? @@ -243,6 +238,2 @@ public: void setRecurrence( const ORecur& ); - /** - * set the alarm time - */ - void setAlarmDateTime ( const QDateTime& alarm ); diff --git a/libopie2/opiepim/ui/opimmainwindow.cpp b/libopie2/opiepim/ui/opimmainwindow.cpp index 4044bc1..2739e26 100644 --- a/libopie2/opiepim/ui/opimmainwindow.cpp +++ b/libopie2/opiepim/ui/opimmainwindow.cpp @@ -6,2 +6,3 @@ #include <qpe/qcopenvelope_qws.h> +#include <qpe/qpeapplication.h> @@ -40,2 +41,3 @@ void OPimMainWindow::doSetDocument( const QString& ) { void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) { + bool needShow = false; /* @@ -46,2 +48,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) if ( cmd == "create()" ) { + raise(); int uid = create(); @@ -49,2 +52,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) e << uid; + needShow = true; }else if ( cmd == "remove(int)" ) { @@ -55,2 +59,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) e << rem; + needShow = true; }else if ( cmd == "beam(int)" ) { @@ -60,2 +65,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) }else if ( cmd == "show(int)" ) { + raise(); int uid; @@ -63,3 +69,5 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) show( uid ); + needShow = true; }else if ( cmd == "edit(int)" ) { + raise(); int uid; @@ -77,2 +85,3 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) }else if ( cmd == "alarm(QDateTime,int)" ) { + raise(); QDateTime dt; int uid; @@ -85,4 +94,7 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array ) doAlarm( dt, uid ); - + needShow = true; } + + if (needShow ) + QPEApplication::setKeepRunning(); } |