[kmobiletools] KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools

Marco Gulino marco at kmobiletools.org
Fri Jun 22 00:06:55 CEST 2007


SVN commit 678654 by gulino:

More porting to KMime.


 M  +50 -26    sms.cpp  
 M  +9 -5      sms.h  


--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.cpp #678653:678654
@@ -34,7 +34,7 @@
 class SMSPrivate {
     public:
         SMSPrivate(SMS* p_parent) :
-        i_folder(0), i_slot(0), i_type(SMS::All), b_unread(false)
+        i_folder(0), i_slot(0), i_type(SMS::All)
         { parent=p_parent; }
     QStringList sl_numbers;
 //     QString s_text;
@@ -43,7 +43,6 @@
     SMS::SMSType i_type;
     QList<int> v_id;
     QString s_rawSlot;
-    bool b_unread;
     SMS *parent;
     QString s_uid;
     void refreshUid()
@@ -86,16 +85,6 @@
 {
 }
 
-QString SMS::getFrom() const
-{
-    if (d->i_type==Unsent || d->i_type==Sent)
-    {
-        return QString();
-    } else {
-        return QString( d->sl_numbers.first() );
-    }
-}
-
 QStringList SMS::getTo() const
 {
     if (d->i_type==Unsent || d->i_type==Sent)
@@ -303,19 +292,18 @@
     setHeader(h);
 }
 
-void SMS::setRawSlot(const QString &rawSlot){ d->s_rawSlot=rawSlot;}
-QString SMS::rawSlot() const { return d->s_rawSlot;}
-void SMS::setNumbers(const QStringList & numbers) { d->sl_numbers=numbers; }
-void SMS::setFolder( int newFolder ) { d->i_folder = newFolder; }
-int SMS::folder() const { return d->i_folder; }
-QList<int> *SMS::idList() { return &(d->v_id); }
-void SMS::setSlot( int newSlot ) { d->i_slot=newSlot; /*emit updated();*/ }
-SMS::SMSType SMS::type() const { return d->i_type; }
-void SMS::setType( SMSType newType ) { d->i_type = newType;/* emit updated();*/ }
-int SMS::slot() const { return d->i_slot; }
-bool SMS::unread() const { return d->b_unread; }
-void SMS::setUnread(bool unread) { d->b_unread=unread;}
+bool SMS::unread() const {
+    return const_cast<SMS*>(this)->hasHeader("Read");
+}
 
+void SMS::setUnread(bool unread) {
+    if(unread && ! this->unread() ) {
+        removeHeader("Read");
+        return;
+    }
+    setHeader( new KMime::Headers::Generic("Read", 0, QString("read").toUtf8() ) );
+}
+
 QString SMS::SMSTypeString(SMSType smstype) {
     switch (smstype) {
         case SMS::Unread:
@@ -351,7 +339,43 @@
 }
 
 // Headers implementation
-KMime::Headers::Date *SMS::date() {
-    return dynamic_cast<KMime::Headers::Date*>(getHeaderByType("Date") );
+KMime::Headers::Date *SMS::date() const{
+    return dynamic_cast<KMime::Headers::Date*>(const_cast<SMS*>(this)->getHeaderByType("Date") );
 }
 
+void SMS::setFrom(const QString& number, const QString &displayname) {
+    KMime::Headers::From *fromh=new KMime::Headers::From();
+    fromh->addAddress(number.toUtf8(), displayname);
+    setHeader(fromh);
+}
+
+KMime::Headers::From *SMS::from() const
+{
+
+    return dynamic_cast<KMime::Headers::From*>(const_cast<SMS*>(this)->getHeaderByType("From") );
+}
+
+QString SMS::getFrom() const
+{
+    if (d->i_type==Unsent || d->i_type==Sent)
+    {
+        return QString();
+    } else {
+        return QString( d->sl_numbers.first() );
+    }
+}
+
+
+/// @TODO port-or-delete the following ones
+void SMS::setRawSlot(const QString &rawSlot){ d->s_rawSlot=rawSlot;}
+QString SMS::rawSlot() const { return d->s_rawSlot;}
+void SMS::setNumbers(const QStringList & numbers) { d->sl_numbers=numbers; }
+void SMS::setFolder( int newFolder ) { d->i_folder = newFolder; }
+int SMS::folder() const { return d->i_folder; }
+QList<int> *SMS::idList() { return &(d->v_id); }
+void SMS::setSlot( int newSlot ) { d->i_slot=newSlot; /*emit updated();*/ }
+SMS::SMSType SMS::type() const { return d->i_type; }
+void SMS::setType( SMSType newType ) { d->i_type = newType;/* emit updated();*/ }
+int SMS::slot() const { return d->i_slot; }
+
+
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.h #678653:678654
@@ -32,12 +32,13 @@
 
 class SMSPrivate;
 class KMime::Headers::Date;
+class KMime::Headers::From;
 class KMOBILETOOLS_EXPORT SMS : public KMime::Content
 {
 public:
     SMS();
-    SMS(const QStringList & numbers, const QString & text);
-    SMS(const QStringList & numbers, const QString & text, const KDateTime & datetime);
+    KDE_DEPRECATED SMS(const QStringList & numbers, const QString & text);
+    KDE_DEPRECATED SMS(const QStringList & numbers, const QString & text, const KDateTime & datetime);
 
     virtual ~SMS();
 
@@ -56,13 +57,16 @@
     static QStringList getMultiText(const QString&);
     static int getMultiTextCount(const QString&);
     static int getMultiTextCount(int);
-    virtual QString getFrom() const;
+    void setFrom(const QString& number, const QString &displayname=QString() );
+    KMime::Headers::From *from() const;
+
+    virtual KDE_DEPRECATED QString getFrom() const;
     virtual QStringList getTo() const;
+    void KDE_DEPRECATED setNumbers(const QStringList & numbers);
     virtual QString getDate() const;
     virtual KDateTime getDateTime() const;
     virtual void setRawSlot(const QString &rawSlot);
     virtual QString rawSlot() const;
-    void setNumbers(const QStringList & numbers);
     void setDateTime(const KDateTime & datetime);
 
     void setFolder( int newFolder );
@@ -84,7 +88,7 @@
     bool writeToSlotCSV( const QString &filename);
 
     // Headers
-    KMime::Headers::Date *date();
+    KMime::Headers::Date *date() const;
 protected:
     virtual QByteArray assembleHeaders();
 


More information about the kmobiletools mailing list