[kmobiletools] KDE/kdepim/kmobiletools

Marco Gulino marco at kmobiletools.org
Sun Jun 17 16:31:31 CEST 2007


SVN commit 676712 by gulino:

Preparing for Akonadi usage, by making SMS a subclass of Akonadi::Item.


 M  +2 -1      CMakeLists.txt  
 M  +1 -1      kmobiletools/libkmobiletools/CMakeLists.txt  
 M  +3 -3      kmobiletools/libkmobiletools/enginedata.cpp  
 M  +3 -3      kmobiletools/libkmobiletools/enginedata.h  
 M  +22 -14    kmobiletools/libkmobiletools/sms.cpp  
 M  +3 -2      kmobiletools/libkmobiletools/sms.h  
 M  +1 -1      kmobiletools/libkmobiletools/smslist.cpp  
 M  +4 -4      kmobiletools/libkmobiletools/smslist.h  
 M  +9 -9      kmobiletools/mainpart/devicehome.cpp  
 M  +3 -3      kmobiletools/mainpart/devicehome.h  


--- trunk/KDE/kdepim/kmobiletools/CMakeLists.txt #676711:676712
@@ -1,7 +1,8 @@
 project(kmobiletools)
 
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/akonadi )
 
+
 add_definitions(-DQT3_SUPPORT)
 add_definitions(-DQT3_SUPPORT_WARNINGS)
 OPTION(USE_CRASHHANDLER "Use internal CrashHandler Manager" OFF)
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/CMakeLists.txt #676711:676712
@@ -47,7 +47,7 @@
 
 kde4_add_library(kmobiletools SHARED ${kmobiletools_LIB_SRCS})
 
-target_link_libraries(kmobiletools  ${KDE4_KDECORE_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_THREADWEAVER_LIBRARY} ${KDE4_KABC_LIBS} ${KDE4_KCAL_LIBS})
+target_link_libraries(kmobiletools akonadi ${KDE4_KDECORE_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_THREADWEAVER_LIBRARY} ${KDE4_KABC_LIBS} ${KDE4_KCAL_LIBS})
 
 set_target_properties(kmobiletools PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
 install(TARGETS kmobiletools DESTINATION ${LIB_INSTALL_DIR} )
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/enginedata.cpp #676711:676712
@@ -59,9 +59,9 @@
     d->p_addresseeList = new ContactsList();
     d->p_calendar=new KCal::Event::List();
 
-    connect( d->p_smsList, SIGNAL( added( const QByteArray& ) ), SIGNAL( smsAdded( const QByteArray& ) ) );
-    connect( d->p_smsList, SIGNAL( removed( const QByteArray& ) ), SIGNAL( smsDeleted( const QByteArray& ) ) ); 
-    connect( d->p_smsList, SIGNAL( modified( const QByteArray& ) ), SIGNAL( smsModified( const QByteArray& ) ) );
+    connect( d->p_smsList, SIGNAL( added( const QString & ) ), SIGNAL( smsAdded( const QString & ) ) );
+    connect( d->p_smsList, SIGNAL( removed( const QString & ) ), SIGNAL( smsDeleted( const QString & ) ) ); 
+    connect( d->p_smsList, SIGNAL( modified( const QString & ) ), SIGNAL( smsModified( const QString & ) ) );
 
 }
 
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/enginedata.h #676711:676712
@@ -319,21 +319,21 @@
             *
             * @param sms the sms that is added
             */
-            void smsAdded( const QByteArray& sms );
+            void smsAdded( const QString & sms );
 
             /**
             * This signal is emitted when a SMS is deleted.
             *
             * @param sms the sms that is deleted
             */
-            void smsDeleted( const QByteArray& sms );
+            void smsDeleted( const QString & sms );
 
             /**
             * This signal is emitted when a SMS is modified.
             *
             * @param sms the sms that is modified
             */
-            void smsModified( const QByteArray& sms );
+            void smsModified( const QString & sms );
 
             /**
             * This signal is emitted when the mobile's phone book has been changed.
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.cpp #676711:676712
@@ -31,9 +31,9 @@
 
 class SMSPrivate {
     public:
-        SMSPrivate()
+        SMSPrivate(SMS* p_parent)
     : i_folder(0), i_slot(0), i_type(SMS::All), b_unread(false)
-        {};
+        { parent=p_parent; }
     QStringList sl_numbers;
     QString s_text;
     QDateTime dt_datetime;
@@ -43,15 +43,27 @@
     QList<int> v_id;
     QString s_rawSlot;
     bool b_unread;
+    SMS *parent;
+    void refreshUid() const
+    {
+        KMD5 context;
+        QByteArray ba;
+        if ( sl_numbers.isEmpty()) ba = s_text.toUtf8();
+        else ba = ( s_text + sl_numbers.join(",")).toUtf8();
+        context.update(ba);
+        parent->reference().setRemoteId( context.hexDigest() );
+    }
 };
 
 SMS::SMS(QObject *parent)
- : QObject(parent), d(new SMSPrivate)
+ : QObject(parent), 
+  Akonadi::Item("text/sms"), /// @TODO could this a proper mimetype? eventually add it in kde global mimetypes.
+  d(new SMSPrivate(this) )
 {
 }
 
 SMS::SMS(const QStringList & numbers, const QString & text, const QDateTime & datetime, QObject *parent)
- : QObject(parent), d(new SMSPrivate)
+ : QObject(parent), d(new SMSPrivate(this) )
 {
     setNumbers(numbers);
     setText(text);
@@ -59,8 +71,12 @@
     setFolder(d->i_folder);
 }
 
+QString SMS::uid() const {
+    return reference().remoteId();
+}
+
 SMS::SMS(const QStringList & numbers, const QString & text, QObject *parent)
- : QObject(parent), d(new SMSPrivate)
+ : QObject(parent), d(new SMSPrivate(this) )
 {
     setNumbers(numbers);
     setText(text);
@@ -95,15 +111,6 @@
     }
 }
 
-QByteArray SMS::uid() const
-{
-    KMD5 context;
-    QByteArray ba;
-    if (d->sl_numbers.isEmpty()) ba = d->s_text.toUtf8();
-    else ba = (d->s_text + d->sl_numbers.join(",")).toUtf8();
-    context.update(ba);
-    return context.hexDigest();
-}
 
 bool SMS::operator ==( SMS* compSMS)
 {
@@ -170,6 +177,7 @@
 // Convenience non-static method for the above one
 QStringList SMS::getMultiText() const
 {
+    d->refreshUid(); /// @TODO move this to the single setters?
     return getMultiText(d->s_text);
 }
 
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.h #676711:676712
@@ -21,6 +21,7 @@
 #define SMS_H
 
 #include <libkmobiletools/kmobiletools_export.h>
+#include <libakonadi/item.h>
 
 #include <QtCore/QObject>
 #include <QtCore/QStringList>
@@ -31,7 +32,7 @@
 */
 
 class SMSPrivate;
-class KMOBILETOOLS_EXPORT SMS : public QObject
+class KMOBILETOOLS_EXPORT SMS : public QObject, public Akonadi::Item
 {
 Q_OBJECT
 public:
@@ -74,7 +75,7 @@
     SMSType type() const;
     void setType( SMSType newType );
     int slot() const;
-    QByteArray uid() const;
+    QString uid() const;
     bool operator ==(SMS* compSMS);
     bool unread() const;
     void setUnread(bool unread);
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/smslist.cpp #676711:676712
@@ -68,7 +68,7 @@
 /*!
     \fn SMSList::find(int uid)
  */
-int SMSList::find(const QByteArray &uid) const
+int SMSList::find(const QString &uid) const
 {
     int found = 0;
 
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/smslist.h #676711:676712
@@ -41,7 +41,7 @@
     ~SMSList();
     void append(SMSList *sublist, bool sync=false);
     void append(SMS *sms);
-    int find(const QByteArray &uid) const;
+    int find(const QString &uid) const;
     void sync (SMSList *compList);
     void dump() const;
     void calcSMSNumber() const;
@@ -55,9 +55,9 @@
     SMSListPrivate *const d;
 
 Q_SIGNALS:
-    void removed(const QByteArray&);
-    void added(const QByteArray&);
-    void modified(const QByteArray&);
+    void removed(const QString&);
+    void added(const QString&);
+    void modified(const QString&);
     void updated();
 
 public Q_SLOTS:
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/devicehome.cpp #676711:676712
@@ -323,9 +323,9 @@
     connect(engine, SIGNAL(phoneBookChanged() ), SLOT(updatePB()) );
     //connect(engine, SIGNAL(phoneBookChanged(int, const ContactsList& ) ), SLOT(updatePB(int, const ContactsList& ) ) );
     connect(engine, SIGNAL(smsFoldersAdded() ), SLOT(addSMSFolders()) );
-    connect(engine->constEngineData(), SIGNAL(smsAdded( const QByteArray& )), SLOT(smsAdded( const QByteArray&) ) );
-    connect(engine->constEngineData(), SIGNAL(smsDeleted( const QByteArray& )), SLOT(smsRemoved(const QByteArray&) ) );
-    connect(engine->constEngineData(), SIGNAL(smsModified( const QByteArray& )), SLOT(smsModified( const QByteArray& )) );
+    connect(engine->constEngineData(), SIGNAL(smsAdded( const QString & )), SLOT(smsAdded( const QString &) ) );
+    connect(engine->constEngineData(), SIGNAL(smsDeleted( const QString & )), SLOT(smsRemoved(const QString &) ) );
+    connect(engine->constEngineData(), SIGNAL(smsModified( const QString & )), SLOT(smsModified( const QString & )) );
     connect(engine->constEngineData(), SIGNAL(ringing( bool )), this, SLOT(slotRing( bool ) ) );
     connect(engine, SIGNAL(fullPhonebook()), this, SLOT(fullPhonebook()) );
     connect(p_smsPart, SIGNAL(getSMSList() ), engine, SLOT( slotFetchSMS() ) );
@@ -766,18 +766,18 @@
 
 
 /*!
-    \fn DeviceHome::smsModified(const QByteArray& smsUID)
+    \fn DeviceHome::smsModified(const QString & smsUID)
  */
-void DeviceHome::smsModified(const QByteArray& smsUID)
+void DeviceHome::smsModified(const QString & smsUID)
 {
     kDebug( ) << "DeviceHome::smsModified(" << smsUID << ")\n";
 }
 
 
 /*!
-    \fn DeviceHome::smsAdded(const QByteArray& smsUID)
+    \fn DeviceHome::smsAdded(const QString & smsUID)
  */
-void DeviceHome::smsAdded(const QByteArray& smsUID)
+void DeviceHome::smsAdded(const QString & smsUID)
 {
     updateSMSCount();
     home->printInfoPage( home->currentInfoPage(), engine );
@@ -802,9 +802,9 @@
 }
 
 /*!
-    \fn DeviceHome::smsRemoved(const QByteArray& smsUID)
+    \fn DeviceHome::smsRemoved(const QString & smsUID)
  */
-void DeviceHome::smsRemoved(const QByteArray& smsUID)
+void DeviceHome::smsRemoved(const QString & smsUID)
 {
 //     kDebug( ) << "DeviceHome::smsRemoved(" << smsUID << ")\n";
 //     updateSMSList();
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/devicehome.h #676711:676712
@@ -210,9 +210,9 @@
     void slotUploadAddressBook();
     void addresseeListRightClick(Q3ListViewItem *item, const QPoint &point, int column);
     void smsListRightClick(Q3ListViewItem *item, const QPoint &point, int column);
-    void smsModified(const QByteArray& smsUID);
-    void smsAdded(const QByteArray& smsUID);
-    void smsRemoved(const QByteArray& smsUID);
+    void smsModified(const QString & smsUID);
+    void smsAdded(const QString & smsUID);
+    void smsRemoved(const QString & smsUID);
     void smsFolderClicked( Q3ListViewItem * item );
     void slotNewSMS() { slotNewSMS(QString() ); }
     void slotNewSMS(const QString &);


More information about the kmobiletools mailing list