[kmobiletools] KDE/kdepim/kmobiletools
Marco Gulino
marco at kmobiletools.org
Thu Jun 21 14:15:50 CEST 2007
SVN commit 678440 by gulino:
Adding a very_basic (and probably not working) akonadi serializer plugin, derived from Mail's one.
Fixing testlibkmobiletools compilation.
date() as KMime::Header in SMS class.
M +1 -1 kmobiletools/libkmobiletools/CMakeLists.txt
A kmobiletools/libkmobiletools/akonadi (directory)
A kmobiletools/libkmobiletools/akonadi/CMakeLists.txt
A kmobiletools/libkmobiletools/akonadi/akonadi_serializer_sms.cpp [License: LGPL (v2+)]
A kmobiletools/libkmobiletools/akonadi/akonadi_serializer_sms.desktop
A kmobiletools/libkmobiletools/akonadi/akonadi_serializer_sms.h [License: LGPL (v2+)]
M +8 -5 kmobiletools/libkmobiletools/sms.cpp
M +4 -0 kmobiletools/libkmobiletools/sms.h
M +1 -1 kmobiletools/libkmobiletools/smslist.cpp
M +4 -2 tests/testlibkmobiletools/CMakeLists.txt
M +19 -6 tests/testlibkmobiletools/testlibkmobiletools.cpp
M +3 -1 tests/testlibkmobiletools/testlibkmobiletools.h
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/CMakeLists.txt #678439:678440
@@ -1,5 +1,5 @@
-add_subdirectory( icons )
+add_subdirectory( akonadi icons )
IF (USE_CRASHHANDLER)
SET(crashhandler_SRCS crashhandler.cpp )
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.cpp #678439:678440
@@ -28,9 +28,9 @@
#include <kcodecs.h>
#include <QTextStream>
#include <QSharedData>
+#define SMS_MIMETYPE "application/x-kmobiletools-sms"
#include "kmobiletoolshelper.h"
-#define MIMETYPE "application/x-kmobiletools-sms"
class SMSPrivate : public QSharedData {
public:
@@ -296,9 +296,7 @@
KDateTime SMS::getDateTime() const {
if(! const_cast<SMS*>(this)->hasHeader("Date") ) return KDateTime();
- return (dynamic_cast<KMime::Headers::Date*>(
- const_cast<SMS*>(this)->getHeaderByType("Date"))
- )->dateTime();
+ return (const_cast<SMS*>(this)->date() )->dateTime();
}
void SMS::setDateTime(const KDateTime & datetime) {
KMime::Headers::Date *h=new KMime::Headers::Date();
@@ -348,8 +346,13 @@
{
KMime::Headers::Base *h;
QByteArray ret;
- h=getHeaderByType("Date");
+ h=date();
if(h) ret+= h->as7BitString()+'\n';
return ret + Content::assembleHeaders();
}
+// Headers implementation
+KMime::Headers::Date *SMS::date() {
+ return dynamic_cast<KMime::Headers::Date*>(getHeaderByType("Date") );
+}
+
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.h #678439:678440
@@ -32,6 +32,7 @@
*/
class SMSPrivate;
+class KMime::Headers::Date;
class KMOBILETOOLS_EXPORT SMS : public KMime::Content
{
public:
@@ -82,6 +83,9 @@
bool exportMD(const QString &dir);
bool exportCSV(const QString &filename);
bool writeToSlotCSV( const QString &filename);
+
+ // Headers
+ KMime::Headers::Date *date();
protected:
QByteArray assembleHeaders();
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/smslist.cpp #678439:678440
@@ -231,7 +231,7 @@
{
kDebug() << k_funcinfo << endl;
SMS *sms;
- kdDebug() << "SMSList::saveToCSV(): saving CSV file to: " << filename << endl;
+ kDebug() << "SMSList::saveToCSV(): saving CSV file to: " << filename << endl;
bool ok=true;
/* QListIterator<SMS*> it(*this);
while( (it.hasNext()) )
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/CMakeLists.txt #678439:678440
@@ -1,8 +1,10 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/libkmobiletools
+ ${CMAKE_SOURCE_DIR}/kmobiletools/kmobiletools/libkmobiletools
)
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" )
+
set(testlibkmobiletools_SRCS testlibkmobiletools.cpp )
kde4_automoc(${testlibkmobiletools_SRCS})
@@ -10,4 +12,4 @@
kde4_add_executable(testlibkmobiletools ${testlibkmobiletools_SRCS})
set_target_properties(testlibkmobiletools PROPERTIES OUTPUT_NAME testlibkmobiletools)
-target_link_libraries(testlibkmobiletools kmobiletools )
+target_link_libraries(testlibkmobiletools kmobiletools ${KDE4_KMIME_LIBS} )
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/testlibkmobiletools.cpp #678439:678440
@@ -25,7 +25,10 @@
#include <QTextStream>
#include <kcmdlineargs.h>
#include <QTimer>
+#include <libakonadi/collection.h>
+#include "akonadi/akonadi_serializer_sms.cpp"
#include <KDateTime>
+
// using namespace KMobileTools;
TestLibKMobileToolsApp::TestLibKMobileToolsApp()
@@ -42,23 +45,24 @@
out << "Available commands:\n"
<< "help\t\tThis help screen\n"
<< "sms\t\tTest sms object\n"
- << "quit\t\tClose this application\n"
+ << "akonadi\t\tTest Akonadi resources object\n"
+ << "quit\t\tClose this application\n\n"
;
}
void TestLibKMobileToolsApp::mainloop() {
- bool ok=false;
out << "Enter a command to test libkmobiletools. \"help\" to see available commands\n> ";
out.flush();
QString cmd;
in >> cmd;
if(cmd=="help" || cmd=="?") help();
if(cmd=="sms") checkSMS();
+ if(cmd=="akonadi") testAkonadi();
if(cmd=="quit" || cmd=="q") { QTimer::singleShot(200, this, SLOT(quit()) ) ; return; }
mainloop();
}
-void TestLibKMobileToolsApp::checkSMS() {
+SMS *TestLibKMobileToolsApp::checkSMS(bool deleteOnReturn) {
out << "LibKMobileTools tester application\n";
SMS *sms=new SMS();
out << "sms created\n";
@@ -71,11 +75,20 @@
out << "****************** SMS Serialization ******************\n"
<< sms->encodedContent()
<< "\n**************** SMS Serialization End ****************\n\n";
- out << "Deleting SMS...";
- delete sms;
- out << " Done" << endl;
+ if(deleteOnReturn) { out << "Deleting SMS..."; delete sms; sms=NULL; out << " Done" << endl; }
+ return sms;
}
+void TestLibKMobileToolsApp::testAkonadi() {
+ Akonadi::Item i;
+ i.setMimeType(SMS_MIMETYPE);
+ SMS *sms=checkSMS(false);
+ Akonadi::SerializerPluginSMS *serializer=new Akonadi::SerializerPluginSMS();
+ MessagePtr msg=MessagePtr(sms);
+ i.setPayload<MessagePtr>(msg);
+ delete serializer;
+}
+
#include "testlibkmobiletools.moc"
int main(int argc, char** argv)
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/testlibkmobiletools.h #678439:678440
@@ -24,6 +24,7 @@
#define TESTLIBKMOBILETOOLS_H
#include <kapplication.h>
+class SMS;
class TestLibKMobileToolsApp : public KApplication
{
Q_OBJECT
@@ -31,7 +32,8 @@
TestLibKMobileToolsApp ();
~TestLibKMobileToolsApp ();
void mainloop();
- void checkSMS();
+ SMS *checkSMS(bool deleteOnReturn=true);
+ void testAkonadi();
void help();
private:
QTextStream in, out, err;
More information about the kmobiletools
mailing list