Diffstat (limited to 'noncore/net/mailit/popclient.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mailit/popclient.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/noncore/net/mailit/popclient.cpp b/noncore/net/mailit/popclient.cpp index fedc4e2..dc0116d 100644 --- a/noncore/net/mailit/popclient.cpp +++ b/noncore/net/mailit/popclient.cpp | |||
@@ -41,41 +41,41 @@ PopClient::PopClient() | |||
41 | synchronize = FALSE; | 41 | synchronize = FALSE; |
42 | lastSync = 0; | 42 | lastSync = 0; |
43 | headerLimit = 0; | 43 | headerLimit = 0; |
44 | preview = FALSE; | 44 | preview = FALSE; |
45 | } | 45 | } |
46 | 46 | ||
47 | PopClient::~PopClient() | 47 | PopClient::~PopClient() |
48 | { | 48 | { |
49 | delete socket; | 49 | delete socket; |
50 | delete stream; | 50 | delete stream; |
51 | } | 51 | } |
52 | 52 | ||
53 | void PopClient::newConnection(QString target, int port) | 53 | void PopClient::newConnection(const QString &target, int port) |
54 | { | 54 | { |
55 | if (receiving) { | 55 | if (receiving) { |
56 | qWarning("socket in use, connection refused"); | 56 | qWarning("socket in use, connection refused"); |
57 | return; | 57 | return; |
58 | } | 58 | } |
59 | 59 | ||
60 | status = Init; | 60 | status = Init; |
61 | 61 | ||
62 | socket->connectToHost(target, port); | 62 | socket->connectToHost(target, port); |
63 | receiving = TRUE; | 63 | receiving = TRUE; |
64 | //selected = FALSE; | 64 | //selected = FALSE; |
65 | 65 | ||
66 | emit updateStatus("DNS lookup"); | 66 | emit updateStatus("DNS lookup"); |
67 | } | 67 | } |
68 | 68 | ||
69 | void PopClient::setAccount(QString popUser, QString popPasswd) | 69 | void PopClient::setAccount(const QString &popUser, const QString &popPasswd) |
70 | { | 70 | { |
71 | popUserName = popUser; | 71 | popUserName = popUser; |
72 | popPassword = popPasswd; | 72 | popPassword = popPasswd; |
73 | } | 73 | } |
74 | 74 | ||
75 | void PopClient::setSynchronize(int lastCount) | 75 | void PopClient::setSynchronize(int lastCount) |
76 | { | 76 | { |
77 | synchronize = TRUE; | 77 | synchronize = TRUE; |
78 | lastSync = lastCount; | 78 | lastSync = lastCount; |
79 | } | 79 | } |
80 | 80 | ||
81 | void PopClient::removeSynchronize() | 81 | void PopClient::removeSynchronize() |
@@ -149,60 +149,60 @@ void PopClient::incomingData() | |||
149 | #endif | 149 | #endif |
150 | { | 150 | { |
151 | timeStamp = ""; | 151 | timeStamp = ""; |
152 | *stream << "USER " << popUserName << "\r\n"; | 152 | *stream << "USER " << popUserName << "\r\n"; |
153 | status = Pass; | 153 | status = Pass; |
154 | } | 154 | } |
155 | 155 | ||
156 | break; | 156 | break; |
157 | } | 157 | } |
158 | 158 | ||
159 | case Pass: { | 159 | case Pass: { |
160 | *stream << "PASS " << popPassword << "\r\n"; | 160 | *stream << "PASS " << popPassword << "\r\n"; |
161 | status = Stat; | 161 | status = Stat; |
162 | 162 | ||
163 | break; | 163 | break; |
164 | } | 164 | } |
165 | //ask for number of messages | 165 | //ask for number of messages |
166 | case Stat: { | 166 | case Stat: { |
167 | if (response[0] == '+') { | 167 | if (response[0] == '+') { |
168 | *stream << "STAT" << "\r\n"; | 168 | *stream << "STAT" << "\r\n"; |
169 | status = Mcnt; | 169 | status = Mcnt; |
170 | } else errorHandling(ErrLoginFailed); | 170 | } else errorHandling(ErrLoginFailed); |
171 | break; | 171 | break; |
172 | } | 172 | } |
173 | //get count of messages, eg "+OK 4 900.." -> int 4 | 173 | //get count of messages, eg "+OK 4 900.." -> int 4 |
174 | case Mcnt: { | 174 | case Mcnt: { |
175 | if (response[0] == '+') { | 175 | if (response[0] == '+') { |
176 | temp = response.replace(0, 4, ""); | 176 | temp = response.replace(0, 4, ""); |
177 | int x = temp.find(" ", 0); | 177 | int x = temp.find(" ", 0); |
178 | temp.truncate((uint) x); | 178 | temp.truncate((uint) x); |
179 | newMessages = temp.toInt(); | 179 | newMessages = temp.toInt(); |
180 | messageCount = 1; | 180 | messageCount = 1; |
181 | status = List; | 181 | status = List; |
182 | 182 | ||
183 | if (synchronize) { | 183 | if (synchronize) { |
184 | //messages deleted from server, reload all | 184 | //messages deleted from server, reload all |
185 | if (newMessages < lastSync) | 185 | if (newMessages < lastSync) |
186 | lastSync = 0; | 186 | lastSync = 0; |
187 | messageCount = 1; | 187 | messageCount = 1; |
188 | } | 188 | } |
189 | 189 | ||
190 | if (selected) { | 190 | if (selected) { |
191 | int *ptr = mailList->first(); | 191 | int *ptr = mailList->first(); |
192 | if (ptr != 0) { | 192 | if (ptr != 0) { |
193 | newMessages++; //to ensure no early jumpout | 193 | newMessages++; //to ensure no early jumpout |
194 | messageCount = *ptr; | 194 | messageCount = *ptr; |
195 | } else newMessages = 0; | 195 | } else newMessages = 0; |
196 | } | 196 | } |
197 | 197 | ||
198 | } else errorHandling(ErrUnknownResponse); | 198 | } else errorHandling(ErrUnknownResponse); |
199 | } | 199 | } |
200 | //Read message number x, count upwards to messageCount | 200 | //Read message number x, count upwards to messageCount |
201 | case List: { | 201 | case List: { |
202 | if (messageCount <= newMessages) { | 202 | if (messageCount <= newMessages) { |
203 | *stream << "LIST " << messageCount << "\r\n"; | 203 | *stream << "LIST " << messageCount << "\r\n"; |
204 | status = Size; | 204 | status = Size; |
205 | temp2.setNum(newMessages - lastSync); | 205 | temp2.setNum(newMessages - lastSync); |
206 | temp.setNum(messageCount - lastSync); | 206 | temp.setNum(messageCount - lastSync); |
207 | if (!selected) { | 207 | if (!selected) { |
208 | emit updateStatus(tr("Retrieving ") + temp + "/" + temp2); | 208 | emit updateStatus(tr("Retrieving ") + temp + "/" + temp2); |
@@ -233,28 +233,28 @@ void PopClient::incomingData() | |||
233 | 233 | ||
234 | status = Retr; | 234 | status = Retr; |
235 | } else { | 235 | } else { |
236 | //qWarning(response); | 236 | //qWarning(response); |
237 | errorHandling(ErrUnknownResponse); | 237 | errorHandling(ErrUnknownResponse); |
238 | } | 238 | } |
239 | } | 239 | } |
240 | } | 240 | } |
241 | //Read message number x, count upwards to messageCount | 241 | //Read message number x, count upwards to messageCount |
242 | case Retr: { | 242 | case Retr: { |
243 | if (status != Quit) { | 243 | if (status != Quit) { |
244 | if ((selected)||(mailSize <= headerLimit)) | 244 | if ((selected)||(mailSize <= headerLimit)) |
245 | { | 245 | { |
246 | *stream << "RETR " << messageCount << "\r\n"; | 246 | *stream << "RETR " << messageCount << "\r\n"; |
247 | } else { //only header | 247 | } else { //only header |
248 | *stream << "TOP " << messageCount << " 0\r\n"; | 248 | *stream << "TOP " << messageCount << " 0\r\n"; |
249 | } | 249 | } |
250 | messageCount++; | 250 | messageCount++; |
251 | status = Ignore; | 251 | status = Ignore; |
252 | break; | 252 | break; |
253 | } } | 253 | } } |
254 | case Ignore: { | 254 | case Ignore: { |
255 | if (status != Quit) { //because of idiotic switch | 255 | if (status != Quit) { //because of idiotic switch |
256 | if (response[0] == '+') { | 256 | if (response[0] == '+') { |
257 | message = ""; | 257 | message = ""; |
258 | status = Read; | 258 | status = Read; |
259 | if (!socket->canReadLine()) //sync. problems | 259 | if (!socket->canReadLine()) //sync. problems |
260 | break; | 260 | break; |
@@ -267,41 +267,41 @@ void PopClient::incomingData() | |||
267 | case Read: { | 267 | case Read: { |
268 | if (status != Quit) { //because of idiotic switch | 268 | if (status != Quit) { //because of idiotic switch |
269 | message += response; | 269 | message += response; |
270 | while ( socket->canReadLine() ) { | 270 | while ( socket->canReadLine() ) { |
271 | response = socket->readLine(); | 271 | response = socket->readLine(); |
272 | message += response; | 272 | message += response; |
273 | } | 273 | } |
274 | emit downloadedSize(message.length()); | 274 | emit downloadedSize(message.length()); |
275 | int x = message.find("\r\n.\r\n",-5); | 275 | int x = message.find("\r\n.\r\n",-5); |
276 | if (x == -1) { | 276 | if (x == -1) { |
277 | break; | 277 | break; |
278 | } else { //message reach entire size | 278 | } else { //message reach entire size |
279 | if ( (selected)||(mailSize <= headerLimit)) //mail size limit is not used if late download is active | 279 | if ( (selected)||(mailSize <= headerLimit)) //mail size limit is not used if late download is active |
280 | { | 280 | { |
281 | emit newMessage(message, messageCount-1, mailSize, TRUE); | 281 | emit newMessage(message, messageCount-1, mailSize, TRUE); |
282 | } else { //incomplete mail downloaded | 282 | } else { //incomplete mail downloaded |
283 | emit newMessage(message, messageCount-1, mailSize, FALSE); | 283 | emit newMessage(message, messageCount-1, mailSize, FALSE); |
284 | } | 284 | } |
285 | 285 | ||
286 | if ((messageCount > newMessages)||(selected)) //last message ? | 286 | if ((messageCount > newMessages)||(selected)) //last message ? |
287 | { | 287 | { |
288 | status = Quit; | 288 | status = Quit; |
289 | if (selected) { //grab next from queue | 289 | if (selected) { //grab next from queue |
290 | newMessages--; | 290 | newMessages--; |
291 | status = Quit; | 291 | status = Quit; |
292 | } | 292 | } |
293 | } | 293 | } |
294 | else | 294 | else |
295 | { | 295 | { |
296 | *stream << "LIST " << messageCount << "\r\n"; | 296 | *stream << "LIST " << messageCount << "\r\n"; |
297 | status = Size; | 297 | status = Size; |
298 | temp2.setNum(newMessages - lastSync); | 298 | temp2.setNum(newMessages - lastSync); |
299 | temp.setNum(messageCount - lastSync); | 299 | temp.setNum(messageCount - lastSync); |
300 | emit updateStatus(tr("Retrieving ") + temp + "/" + temp2); | 300 | emit updateStatus(tr("Retrieving ") + temp + "/" + temp2); |
301 | 301 | ||
302 | break; | 302 | break; |
303 | } | 303 | } |
304 | } | 304 | } |
305 | } | 305 | } |
306 | if (status != Quit) | 306 | if (status != Quit) |
307 | break; | 307 | break; |