Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
5416 punk_joker 1
//Leency 2008-2013
2
 
3
#define EDITOR_PATH     "/sys/tinypad"
4
#define BROWSER_PATH    "/sys/htmlv"
5
#define BROWSER_LINK    "http://kolibri-n.org/index.php"
6
 
7
#ifdef LANG_RUS
8
	?define TITLE_SETT "Настройки"
9
	?define SET_1 "Показывать имена устройств"
10
	?define SET_2 "Реальные имена"
11
	?define SET_3 "Высота выделения"
12
	?define CANCEL_T "Отмена"
13
	?define APPLY_T "Применить"
14
#elif LANG_EST
5417 punk_joker 15
	?define TITLE_SETT "Настройки"
16
	?define SET_1 "Показывать имена устройств"
17
	?define SET_2 "Реальные имена"
18
	?define SET_3 "Высота выделения"
19
	?define CANCEL_T "Отмена"
20
	?define APPLY_T "Применить"
5416 punk_joker 21
#else
5417 punk_joker 22
	?define TITLE_SETT "Настройки"
23
	?define SET_1 "Показывать имена устройств"
24
	?define SET_2 "Реальные имена"
25
	?define SET_3 "Высота выделения"
26
	?define CANCEL_T "Отмена"
27
	?define APPLY_T "Применить"
5416 punk_joker 28
#endif
29
 
30
int	mouse_ddd;
31
char lineh_s[30]="18\0";
32
edit_box LineHeight_ed = {50,10,70,0xffffff,0x94AECE,0x000000,0x000000,2,4,#lineh_s,#mouse_ddd, 1000000000000010b,2,2};
33
checkbox2 ShowDeviceName_chb = {10*65536+15, 10*65536+15, 5, 0xffffff, 0x000000, 0x80000000, SET_1, 110b};
34
checkbox2 RealFileNamesCase_chb = {10*65536+15, 30*65536+15, 5, 0xffffff, 0x000000, 0x80000000, SET_2, 100b};
35
 
36
void settings_dialog()
37
{
38
	byte id;
39
	unsigned int key;
40
	dword eolite_ini_path = abspath("Eolite.ini");
41
	IF (active_about) ExitProcess();
42
	active_about=1;
43
	SetEventMask(0x27);
44
	loop() switch(WaitEvent())
45
	{
46
		case evButton:
47
				id=GetButtonID();
48
				if (id==10)
49
				{
50
					IF ( asm test ShowDeviceName_chb.flags, 2) ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 1);
51
					ELSE  ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 0);
52
					IF ( asm test RealFileNamesCase_chb.flags, 2) ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 1);
53
					ELSE ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 0);
54
					IF (LineHeight_ed.size) ini_set_int stdcall (eolite_ini_path, "Config", "LineHeight", atoi(#lineh_s));
55
					active_about=0;
56
					ExitProcess();
57
				}
58
				IF (id==1) || (id==11)
59
				{
60
					active_about=0;
61
					ExitProcess();
62
				}
63
				IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK);
64
				break;
65
 
66
		case evKey:
67
				key = GetKey();
68
				IF (key==27)
69
				{
70
					active_about=0;
71
					ExitProcess();
72
				}
73
				EAX=key<<8;
74
				edit_box_key stdcall(#LineHeight_ed);
75
				break;
76
 
77
		case evMouse:
78
				check_box_mouse stdcall (#ShowDeviceName_chb);
79
				check_box_mouse stdcall (#RealFileNamesCase_chb);
80
				edit_box_mouse stdcall (#LineHeight_ed);
81
				break;
82
 
83
		case evReDraw:
84
				DefineAndDrawWindow(600,150,281,228+GetSkinHeight(),0x34,sc.work,TITLE_SETT);
85
 
86
				IF (show_dev_name) ShowDeviceName_chb.flags = 110b;
87
				ELSE  ShowDeviceName_chb.flags = 100b;
88
 
89
				IF (real_files_names_case) RealFileNamesCase_chb.flags = 110b;
90
				ELSE RealFileNamesCase_chb.flags = 100b;
91
 
92
				key = itoa(files.line_h);
93
				strcpy(#lineh_s, key);
94
 
95
				check_box_draw stdcall (#ShowDeviceName_chb);
96
				check_box_draw stdcall (#RealFileNamesCase_chb);
97
				edit_box_draw stdcall (#LineHeight_ed);
98
				WriteText(10, 55, 0x80, 0x000000, SET_3);
99
				DrawFlatButton(115,190,70,22,10,0xE4DFE1, APPLY_T);
100
				DrawFlatButton(195,190,70,22,11,0xE4DFE1, CANCEL_T);
101
	}
102
}