Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

mailistviewitem.cpp

Go to the documentation of this file.
00001 #include "mailistviewitem.h"
00002 #include <libmailwrapper/abstractmail.h>
00003 
00004 /* OPIE */
00005 #include <opie2/oresource.h>
00006 #include <qpe/timestring.h>
00007 
00008 /* QT */
00009 #include <qtextstream.h>
00010 
00011 MailListViewItem::MailListViewItem(QListView * parent, MailListViewItem * item )
00012         :QListViewItem(parent,item),mail_data()
00013 {
00014 }
00015 
00016 void MailListViewItem::showEntry()
00017 {
00018     if ( mail_data->getFlags().testBit( FLAG_ANSWERED ) == true) {
00019         setPixmap( 0, Opie::Core::OResource::loadPixmap( "mail/kmmsgreplied", Opie::Core::OResource::SmallIcon ) );
00020     } else if ( mail_data->getFlags().testBit( FLAG_SEEN ) == true )  {
00021         /* I think it looks nicer if there are not such a lot of icons but only on mails
00022            replied or new - Alwin*/
00023         //setPixmap( 0, Opie::Core::OResource::loadPixmap( "mail/kmmsgunseen", Opie::Core::OResource::SmallIcon ) );
00024     } else  {
00025         setPixmap( 0, Opie::Core::OResource::loadPixmap( "mail/kmmsgnew", Opie::Core::OResource::SmallIcon ) );
00026     }
00027     double s = mail_data->Msgsize();
00028     int w;
00029     w=0;
00030 
00031     while (s>1024) {
00032         s/=1024;
00033         ++w;
00034         if (w>=2) break;
00035     }
00036 
00037     QString q="";
00038     QString fsize="";
00039     switch(w) {
00040     case 1:
00041         q="k";
00042         break;
00043     case 2:
00044         q="M";
00045         break;
00046     default:
00047         break;
00048     }
00049 
00050     {
00051         QTextOStream o(&fsize);
00052         if (w>0) o.precision(2); else o.precision(0);
00053         o.setf(QTextStream::fixed);
00054         o << s << " " << q << "Byte";
00055     }
00056     setText(1,mail_data->getSubject());
00057     setText(2,mail_data->getFrom());
00058     setText(3,fsize);
00059     setText(4,mail_data->getStringDate());
00060 }
00061 
00062 QString MailListViewItem::key(int col,bool) const
00063 {
00064     QString temp;
00065     if (col == 4) {
00066         temp.sprintf( "%08d",QDateTime().secsTo(mail_data->getDate()));
00067         return temp;
00068     }
00069     if (col == 3) {
00070         temp.sprintf( "%020d",mail_data->Msgsize());
00071         return temp;
00072     }
00073     return text(col);
00074 }
00075 
00076 void MailListViewItem::storeData(const RecMailP&data)
00077 {
00078     mail_data = data;
00079 }
00080 
00081 const RecMailP& MailListViewItem::data()const
00082 {
00083     return mail_data;
00084 }
00085 
00086 MAILLIB::ATYPE MailListViewItem::wrapperType()
00087 {
00088     if (!mail_data->Wrapper()) return MAILLIB::A_UNDEFINED;
00089     return mail_data->Wrapper()->getType();
00090 }

Generated on Sat Nov 5 16:17:39 2005 for OPIE by  doxygen 1.4.2