Subversion Repositories Kolibri OS

Rev

Rev 4645 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4645 Rev 4870
Line 98... Line 98...
98
					break;
98
					break;
99
				}
99
				}
100
				mailsize = atr.GetSize(mail_list.current+1) + 1024;
100
				mailsize = atr.GetSize(mail_list.current+1) + 1024;
101
				free(mailstart);
101
				free(mailstart);
102
				mailstart = malloc(mailsize);
102
				mailstart = malloc(mailsize);
-
 
103
				mailend = mailstart;
103
				if (!mailstart)
104
				if (!mailstart)
104
				{
105
				{
105
					debugln("alloc error!");
106
					debugln("alloc error!");
106
					aim=NULL;
107
					aim=NULL;
107
					break;
108
					break;
108
				}
109
				}
109
				mailend = mailstart;
110
				debug("mailsize: "); debugi(mailsize);
110
				aim = GET_ANSWER_RETR;
111
				aim = GET_ANSWER_RETR;
111
				debugln("goto GET_ANSWER_RETR");
112
				debugln("goto GET_ANSWER_RETR");
112
				break;
113
				break;
Line 113... Line 114...
113
			
114
			
-
 
115
		case GET_ANSWER_RETR:
-
 
116
				debug("mailsize: "); debugi(mailsize);
-
 
117
				debug("mailstart: "); debugi(mailstart);
114
		case GET_ANSWER_RETR:
118
				debug("mailend: "); debugi(mailend);
115
				ticks = Receive(socketnum, mailend, mailsize + mailstart - mailend, MSG_DONTWAIT);
119
				ticks = Receive(socketnum, mailend, mailsize + mailstart - mailend, MSG_DONTWAIT);
116
				if (ticks == 0xffffffff) break;
120
				if (ticks == 0xffffffff) break;
117
				mailend += ticks;
121
				mailend = mailend + ticks;
118
				if (mailsize + mailstart - mailend - 2 < 0)
122
				if (mailsize + mailstart - mailend - 2 < 0)
119
				{
123
				{
120
					debugln("Resizing buffer");
124
					debugln("Resizing buffer");
121
					mailsize += 4096;
125
					mailsize += 4096;
122
					mailstart = realloc(mailstart, mailsize);
126
					mailstart = realloc(mailstart, mailsize);
123
					if (!mailstart) { StopConnect("Realloc error!"); break;}
127
					if (!mailstart) { StopConnect("Realloc error!"); break;}
-
 
128
				}
124
				}
129
				/*
125
				if (mailsize>9000)
130
				if (mailsize>9000)
126
				{
131
				{
127
					load_persent = mailend - mailstart * 100 ;
132
					load_persent = mailend - mailstart * 100 ;
128
					load_persent /= mailsize - 1024;
133
					load_persent /= mailsize - 1024;
129
					if (load_persent != cur_st_percent) SetMailBoxStatus( load_persent , NULL);
134
					if (load_persent != cur_st_percent) SetMailBoxStatus( load_persent , NULL);
-
 
135
				}
130
				}
136
				*/
131
				ParseMail();
137
				//ParseMail();
132
	}
138
	}
Line 133... Line 139...
133
}
139
}
Line 313... Line 319...
313
		PutPaletteImage(sizeof(letter_icons)/3*direction + #letter_icons, 18,12, on_x+18,
319
		PutPaletteImage(sizeof(letter_icons)/3*direction + #letter_icons, 18,12, on_x+18,
314
			mail_list.line_h-12/2+ on_y, 8, #letter_icons_pal);
320
			mail_list.line_h-12/2+ on_y, 8, #letter_icons_pal);
315
		WriteText(on_x + 42, on_y+5, 0x80, 0, atr.GetSubject(i+mail_list.first+1));
321
		WriteText(on_x + 42, on_y+5, 0x80, 0, atr.GetSubject(i+mail_list.first+1));
316
		DrawBar(0, on_y + mail_list.line_h-1, mail_list.w, 1, 0xCCCccc);
322
		DrawBar(0, on_y + mail_list.line_h-1, mail_list.w, 1, 0xCCCccc);
317
		WriteText(10, on_y+5, 0x80, 0, itoa(i+mail_list.first+1));
323
		WriteText(10, on_y+5, 0x80, 0, itoa(i+mail_list.first+1));
318
		WriteText(mail_list.w - 40, on_y+5, 0x80, 0, ConvertMemSize(atr.GetSize(i+mail_list.first+1)));
324
		WriteText(mail_list.w - 40, on_y+5, 0x80, 0, ConvertSize(atr.GetSize(i+mail_list.first+1)));
319
	}
325
	}
320
	DrawBar(0, i*mail_list.line_h + mail_list.y, mail_list.w, -i*mail_list.line_h+mail_list.h, 0xFFFfff);
326
	DrawBar(0, i*mail_list.line_h + mail_list.y, mail_list.w, -i*mail_list.line_h+mail_list.h, 0xFFFfff);
321
	DrawScroller1();
327
	DrawScroller1();
322
}
328
}
Line 326... Line 332...
326
	DrawBar(0, lt_y, mail_list.w, 1, sc.work_graph);
332
	DrawBar(0, lt_y, mail_list.w, 1, sc.work_graph);
327
	DrawBar(0, lt_y+1, Form.cwidth, 1, LBUMP);
333
	DrawBar(0, lt_y+1, Form.cwidth, 1, LBUMP);
328
	DrawBar(0, lt_y+2, Form.cwidth, LIST_INFO_H-4, sc.work);
334
	DrawBar(0, lt_y+2, Form.cwidth, LIST_INFO_H-4, sc.work);
329
	WriteText(mail_list.w-30/2, lt_y, 0x80, 0x888888, "= = =");
335
	WriteText(mail_list.w-30/2, lt_y, 0x80, 0x888888, "= = =");
330
	WriteText(mail_list.w-30/2, lt_y+1, 0x80, 0xEeeeee, "= = =");
336
	WriteText(mail_list.w-30/2, lt_y+1, 0x80, 0xEeeeee, "= = =");
331
	DrawBar(0, lt_y+LIST_INFO_H-2, mail_list.w, 1, sc.work_graph); //bottom
337
	DrawBar(0, lt_y+LIST_INFO_H-2, Form.cwidth, 1, sc.work_graph); //bottom
332
	DrawBar(0, lt_y+LIST_INFO_H-1, mail_list.w, 1, 0xdfdfdf);
338
	DrawBar(0, lt_y+LIST_INFO_H-1, Form.cwidth, 1, 0xdfdfdf);
333
	DrawBar(0, lt_y+LIST_INFO_H  , mail_list.w, 1, 0xf0f0f0);
339
	DrawBar(0, lt_y+LIST_INFO_H  , Form.cwidth, 1, 0xf0f0f0);
334
	WriteTextB(10, lt_y+8 , 0x80, sc.work_text, "From:");
340
	WriteTextB(10, lt_y+8 , 0x80, sc.work_text, "From:");
335
	WriteText (45, lt_y+8 , 0x80, sc.work_text, #from);
341
	WriteText (45, lt_y+8 , 0x80, sc.work_text, #from);
336
	WriteTextB(10, lt_y+20, 0x80, sc.work_text, "To:");
342
	WriteTextB(10, lt_y+20, 0x80, sc.work_text, "To:");
337
	WriteText (45, lt_y+20, 0x80, sc.work_text, #to);
343
	WriteText (45, lt_y+20, 0x80, sc.work_text, #to);
338
	WriteTextB(10, lt_y+32, 0x80, sc.work_text, "Date:");
344
	WriteTextB(10, lt_y+32, 0x80, sc.work_text, "Date:");
Line 345... Line 351...
345
void InitTWB() {
351
void InitTWB() {
346
	WB1.list.SetSizes(0, mail_list.y+mail_list.h+LIST_INFO_H+1, Form.cwidth - scroll_wv.size_x - 1, 
352
	WB1.list.SetSizes(0, mail_list.y+mail_list.h+LIST_INFO_H+1, Form.cwidth - scroll_wv.size_x - 1, 
347
		Form.cheight - mail_list.y - mail_list.h - LIST_INFO_H - 1 - status_bar_h, 60, 12);
353
		Form.cheight - mail_list.y - mail_list.h - LIST_INFO_H - 1 - status_bar_h, 60, 12);
348
	WB1.list.column_max = WB1.list.w - 30 / 6;
354
	WB1.list.column_max = WB1.list.w - 30 / 6;
349
	WB1.list.visible = WB1.list.h / WB1.list.line_h;
355
	WB1.list.visible = WB1.list.h / WB1.list.line_h;
350
	WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, WB1.list.h, WB1.list.line_h);
356
	WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, WB1.list.h);
Line 351... Line 357...
351
 
357
 
352
	strcpy(#header, #version);
358
	strcpy(#header, #version);
353
	pre_text = 0;
359
	pre_text = 0;
354
	WB1.list.first = WB1.list.count = 0;
360
	WB1.list.first = WB1.list.count = 0;
Line 357... Line 363...
357
void DrawLetter() {
363
void DrawLetter() {
358
	pre_text = 2;
364
	pre_text = 2;
359
	bufsize = strlen(mdata);
365
	bufsize = strlen(mdata);
360
	WB1.Prepare(bufsize, mdata);
366
	WB1.Prepare(bufsize, mdata);
361
	if (bufsize) WB1.Parse();
367
	if (bufsize) WB1.Parse();
-
 
368
	DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, 0xFFFfff);
362
}
369
}
Line 363... Line 370...
363
 
370
 
364
 
371
 
Line 386... Line 393...
386
}
393
}
Line 387... Line 394...
387
 
394
 
388
 
395
 
-
 
396
 
389
 
397
void SetMailBoxStatus(dword percent1, text1) {
390
void SetMailBoxStatus(dword percent1, text1) {
398
	DrawProgressBar(3, Form.cheight -status_bar_h + 1, 220, 12, sc.work, 0xC3C3C3, 0x54B1D6, sc.work_text, percent1);
391
	DrawProgressBar(3, Form.cheight -status_bar_h + 1, 220, 12, sc.work, 0xC3C3C3, 0x54B1D6, sc.work_text, percent1, text1);
399
	WriteText(3, Form.cheight -status_bar_h + 1, 0x80, sc.work_text, text1);