[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