-rw-r--r-- | libopie2/opiepim/TODO | 3 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimcontact.cpp | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimcontact.h | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimevent.cpp | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimevent.h | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimrecord.cpp | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimrecord.h | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimtodo.cpp | 2 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimtodo.h | 2 |
9 files changed, 11 insertions, 8 deletions
diff --git a/libopie2/opiepim/TODO b/libopie2/opiepim/TODO index cdde11c..c3420cf 100644 --- a/libopie2/opiepim/TODO +++ b/libopie2/opiepim/TODO @@ -1,38 +1,41 @@ As to popular request.... 1.) fix up the core/backend mess. The actual Backend Implementation + Interface should be there The API frontend used by the developer should not be used + Rename ODateBookAccess* to OPimDateBookAccess* + Fix filenames to OPim* ... + 2.) Move sorting, Query By Example, Exposing of Attributes of a Record available to the Ptr base class and have sane implementation on the template level 3.) Have something like QProperty to expose attributes from OPimRecord. This would include exporting,importing of data, and translated names. This can be used for Cross Reference, Selector Widget, Generic Table Shower 4.) Marshall/Demarshall all PIM Records correctly 5.) Add the Private Backend to the OPimRecord ( private ) make the base access class friend and allow retrieving the backend. Make it virtual so the template gets the right pointer. So it can only be accessed from the inside 6.) Add signals for updating/adding/removing records to the access template Internal connect method 7.) internal QCOP communication between the interfaces 8.) GUI:Better and Improved Recurrence Widget 9.) GUI:Improved Alarm Widget and handling classes 10.) GUI:Undo/Redo template look at KDE 11.) GUI: Generic X-Ref Selector using the factory and pointer interface 12.) GUI: Factory and also registration of foreign services. generate a records of type 13.) Multiple Backends for an Access Template diff --git a/libopie2/opiepim/core/opimcontact.cpp b/libopie2/opiepim/core/opimcontact.cpp index 4a774e8..c1e06c8 100644 --- a/libopie2/opiepim/core/opimcontact.cpp +++ b/libopie2/opiepim/core/opimcontact.cpp @@ -1246,44 +1246,44 @@ void OPimContact::insertEmail( const QString &v ) 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()); 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 ); } -int OPimContact::rtti() +int OPimContact::rtti() const { return OPimResolver::AddressBook; } void OPimContact::setUid( int i ) { OPimRecord::setUid( i ); replace( Qtopia::AddressUid , QString::number( i ) ); } } diff --git a/libopie2/opiepim/core/opimcontact.h b/libopie2/opiepim/core/opimcontact.h index 9d3cacc..6891dd6 100644 --- a/libopie2/opiepim/core/opimcontact.h +++ b/libopie2/opiepim/core/opimcontact.h @@ -199,58 +199,58 @@ class QPC_EXPORT OPimContact : public OPimRecord //personal QString spouse() const { return find( Qtopia::Spouse ); } QString gender() const { return find( Qtopia::Gender ); } QDate birthday() const; QDate anniversary() const; QString nickname() const { return find( Qtopia::Nickname ); } QString children() const { return find( Qtopia::Children ); } QStringList childrenList() const; // other QString notes() const { return find( Qtopia::Notes ); } QString groups() const { return find( Qtopia::Groups ); } QStringList groupList() const; QString toRichText() const; QMap<int, QString> toMap() const; QString field( int key ) const { return find( key ); } void setUid( int i ); QString toShortText() const; QString type() const; class QString recordField( int ) const; // Why private ? (eilers,se) QString emailSeparator() const { return " "; } // the emails should be seperated by a comma void setEmails( const QString &v ); QString emails() const { return find( Qtopia::Emails ); } - static int rtti(); + int rtti() const; private: // The XML Backend needs some access to the private functions friend class OPimContactAccessBackend_XML; void insert( int key, const QString &value ); void replace( int key, const QString &value ); QString find( int key ) const; static QStringList fields(); void save( QString &buf ) const; QString displayAddress( const QString &street, const QString &city, const QString &state, const QString &zip, const QString &country ) const; QMap<int, QString> mMap; OPimContactPrivate *d; }; } #endif diff --git a/libopie2/opiepim/core/opimevent.cpp b/libopie2/opiepim/core/opimevent.cpp index 77730e9..8bf8b25 100644 --- a/libopie2/opiepim/core/opimevent.cpp +++ b/libopie2/opiepim/core/opimevent.cpp @@ -452,65 +452,65 @@ QString OPimEvent::toRichText() const QString OPimEvent::toShortText() const { QString text; text += QString::number( startDateTime().date().day() ); text += "."; text += QString::number( startDateTime().date().month() ); text += "."; text += QString::number( startDateTime().date().year() ); text += " "; text += QString::number( startDateTime().time().hour() ); text += ":"; text += QString::number( startDateTime().time().minute() ); text += " - "; text += description(); return text; } QString OPimEvent::type() const { return QString::fromLatin1( "OPimEvent" ); } QString OPimEvent::recordField( int /*id */ ) const { return QString::null; } -int OPimEvent::rtti() +int OPimEvent::rtti() const { return OPimResolver::DateBook; } bool OPimEvent::loadFromStream( QDataStream& ) { return true; } bool OPimEvent::saveToStream( QDataStream& ) const { return true; } void OPimEvent::changeOrModify() { if ( data->count != 1 ) { data->deref(); Data* d2 = new Data; d2->description = data->description; d2->location = data->location; if ( data->manager ) d2->manager = new OPimNotifyManager( *data->manager ); if ( data->recur ) d2->recur = new OPimRecurrence( *data->recur ); diff --git a/libopie2/opiepim/core/opimevent.h b/libopie2/opiepim/core/opimevent.h index 949f263..56fe917 100644 --- a/libopie2/opiepim/core/opimevent.h +++ b/libopie2/opiepim/core/opimevent.h @@ -154,65 +154,65 @@ class OPimEvent : public OPimRecord bool isMultipleDay() const; bool isAllDay() const; void setAllDay( bool isAllDay ); /* pin this event to a timezone! FIXME */ void setTimeZone( const QString& timeZone ); QString timeZone() const; virtual bool match( const QRegExp& ) const; /** For exception to recurrence here is a list of children... */ QArray<int> children() const; void setChildren( const QArray<int>& ); void addChild( int uid ); void removeChild( int uid ); /** return the parent OPimEvent */ int parent() const; void setParent( int uid ); /* needed reimp */ QString toRichText() const; QString toShortText() const; QString type() const; QMap<int, QString> toMap() const; void fromMap( const QMap<int, QString>& map ); QString recordField( int ) const; - static int rtti(); + int rtti() const; bool loadFromStream( QDataStream& ); bool saveToStream( QDataStream& ) const; /* bool operator==( const OPimEvent& ); bool operator!=( const OPimEvent& ); bool operator<( const OPimEvent& ); bool operator<=( const OPimEvent& ); bool operator>( const OPimEvent& ); bool operator>=(const OPimEvent& ); */ private: inline void changeOrModify(); void deref(); struct Data; Data* data; class Private; Private* priv; }; /** * AN Event can span through multiple days. We split up a multiday eve */ class OEffectiveEvent { public: typedef QValueList<OEffectiveEvent> ValueList; enum Position { MidWay, Start, End, StartEnd }; // If we calculate the effective event of a multi-day event diff --git a/libopie2/opiepim/core/opimrecord.cpp b/libopie2/opiepim/core/opimrecord.cpp index 67eed41..c783092 100644 --- a/libopie2/opiepim/core/opimrecord.cpp +++ b/libopie2/opiepim/core/opimrecord.cpp @@ -118,65 +118,65 @@ bool OPimRecord::isEmpty() const 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 ); return str; }*/ /* if uid = 1 assign a new one */ void OPimRecord::setUid( int uid ) { if ( uid == 1 ) uid = uidGen().generate(); Qtopia::Record::setUid( uid ); }; Qtopia::UidGen &OPimRecord::uidGen() { return m_uidGen; } OPimXRefManager &OPimRecord::xrefmanager() { return m_xrefman; } -int OPimRecord::rtti() +int OPimRecord::rtti() const { return 0; } /** * now let's put our data into the stream */ /* * First read UID * Categories * XRef */ bool OPimRecord::loadFromStream( QDataStream& stream ) { int Int; uint UInt; stream >> Int; setUid( Int ); /** Categories */ stream >> UInt; QArray<int> array( UInt ); for ( uint i = 0; i < UInt; i++ ) { stream >> array[ i ]; } setCategories( array ); /* * now we do the X-Ref stuff */ OPimXRef xref; diff --git a/libopie2/opiepim/core/opimrecord.h b/libopie2/opiepim/core/opimrecord.h index 4981a41..127439a 100644 --- a/libopie2/opiepim/core/opimrecord.h +++ b/libopie2/opiepim/core/opimrecord.h @@ -131,63 +131,63 @@ class OPimRecord : public Qtopia::Record */ virtual QMap<int, QString> toMap() const = 0; // virtual fromMap( const <int, QString>& map ) = 0; // Should be added in the future (eilers) /** * key value representation of extra items */ QMap<QString, QString> toExtraMap() const; void setExtraMap( const QMap<QString, QString>& ); /** * the name for a recordField */ virtual QString recordField( int ) const = 0; /** * returns a reference of the * Cross Reference Manager * Partner 'One' is THIS PIM RECORD! * 'Two' is the Partner where we link to */ OPimXRefManager& xrefmanager(); /** * set the uid */ virtual void setUid( int uid ); /* * used inside the Templates for casting * REIMPLEMENT in your .... */ - static int rtti(); + virtual int rtti() const; /** * some marshalling and de marshalling code * saves the OPimRecord * to and from a DataStream */ virtual bool loadFromStream( QDataStream& ); virtual bool saveToStream( QDataStream& stream ) const; protected: // need to be const cause it is called from const methods mutable int m_lastHit; void setLastHitField( int lastHit ) const; Qtopia::UidGen &uidGen(); // QString crossToString()const; private: class OPimRecordPrivate; OPimRecordPrivate *d; OPimXRefManager m_xrefman; static Qtopia::UidGen m_uidGen; private: void flush( const OPimXRefPartner&, QDataStream& stream ) const; OPimXRefPartner partner( QDataStream& ); }; } #endif diff --git a/libopie2/opiepim/core/opimtodo.cpp b/libopie2/opiepim/core/opimtodo.cpp index f246bfd..47433e0 100644 --- a/libopie2/opiepim/core/opimtodo.cpp +++ b/libopie2/opiepim/core/opimtodo.cpp @@ -674,38 +674,38 @@ void OPimTodo::copy( OPimTodoData* src, OPimTodoData* dest ) dest->extra = src->extra; dest->prog = src->prog; if ( src->state ) dest->state = new OPimState( *src->state ); if ( src->recur ) dest->recur = new OPimRecurrence( *src->recur ); if ( src->maintainer ) dest->maintainer = new OPimMaintainer( *src->maintainer ) ; dest->start = src->start; dest->completed = src->completed; if ( src->notifiers ) dest->notifiers = new OPimNotifyManager( *src->notifiers ); } QString OPimTodo::type() const { return QString::fromLatin1( "OPimTodo" ); } QString OPimTodo::recordField( int /*id*/ ) const { return QString::null; } -int OPimTodo::rtti() +int OPimTodo::rtti() const { return OPimResolver::TodoList; } } diff --git a/libopie2/opiepim/core/opimtodo.h b/libopie2/opiepim/core/opimtodo.h index 5304180..e17fe6a 100644 --- a/libopie2/opiepim/core/opimtodo.h +++ b/libopie2/opiepim/core/opimtodo.h @@ -266,55 +266,55 @@ class OPimTodo : public OPimRecord */ void setCompletedDate( const QDate& date ); void setRecurrence( const OPimRecurrence& ); void setDescription( const QString& ); void setSummary( const QString& ); /** * set the state of a Todo * @param state State what the todo should take */ void setState( const OPimState& state ); /** * set the Maintainer Mode */ void setMaintainer( const OPimMaintainer& ); bool isOverdue(); virtual bool match( const QRegExp &r ) const; bool operator<( const OPimTodo &toDoEvent ) const; bool operator<=( const OPimTodo &toDoEvent ) const; bool operator!=( const OPimTodo &toDoEvent ) const; bool operator>( const OPimTodo &toDoEvent ) const; bool operator>=( const OPimTodo &toDoEvent ) const; bool operator==( const OPimTodo &toDoEvent ) const; OPimTodo &operator=( const OPimTodo &toDoEvent ); - static int rtti(); + int rtti() const; private: class OPimTodoPrivate; struct OPimTodoData; void deref(); inline void changeOrModify(); void copy( OPimTodoData* src, OPimTodoData* dest ); OPimTodoPrivate *d; OPimTodoData *data; }; inline bool OPimTodo::operator!=( const OPimTodo &toDoEvent ) const { return !( *this == toDoEvent ); } } #endif |