00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "accountviewitem.h"
00022
00023 AccountViewItem::AccountViewItem( bool active, const QString& name, const QString& server, const QString& user, int numberMails, long totalSize, QPointer<Account> account )
00024 : active( active ), name( name ), server( server ), user( user ), numberMails( numberMails ), totalSize( totalSize ), account( account )
00025 {
00026 }
00027
00028 bool AccountViewItem::isActive() const
00029 {
00030 return active;
00031 }
00032
00033 QString AccountViewItem::getName() const
00034 {
00035 return name;
00036 }
00037
00038 QString AccountViewItem::getServer() const
00039 {
00040 return server;
00041 }
00042
00043 QPointer< Account > AccountViewItem::getAccount() const
00044 {
00045 return account;
00046 }
00047
00048 int AccountViewItem::getNumberMails() const
00049 {
00050 return numberMails;
00051 }
00052
00053 QString AccountViewItem::getTotalSizeUnit() const
00054 {
00055 QString strSize;
00056
00057 if( totalSize >= 1024 * 1024 )
00058 {
00059
00060 strSize = QString( "%L1M" ).arg( ( (double)totalSize / ( 1024 * 1024 ) ), 0, 'f', 1 );
00061 }
00062 else if( totalSize >= 1024 )
00063 {
00064
00065 strSize = QString( "%L1K" ).arg( ( (double)totalSize / 1024 ), 0, 'f', 1 );
00066 }
00067 else
00068
00069 strSize = QString( "%L1" ).arg( totalSize );
00070
00071 return strSize;
00072
00073 }
00074
00075 QString AccountViewItem::getUser() const
00076 {
00077 return user;
00078 }
00079
00080 int AccountViewItem::compare(const AccountViewItem& other, AccountSort_Type property)
00081 {
00082 switch( property ) {
00083
00084
00085 case AccSortActive : {
00086
00087 if( other.isActive() == isActive() ) return 0;
00088 else if( isActive() == false ) return -1;
00089 else return 1;
00090 break;
00091
00092 }
00093
00094
00095 case AccSortName : {
00096
00097 return QString::localeAwareCompare( getName(), other.getName() );
00098 }
00099
00100
00101 case AccSortServer : {
00102
00103 return QString::localeAwareCompare( getServer(), other.getServer() );
00104 }
00105
00106
00107 case AccSortUser : {
00108
00109 return QString::localeAwareCompare( getUser(), other.getUser() );
00110 }
00111
00112
00113 case AccSortNrMess : {
00114
00115 if( getNumberMails() == other.getNumberMails() ) return 0;
00116 else if( getNumberMails() < other.getNumberMails() ) return -1;
00117 else return 1;
00118 }
00119
00120
00121 case AccSortSize : {
00122
00123 if( getTotalSize() == other.getTotalSize() ) return 0;
00124 else if( getTotalSize() < other.getTotalSize() ) return -1;
00125 else return 1;
00126 }
00127
00128 default: {
00129 return QString::localeAwareCompare( getName(), other.getName() );
00130 }
00131 }
00132
00133 }
00134
00135 long int AccountViewItem::getTotalSize() const
00136 {
00137 return totalSize;
00138 }