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