Subversion Repositories Kolibri OS

Rev

Rev 6678 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3368 leency 1
//Leency & SoUrcerer, LGPL
2
 
3
char *text1[] = {"POP server adress:", "POP server port:", "SMTP server adress:", "SMTP server port:", '\0'};
4
 
5
dword mouse_opt;
6
unsigned char POP_server1[128]="pop.server.com";
7
unsigned char POP_server_port1[5]="110";
8
unsigned char SMTP_server1[128]="smtp.server.com";
9
unsigned char SMTP_server_port1[5]="25";
6678 leency 10
edit_box POP_server_box        = {210,230,125 ,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,sizeof(POP_server1),#POP_server1,#mouse_opt,100000000000b};
11
edit_box POP_server_port_box   = {210,230,160,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,5,#POP_server_port1,#mouse_opt,100000000000b};
12
edit_box SMTP_server_box       = {210,230,195,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,sizeof(SMTP_server1),#SMTP_server1,#mouse_opt,100000000000b};
13
edit_box SMTP_server_port_box  = {210,230,230,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,5,#SMTP_server_port1,#mouse_opt,100000000000b};
3368 leency 14
 
7244 leency 15
checkbox automatic = { "Automatic configuration", true };
3368 leency 16
 
4164 leency 17
void SettingsDialog()
3368 leency 18
{
19
	int key, id;
20
 
21
	POP_server_box.size = strlen(#POP_server1);
22
	POP_server_port_box.size = strlen(#POP_server_port1);
23
	SMTP_server_box.size = strlen(#SMTP_server1);
24
	SMTP_server_port_box.size = strlen(#SMTP_server_port1);
25
 
26
	goto _OPT_WIN;
27
 
28
	loop()
29
	{
30
		switch(WaitEvent())
31
		{
32
			case evMouse:
33
				IF (GetProcessSlot(Form.ID)-GetActiveProcess()!=0) break;
34
				edit_box_mouse stdcall(#POP_server_box);
35
				edit_box_mouse stdcall(#POP_server_port_box);
36
				edit_box_mouse stdcall(#SMTP_server_box);
37
				edit_box_mouse stdcall(#SMTP_server_port_box);
38
				break;
39
 
40
			case evButton:
41
				id = GetButtonID();
42
				if (id==1) SaveAndExit();
43
				if (id==19) LoginBoxLoop();
7244 leency 44
				if (automatic.click(id))
3368 leency 45
				{
7244 leency 46
					if (automatic.checked) {
47
						POP_server_box.flags = POP_server_box.flags = POP_server_port_box.flags = SMTP_server_box.flags = SMTP_server_port_box.flags = 100000000000b;
48
						POP_server_box.blur_border_color = POP_server_box.blur_border_color = POP_server_port_box.blur_border_color =
49
						 SMTP_server_box.blur_border_color = SMTP_server_port_box.blur_border_color = 0xCACACA;
50
					}
51
					else {
5683 leency 52
						POP_server_box.flags = 0b10;
53
						POP_server_port_box.flags = SMTP_server_box.flags = SMTP_server_port_box.flags = 0b;
54
						POP_server_box.blur_border_color = POP_server_box.blur_border_color = POP_server_port_box.blur_border_color =
55
						 SMTP_server_box.blur_border_color = SMTP_server_port_box.blur_border_color = 0xFFFfff;
56
					}
7244 leency 57
					DrawOptionsWindow();
3368 leency 58
				}
59
				break;
60
 
61
			case evKey:
5714 punk_joker 62
				GetKeys();;
3368 leency 63
 
7244 leency 64
				if (automatic.checked==true) break;
5714 punk_joker 65
				if (key_scancode==SCAN_CODE_TAB)
3368 leency 66
				{
67
					if (POP_server_box.flags & 0b10)       { POP_server_box.flags -= 0b10;         POP_server_port_box.flags += 0b10;  } else
68
					if (POP_server_port_box.flags & 0b10)  { POP_server_port_box.flags -= 0b10;    SMTP_server_box.flags += 0b10;      } else
69
					if (SMTP_server_box.flags & 0b10)      { SMTP_server_box.flags -= 0b10;        SMTP_server_port_box.flags += 0b10; } else
70
					if (SMTP_server_port_box.flags & 0b10) { SMTP_server_port_box.flags -= 0b10;   POP_server_box.flags += 0b10;       } else
71
					                                         POP_server_box.flags = 0b10;
7244 leency 72
					DrawOptionsWindow();
3368 leency 73
				}
74
 
5714 punk_joker 75
				EAX=key_ascii<<8;
3368 leency 76
				edit_box_key stdcall(#POP_server_box);
77
				edit_box_key stdcall(#POP_server_port_box);
78
				edit_box_key stdcall(#SMTP_server_box);
79
				edit_box_key stdcall(#SMTP_server_port_box);
80
				break;
81
 
82
			case evReDraw: _OPT_WIN:
83
				if !(DefineWindow(OPTIONS_HEADER)) break;
5674 pavelyakov 84
				DrawBar(0,0, Form.cwidth, Form.cheight, system.color.work);
7244 leency 85
				DrawOptionsWindow();
3368 leency 86
				break;
87
		}
88
	}
89
}
90
 
7244 leency 91
void DrawOptionsWindow()
3368 leency 92
{
93
	#define ELEM_X 25
94
	int i;
6278 leency 95
	incn y;
96
	y.n=0;
5674 pavelyakov 97
	DrawBar(0, Form.cheight - 40, Form.cwidth, 1, system.color.work_graph);
3368 leency 98
	DrawBar(0, Form.cheight - 40+1, Form.cwidth, 1, LBUMP);
5674 pavelyakov 99
	DrawCaptButton(Form.cwidth-79, Form.cheight-32, 70, 25, 19, system.color.work_button, system.color.work_button_text,"Apply");
3368 leency 100
 
6278 leency 101
	WriteText(ELEM_X, y.inc(20), 0x81, system.color.work_text, "Network settings");
7244 leency 102
	automatic.draw(ELEM_X, y.inc(65));
6278 leency 103
	EDI = system.color.work;
6678 leency 104
	for (i=0; i<4; i++)	WriteText(ELEM_X+40, i*35+POP_server_box.top + 3, 0xD0, system.color.work_text, text1[i]);
6278 leency 105
	DrawEditBox(#POP_server_box);
106
	DrawEditBox(#POP_server_port_box);
107
	DrawEditBox(#SMTP_server_box);
108
	DrawEditBox(#SMTP_server_port_box);
3368 leency 109
}