Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
5428 leency 1
//Leency 2008-2015
5416 punk_joker 2
 
3
#define EDITOR_PATH     "/sys/tinypad"
4
 
5
#ifdef LANG_RUS
5435 leency 6
	?define EDIT_FILE_ASSOCIATIONS "Редактировать ассоциации файлов"
5416 punk_joker 7
	?define TITLE_SETT "Настройки"
5428 leency 8
	?define SET_1 "Выводить названия класса устройств"
9
	?define SET_2 "Показывать имена файлов не меняя регистр"
10
	?define SET_3 "Высота строки в списке"
5416 punk_joker 11
	?define CANCEL_T "Отмена"
12
	?define APPLY_T "Применить"
13
#else
5435 leency 14
	?define EDIT_FILE_ASSOCIATIONS "Edit file associations"
5428 leency 15
	?define TITLE_SETT "Settings"
16
	?define SET_1 "Show device class name"
17
	?define SET_2 "Show real file names without changing case"
18
	?define SET_3 "List line height"
19
	?define CANCEL_T "Cancel"
20
	?define APPLY_T "Apply"
5416 punk_joker 21
#endif
22
 
23
int	mouse_ddd;
24
char lineh_s[30]="18\0";
5435 leency 25
edit_box LineHeight_ed = {52,10,70,0xffffff,0x94AECE,0xffc90E,0xffffff,2,4,#lineh_s,#mouse_ddd, 1000000000000000b,2,2};
5436 leency 26
checkbox2 ShowDeviceName_chb = {10*65536+15, 10*65536+15, 5, 0xffffff, 0x9098B0, 0x80000000, SET_1, CH_FLAG_MIDDLE, 0};
27
checkbox2 RealFileNamesCase_chb = {10*65536+15, 30*65536+15, 5, 0xffffff, 0x9098B0, 0x80000000, SET_2, CH_FLAG_MIDDLE, 0};
5416 punk_joker 28
 
29
void settings_dialog()
30
{
31
	byte id;
32
	unsigned int key;
5435 leency 33
	proc_info settings_form;
5436 leency 34
 
5428 leency 35
	if (active_about) ExitProcess();
5416 punk_joker 36
	active_about=1;
5436 leency 37
 
38
	ShowDeviceName_chb.size_of_str = strlen(SET_1) * 6;
39
	RealFileNamesCase_chb.size_of_str = strlen(SET_2) * 6;
40
 
5416 punk_joker 41
	SetEventMask(0x27);
42
	loop() switch(WaitEvent())
43
	{
44
		case evButton:
45
				id=GetButtonID();
46
				if (id==10)
47
				{
5441 leency 48
					SaveIniSettings();
5416 punk_joker 49
					active_about=0;
5428 leency 50
					action_buf = 300;
5416 punk_joker 51
					ExitProcess();
52
				}
5428 leency 53
				if (id==1) || (id==11)
5416 punk_joker 54
				{
55
					active_about=0;
56
					ExitProcess();
57
				}
5435 leency 58
				if (id==5)
59
				{
60
					RunProgram("tinypad", "/sys/settings/assoc.ini");
61
				}
5416 punk_joker 62
				break;
63
 
64
		case evKey:
65
				key = GetKey();
5428 leency 66
				if (key==27)
5416 punk_joker 67
				{
68
					active_about=0;
5428 leency 69
					action_buf = 300;
5416 punk_joker 70
					ExitProcess();
71
				}
72
				EAX=key<<8;
73
				edit_box_key stdcall(#LineHeight_ed);
74
				break;
75
 
76
		case evMouse:
77
				check_box_mouse stdcall (#ShowDeviceName_chb);
78
				check_box_mouse stdcall (#RealFileNamesCase_chb);
79
				edit_box_mouse stdcall (#LineHeight_ed);
80
				break;
81
 
82
		case evReDraw:
5428 leency 83
				DefineAndDrawWindow(Form.left + 100, 150, 300, 200+GetSkinHeight(),0x34,sc.work,TITLE_SETT);
5435 leency 84
				GetProcessInfo(#settings_form, SelfInfo);
5444 leency 85
 
86
				ShowDeviceName_chb.flags |= 1 << show_dev_name;
87
				RealFileNamesCase_chb.flags |= 1 << real_files_names_case;
88
 
5416 punk_joker 89
				key = itoa(files.line_h);
90
				strcpy(#lineh_s, key);
91
 
92
				check_box_draw stdcall (#ShowDeviceName_chb);
93
				check_box_draw stdcall (#RealFileNamesCase_chb);
94
				edit_box_draw stdcall (#LineHeight_ed);
5435 leency 95
				DrawRectangle(LineHeight_ed.left-1, LineHeight_ed.top-1, LineHeight_ed.width+2, 16, sc.work_graph);
96
				WriteText(10, 57, 0x80, 0x000000, SET_3);
97
				DrawFlatButton(9, 100, strlen(EDIT_FILE_ASSOCIATIONS)+4*6, 22, 5, 0xE4DFE1, EDIT_FILE_ASSOCIATIONS);
98
				DrawFlatButton(128, settings_form.cheight - 34, 70, 22, 10, 0xE4DFE1, APPLY_T);
99
				DrawFlatButton(208, settings_form.cheight - 34, 70, 22, 11, 0xE4DFE1, CANCEL_T);
5416 punk_joker 100
	}
5428 leency 101
}
102
 
103
 
5441 leency 104
void LoadIniSettings()
5428 leency 105
{
106
	ini_get_color stdcall (eolite_ini_path, "Config", "SelectionColor", 0x94AECE);
107
	edit2.shift_color = EAX;
108
	col_selec = EAX;
109
	ini_get_int stdcall (eolite_ini_path, "Config", "LineHeight", 18);
110
	files.line_h = EAX;
111
	ini_get_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 1);
112
	show_dev_name = EAX;
113
	ini_get_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 0);
114
	real_files_names_case = EAX;
115
}
116
 
5441 leency 117
void SaveIniSettings()
118
{
5444 leency 119
	show_dev_name = TestBit(ShowDeviceName_chb.flags, 1);
120
	real_files_names_case = TestBit(RealFileNamesCase_chb.flags, 1);
5441 leency 121
	ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", show_dev_name);
122
	ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", real_files_names_case);
123
	ini_set_int stdcall (eolite_ini_path, "Config", "LineHeight", atoi(#lineh_s));
124
}
5428 leency 125
 
5441 leency 126
 
127
 
5428 leency 128
void Write_Error(int error_number)
129
{
130
	char error_message[500];
131
	dword ii;
132
	if (files.current>=0) Line_ReDraw(0xFF0000, files.current);
133
	pause(5);
134
	strcpy(#error_message, "\"Eolite\n");
135
	ii = get_error(error_number);
136
	strcat(#error_message, ii);
137
	strcat(#error_message, "\" -tE");
138
	notify(#error_message);
139
}
140
 
141
 
142
void SetAppColors()
143
{
144
	sc.work = 0xE4DFE1;
145
	sc.work_text = 0;
146
	sc.work_graph  = 0x9098B0; //A0A0B8; //0x819FC5;
147
	sc.work_button_text = 0x000000;
148
	col_padding = 0xC8C9C9;
149
	//col_selec   = 0x94AECE;
150
	col_lpanel  = 0x00699C;
5416 punk_joker 151
}