summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/mailstatics.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/mailstatics.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/mailstatics.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/mailstatics.cpp b/noncore/net/mail/libmailwrapper/mailstatics.cpp
new file mode 100644
index 0000000..4878dc9
--- a/dev/null
+++ b/noncore/net/mail/libmailwrapper/mailstatics.cpp
@@ -0,0 +1,29 @@
+#include "mailstatics.h"
+#include <libetpan/libetpan.h>
+#include <qpe/timestring.h>
+
+QString MailStatics::parseDateTime(const mailimf_date_time *date )
+{
+ if (!date) return "";
+ QDateTime da(QDate(date->dt_year,date->dt_month,date->dt_day),QTime(date->dt_hour,date->dt_min,date->dt_sec));
+ QString timestring = TimeString::numberDateString(QDate(date->dt_year,date->dt_month,date->dt_day))+" ";
+ timestring+=TimeString::timeString(QTime(date->dt_hour,date->dt_min,date->dt_sec))+" ";
+ timestring.sprintf(timestring+" %+05i",date->dt_zone);
+ return timestring;
+}
+
+QString MailStatics::parseDateTime(const char*date)
+{
+ mailimf_date_time * date_time;
+ QString d = "";
+ size_t cur_tok = 0;
+ if (!date) return d;
+ int r = mailimf_date_time_parse(date,strlen(date),&cur_tok,&date_time);
+ if (r==MAILIMF_NO_ERROR) {
+ d = parseDateTime(date_time);
+ }
+ if (date_time) {
+ mailimf_date_time_free(date_time);
+ }
+ return d;
+} \ No newline at end of file