[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