author | zautrix <zautrix> | 2004-07-04 12:40:46 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-07-04 12:40:46 (UTC) |
commit | deb87bff56cd9cbb41e352c2ccfa97be142d6e48 (patch) (unidiff) | |
tree | d711d6085e4143e1731da440732e823e69c092a3 /kmicromail/mailistviewitem.cpp | |
parent | 4a947dbc08cc7640dda4f8a89ddb3c80ecc5f9ea (diff) | |
download | kdepimpi-deb87bff56cd9cbb41e352c2ccfa97be142d6e48.zip kdepimpi-deb87bff56cd9cbb41e352c2ccfa97be142d6e48.tar.gz kdepimpi-deb87bff56cd9cbb41e352c2ccfa97be142d6e48.tar.bz2 |
Make sorting in KM working
Diffstat (limited to 'kmicromail/mailistviewitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/mailistviewitem.cpp | 77 |
1 files changed, 52 insertions, 25 deletions
diff --git a/kmicromail/mailistviewitem.cpp b/kmicromail/mailistviewitem.cpp index b9b4cd9..1ca0ada 100644 --- a/kmicromail/mailistviewitem.cpp +++ b/kmicromail/mailistviewitem.cpp | |||
@@ -21,38 +21,42 @@ void MailListViewItem::showEntry() | |||
21 | setPixmap( 0,SmallIcon ( "kmmsgnew") ); | 21 | setPixmap( 0,SmallIcon ( "kmmsgnew") ); |
22 | } | 22 | } |
23 | double s = mail_data->Msgsize(); | 23 | double s = mail_data->Msgsize(); |
24 | int w; | 24 | int w = 0; |
25 | w=0; | 25 | s/=1024; |
26 | 26 | if (s>999.0) { | |
27 | while (s>1024) { | 27 | s/=1024.0; |
28 | s/=1024; | ||
29 | ++w; | 28 | ++w; |
30 | if (w>=2) break; | ||
31 | } | 29 | } |
32 | 30 | QString fsort; | |
33 | QString q=""; | 31 | fsort.sprintf( "%.2f", s ); |
34 | QString fsize=""; | 32 | QString fsize = QString::number( s, 'f', 2 ); |
35 | switch(w) { | 33 | // 1.23 |
36 | case 1: | 34 | // 11.23 |
37 | q="k"; | 35 | // 111.23 |
36 | // 999.23 maxlen | ||
37 | switch(fsize.length() ) { | ||
38 | case 4: | ||
39 | fsort = "00" + fsize ; | ||
38 | break; | 40 | break; |
39 | case 2: | 41 | case 5: |
40 | q="M"; | 42 | fsort = "0" + fsize ; |
41 | break; | 43 | break; |
42 | default: | 44 | default: |
43 | break; | 45 | fsort = fsize ; |
46 | break; | ||
47 | |||
44 | } | 48 | } |
45 | 49 | if ( w == 0 ) { | |
46 | { | 50 | setText(3, fsize + "kB" ); |
47 | QTextOStream o(&fsize); | 51 | mKeyMap.insert(3, "k" + fsort); |
48 | if (w>0) o.precision(2); else o.precision(0); | 52 | //setText(3, "kB" + fsort ); // test only |
49 | o.setf(QTextStream::fixed); | 53 | } else { |
50 | o << s << " " << q << "Byte"; | 54 | //setText(3, fsize + "MB"); |
55 | mKeyMap.insert(4, "M" +fsort ); | ||
51 | } | 56 | } |
52 | |||
53 | setText(1,mail_data->getSubject()); | 57 | setText(1,mail_data->getSubject()); |
54 | setText(2,mail_data->getFrom()); | 58 | setText(2,mail_data->getFrom()); |
55 | setText(3,fsize); | 59 | |
56 | QString date = mail_data->getDate(); | 60 | QString date = mail_data->getDate(); |
57 | 61 | ||
58 | int kom = date.find( ",")+2; | 62 | int kom = date.find( ",")+2; |
@@ -91,17 +95,40 @@ void MailListViewItem::showEntry() | |||
91 | so = "11"; | 95 | so = "11"; |
92 | else if ( mon == "Dec" ) | 96 | else if ( mon == "Dec" ) |
93 | so = "12"; | 97 | so = "12"; |
94 | date = date.mid(7,4)+"-"+so+"-"+date.left(2)+" "+date.mid(12,14); | 98 | date = date.mid(7,4)+so+date.left(2)+date.mid(12,14); |
95 | } | 99 | } |
96 | // if ( date.left(1) != "1" || date.left(1) != "2" ) | 100 | // if ( date.left(1) != "1" || date.left(1) != "2" ) |
97 | // date = date.mid(5); | 101 | // date = date.mid(5); |
98 | setText(4,date); | 102 | mKeyMap.insert(4,date); |
103 | setText(4,mail_data->getDate()); | ||
99 | } | 104 | } |
100 | 105 | ||
101 | void MailListViewItem::storeData(const RecMailP&data) | 106 | void MailListViewItem::storeData(const RecMailP&data) |
102 | { | 107 | { |
103 | mail_data = data; | 108 | mail_data = data; |
104 | } | 109 | } |
110 | void MailListViewItem::setSortKey(int column,const QString &key) | ||
111 | { | ||
112 | mKeyMap.insert(column,key); | ||
113 | } | ||
114 | QString MailListViewItem::key(int column, bool) const | ||
115 | { | ||
116 | // to make is fast, we use here special cases | ||
117 | if ( column == 3 || column == 4 ) { | ||
118 | return *mKeyMap.find(column); | ||
119 | } | ||
120 | if ( column == 1 ) { | ||
121 | if ( text(1).left(4).lower() == "re: " ) | ||
122 | return text(1).mid(4); | ||
123 | |||
124 | } | ||
125 | return text(column); | ||
126 | /* | ||
127 | QMap<int,QString>::ConstIterator it = mKeyMap.find(column); | ||
128 | if (it == mKeyMap.end()) return text(column); | ||
129 | else return *it; | ||
130 | */ | ||
131 | } | ||
105 | 132 | ||
106 | const RecMailP& MailListViewItem::data()const | 133 | const RecMailP& MailListViewItem::data()const |
107 | { | 134 | { |