Subversion Repositories Kolibri OS

Rev

Rev 9693 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9693 Rev 9727
1
char path_to_file[PATHLEN];
1
char path_to_file[PATHLEN];
2
char file_name2[PATHLEN];
2
char file_name2[PATHLEN];
3
edit_box file_name_ed = {230,59,32,0xffffff,0x94AECE,0xFFFfff,0xffffff,0x10000000,sizeof(file_name2)-2,#file_name2,NULL, 0b,2,2};
3
edit_box file_name_ed = {230,59,32,0xffffff,0x94AECE,0xFFFfff,0xffffff,0x10000000,sizeof(file_name2)-2,#file_name2,NULL, 0b,2,2};
4
edit_box path_to_file_ed = {160,120,79,0xffffff,0x94AECE,0xFFFfff,0xffffff,2,sizeof(path_to_file)-2,#path_to_file,NULL, 0b,2,2};
4
edit_box path_to_file_ed = {160,120,79,0xffffff,0x94AECE,0xFFFfff,0xffffff,2,sizeof(path_to_file)-2,#path_to_file,NULL, 0b,2,2};
5
 
5
 
6
BDVK file_info_general;
6
BDVK file_info_general;
7
BDVK file_info_dirsize;
7
BDVK file_info_dirsize;
8
 
8
 
9
bool apply_question_active;
9
bool apply_question_active;
10
 
10
 
11
DIR_SIZE more_files_count;
11
DIR_SIZE more_files_count;
12
DIR_SIZE dir_size;
12
DIR_SIZE dir_size;
13
 
13
 
14
checkbox ch_read_only = { PR_T_ONLY_READ, NULL };
14
checkbox ch_read_only = { PR_T_ONLY_READ, NULL };
15
checkbox ch_hidden = { PR_T_HIDDEN, NULL };
15
checkbox ch_hidden = { PR_T_HIDDEN, NULL };
16
checkbox ch_system = { PR_T_SYSTEM, NULL };
16
checkbox ch_system = { PR_T_SYSTEM, NULL };
17
 
17
 
18
void SetPropertiesFile(dword cur_file, bdvk_pointer)
18
void SetPropertiesFile(dword cur_file, bdvk_pointer)
19
{
19
{
20
	GetFileInfo(cur_file, bdvk_pointer);
20
	GetFileInfo(cur_file, bdvk_pointer);
21
	ESI = bdvk_pointer;
21
	ESI = bdvk_pointer;
22
	ESI.BDVK.readonly = ch_read_only.checked;
22
	ESI.BDVK.readonly = ch_read_only.checked;
23
	ESI.BDVK.hidden = ch_hidden.checked;
23
	ESI.BDVK.hidden = ch_hidden.checked;
24
	ESI.BDVK.system = ch_system.checked;
24
	ESI.BDVK.system = ch_system.checked;
25
	SetFileInfo(cur_file, bdvk_pointer);
25
	SetFileInfo(cur_file, bdvk_pointer);
26
}
26
}
27
 
27
 
28
void SetPropertiesDir(dword way)
28
void SetPropertiesDir(dword way)
29
{
29
{
30
	dword dirbuf, fcount, i, filename;
30
	dword dirbuf, fcount, i, filename;
31
	dword cur_file;
31
	dword cur_file;
32
	if (dir_exists(way))
32
	if (dir_exists(way))
33
	{
33
	{
34
		cur_file = malloc(PATHLEN);
34
		cur_file = malloc(PATHLEN);
35
		GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL);
35
		GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL);
36
		for (i=0; i
36
		for (i=0; i
37
		{
37
		{
38
			filename = i*304+dirbuf+72;
38
			filename = i*304+dirbuf+72;
39
			sprintf(cur_file, "%s/%s", way, filename);
39
			sprintf(cur_file, "%s/%s", way, filename);
40
			if ( ESDWORD[filename-40] & ATR_FOLDER )
40
			if ( ESDWORD[filename-40] & ATR_FOLDER )
41
			{
41
			{
42
				SetPropertiesDir(cur_file);
42
				SetPropertiesDir(cur_file);
43
			}
43
			}
44
			SetPropertiesFile(cur_file, #file_info_dirsize);
44
			SetPropertiesFile(cur_file, #file_info_dirsize);
45
		}
45
		}
46
		free(cur_file);
46
		free(cur_file);
47
	}
47
	}
48
}
48
}
49
 
49
 
50
#define SET_PROPERTIES_SINGLE_FILE 0
50
#define SET_PROPERTIES_SINGLE_FILE 0
51
#define SET_PROPERTIES_NO_SUBFOLDER 1
51
#define SET_PROPERTIES_NO_SUBFOLDER 1
52
#define SET_PROPERTIES_ALL_SUBFOLDER 2
52
#define SET_PROPERTIES_ALL_SUBFOLDER 2
53
void SetProperties(int mode)
53
void SetProperties(int mode)
54
{
54
{
55
	char pcur_file[4096];
55
	char pcur_file[4096];
56
	dword i;
56
	dword i;
57
 
57
 
58
	apply_question_active = false;
58
	apply_question_active = false;
59
 
59
 
60
	if (SET_PROPERTIES_SINGLE_FILE == mode) {
60
	if (SET_PROPERTIES_SINGLE_FILE == mode) {
61
		SetPropertiesFile(#file_path, #file_info_general);
61
		SetPropertiesFile(#file_path, #file_info_general);
62
	}
62
	}
63
 
63
 
64
	if (SET_PROPERTIES_ALL_SUBFOLDER == mode)
64
	if (SET_PROPERTIES_ALL_SUBFOLDER == mode)
65
	|| (SET_PROPERTIES_NO_SUBFOLDER == mode)
65
	|| (SET_PROPERTIES_NO_SUBFOLDER == mode)
66
	{
66
	{
67
		if (getSelectedCount())
67
		if (getSelectedCount())
68
		{
68
		{
69
			for (i=0; i
69
			for (i=0; i
70
			{
70
			{
71
				if (getElementSelectedFlag(i) == true) 
71
				if (getElementSelectedFlag(i) == true) 
72
				{
72
				{
73
					sprintf(#pcur_file,"%s/%s",path,items.get(i)*304+buf+72);
73
					sprintf(#pcur_file,"%s/%s",path,items.get(i)*304+buf+72);
74
					SetPropertiesFile(#pcur_file, #file_info_general);
74
					SetPropertiesFile(#pcur_file, #file_info_general);
75
					if (SET_PROPERTIES_ALL_SUBFOLDER == mode) {
75
					if (SET_PROPERTIES_ALL_SUBFOLDER == mode) {
76
						if (dir_exists(#pcur_file)) SetPropertiesDir(#pcur_file);
76
						if (dir_exists(#pcur_file)) SetPropertiesDir(#pcur_file);
77
					}
77
					}
78
				}
78
				}
79
			}
79
			}
80
		}
80
		}
81
		else
81
		else
82
		{
82
		{
83
			SetPropertiesFile(#file_path, #file_info_general);
83
			SetPropertiesFile(#file_path, #file_info_general);
84
			if (SET_PROPERTIES_ALL_SUBFOLDER == mode) SetPropertiesDir(#file_path);
84
			if (SET_PROPERTIES_ALL_SUBFOLDER == mode) SetPropertiesDir(#file_path);
85
		}
85
		}
86
	}
86
	}
87
 
87
 
88
	cmd_free=3;
88
	cmd_free=3;
89
	OpenDir(ONLY_OPEN);
89
	OpenDir(ONLY_OPEN);
90
	ExitProcess();
90
	ExitProcess();
91
}
91
}
92
 
92
 
93
void ShowConfirmQuestionPopin()
93
void ShowConfirmQuestionPopin()
94
{
94
{
95
	apply_question_active = true;
95
	apply_question_active = true;
96
	DrawPopup(15,80,250,90,1,sc.work, sc.line);
96
	DrawPopup(15,80,250,90,1,sc.work, sc.line);
97
	WriteText(35, 102, 0x90, 0x000000, QUEST_1);
97
	WriteText(35, 102, 0x90, 0x000000, QUEST_1);
98
	WriteText(65, 117, 0x90, 0x000000, QUEST_2);
98
	WriteText(65, 117, 0x90, 0x000000, QUEST_2);
99
	DrawStandartCaptButton(62,138,B_SETINGS_APPLY_SUBFOLDER,T_YES);
99
	DrawStandartCaptButton(62,138,B_SETINGS_APPLY_SUBFOLDER,T_YES);
100
	DrawStandartCaptButton(155,138,B_SETINGS_APPLY_NO_SUBFOLDER,T_NO);
100
	DrawStandartCaptButton(155,138,B_SETINGS_APPLY_NO_SUBFOLDER,T_NO);
101
}
101
}
102
 
102
 
103
void GetSizeMoreFiles(dword way)
103
void GetSizeMoreFiles(dword way)
104
{
104
{
105
	char cur_file[4096];
105
	char cur_file[4096];
106
	dword i;
106
	dword i;
107
	
107
	
108
	for (i=0; i
108
	for (i=0; i
109
	{
109
	{
110
		if (getElementSelectedFlag(i) == true) 
110
		if (getElementSelectedFlag(i) == true) 
111
		{
111
		{
112
			sprintf(#cur_file,"%s/%s",way,items.get(i)*304+buf+72);
112
			sprintf(#cur_file,"%s/%s",way,items.get(i)*304+buf+72);
113
			if (ESDWORD[items.get(i)*304+buf+32] & ATR_FOLDER )
113
			if (ESDWORD[items.get(i)*304+buf+32] & ATR_FOLDER )
114
			{
114
			{
115
				more_files_count.calculate_loop(#cur_file);
115
				more_files_count.calculate_loop(#cur_file);
116
				more_files_count.folders++;
116
				more_files_count.folders++;
117
			}
117
			}
118
			else
118
			else
119
			{
119
			{
120
				GetFileInfo(#cur_file, #file_info_dirsize);
120
				GetFileInfo(#cur_file, #file_info_dirsize);
121
				more_files_count.sizelo += file_info_dirsize.sizelo;
121
				more_files_count.sizelo += file_info_dirsize.sizelo;
122
				more_files_count.sizehi += file_info_dirsize.sizehi;
122
				more_files_count.sizehi += file_info_dirsize.sizehi;
123
				more_files_count.files++;
123
				more_files_count.files++;
124
			}
124
			}
125
		}
125
		}
126
	}  
126
	}  
127
}
127
}
128
 
128
 
129
void properties_dialog()
129
void properties_dialog()
130
{
130
{
131
	int id;
131
	int id;
132
	
132
	
133
	if (getSelectedCount())
133
	if (getSelectedCount())
134
	{
134
	{
135
		more_files_count.get(NULL);
135
		more_files_count.get(NULL);
136
		GetSizeMoreFiles(path);
136
		GetSizeMoreFiles(path);
137
		ch_read_only.checked = 0;
137
		ch_read_only.checked = 0;
138
		ch_hidden.checked = 0;
138
		ch_hidden.checked = 0;
139
		ch_system.checked = 0;
139
		ch_system.checked = 0;
140
	}
140
	}
141
	else
141
	else
142
	{
142
	{
143
		GetFileInfo(#file_path, #file_info_general);
143
		GetFileInfo(#file_path, #file_info_general);
144
		edit_box_set_text stdcall (#file_name_ed, #file_name);
144
		edit_box_set_text stdcall (#file_name_ed, #file_name);
145
		if(itdir) dir_size.get(#file_path);
145
		if(itdir) dir_size.get(#file_path);
146
		ch_read_only.checked = file_info_general.readonly;
146
		ch_read_only.checked = file_info_general.readonly;
147
		ch_hidden.checked = file_info_general.hidden;
147
		ch_hidden.checked = file_info_general.hidden;
148
		ch_system.checked = file_info_general.system;
148
		ch_system.checked = file_info_general.system;
149
	}
149
	}
150
	edit_box_set_text stdcall (#path_to_file_ed, path);
150
	edit_box_set_text stdcall (#path_to_file_ed, path);
151
	
151
	
152
	SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
152
	SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
153
	loop() switch(WaitEvent())
153
	loop() switch(WaitEvent())
154
	{
154
	{
155
		case evButton: 
155
		case evButton: 
156
				id=GetButtonID();
156
				id=GetButtonID();
157
				ch_read_only.click(id);
157
				ch_read_only.click(id);
158
				ch_hidden.click(id);
158
				ch_hidden.click(id);
159
				ch_system.click(id);
159
				ch_system.click(id);
160
				if (apply_question_active)
160
				if (apply_question_active)
161
				{
161
				{
162
					IF (id==B_SETINGS_APPLY_SUBFOLDER) 
162
					IF (id==B_SETINGS_APPLY_SUBFOLDER) 
163
						SetProperties(SET_PROPERTIES_ALL_SUBFOLDER);
163
						SetProperties(SET_PROPERTIES_ALL_SUBFOLDER);
164
					IF (id==B_SETINGS_APPLY_NO_SUBFOLDER) 
164
					IF (id==B_SETINGS_APPLY_NO_SUBFOLDER) 
165
						SetProperties(SET_PROPERTIES_NO_SUBFOLDER);
165
						SetProperties(SET_PROPERTIES_NO_SUBFOLDER);
166
					break;
166
					break;
167
				}
167
				}
168
				if (id==1) || (id==B_CLOSE)
168
				if (id==1) || (id==B_CLOSE)
169
				{
169
				{
170
					cmd_free=3;
170
					cmd_free=3;
171
					ExitProcess();
171
					ExitProcess();
172
				}
172
				}
173
				if (id==B_APPLY) goto _APPLY_PROPERTIES;
173
				if (id==B_APPLY) goto _APPLY_PROPERTIES;
174
				break;
174
				break;
175
				
175
				
176
		case evMouse:
176
		case evMouse:
177
				edit_box_mouse stdcall (#file_name_ed);
177
				edit_box_mouse stdcall (#file_name_ed);
178
				edit_box_mouse stdcall (#path_to_file_ed);
178
				edit_box_mouse stdcall (#path_to_file_ed);
179
				break;
179
				break;
180
			
180
			
181
		case evKey:
181
		case evKey:
182
				GetKeys();
182
				GetKeys();
183
 
183
 
184
				if (apply_question_active)
184
				if (apply_question_active)
185
				{
185
				{
186
					IF (key_scancode==SCAN_CODE_ENTER) 
186
					IF (key_scancode==SCAN_CODE_ENTER) 
187
						SetProperties(SET_PROPERTIES_ALL_SUBFOLDER);
187
						SetProperties(SET_PROPERTIES_ALL_SUBFOLDER);
188
					IF (key_scancode==SCAN_CODE_ESC) 
188
					IF (key_scancode==SCAN_CODE_ESC) 
189
						SetProperties(SET_PROPERTIES_NO_SUBFOLDER);
189
						SetProperties(SET_PROPERTIES_NO_SUBFOLDER);
190
					break;
190
					break;
191
				}
191
				}
192
 
192
 
193
				switch(key_scancode)
193
				switch(key_scancode)
194
				{
194
				{
195
					case SCAN_CODE_ESC:
195
					case SCAN_CODE_ESC:
196
						cmd_free=3;
196
						cmd_free=3;
197
						ExitProcess();
197
						ExitProcess();
198
						break;
198
						break;
199
 
199
 
200
					case SCAN_CODE_ENTER:
200
					case SCAN_CODE_ENTER:
201
						_APPLY_PROPERTIES:
201
						_APPLY_PROPERTIES:
202
						if (getSelectedCount()) || (itdir) {
202
						if (getSelectedCount()) || (itdir) {
203
							ShowConfirmQuestionPopin();
203
							ShowConfirmQuestionPopin();
204
						} else {
204
						} else {
205
							SetProperties(SET_PROPERTIES_SINGLE_FILE);
205
							SetProperties(SET_PROPERTIES_SINGLE_FILE);
206
						}
206
						}
207
						break;
207
						break;
208
 
208
 
209
					case SCAN_CODE_KEY_A:
209
					case SCAN_CODE_KEY_A:
210
					case SCAN_CODE_KEY_C:
210
					case SCAN_CODE_KEY_C:
211
						if (key_modifier & KEY_LCTRL) || (key_modifier & KEY_RCTRL) {
211
						if (key_modifier & KEY_LCTRL) || (key_modifier & KEY_RCTRL) { 
212
							EAX = key_editbox; 
212
							edit_box_key_c stdcall(#file_name_ed,key_editbox);
213
							edit_box_key stdcall(#file_name_ed);
-
 
214
							edit_box_key stdcall(#path_to_file_ed);
213
							edit_box_key_c stdcall(#path_to_file_ed,key_editbox);
215
						}
214
						}
216
				}
215
				}
217
				break;
216
				break;
218
				
217
				
219
		case evReDraw:
218
		case evReDraw:
220
				DrawPropertiesWindow();
219
				DrawPropertiesWindow();
221
	}
220
	}
222
}
221
}
223
 
222
 
224
void DrawPropertiesWindow()
223
void DrawPropertiesWindow()
225
{
224
{
226
	proc_info pform;
225
	proc_info pform;
227
	dword ext1;
226
	dword ext1;
228
	incn y;
227
	incn y;
229
	char temp_path[PATHLEN];
228
	char temp_path[PATHLEN];
230
	bool show_date = false;
229
	bool show_date = false;
231
 
230
 
232
	dword p_t_formated_size;
231
	dword p_t_formated_size;
233
	dword p_q_size_bytes;
232
	dword p_q_size_bytes;
234
	dword t_contains_files_and_folders[200];
233
	dword t_contains_files_and_folders[200];
235
 
234
 
236
	if (chrnum(path, '/')>1) || (streq(path, "/kolibrios")) || (streq(path, "/sys")) show_date = true;
235
	if (chrnum(path, '/')>1) || (streq(path, "/kolibrios")) || (streq(path, "/sys")) show_date = true;
237
	if (getSelectedCount()) show_date = false;
236
	if (getSelectedCount()) show_date = false;
238
 
237
 
239
	DefineAndDrawWindow(Form.left + 150,150,315,show_date*60+342+skin_h,0x34,sc.work,WINDOW_TITLE_PROPERTIES,0);
238
	DefineAndDrawWindow(Form.left + 150,150,315,show_date*60+342+skin_h,0x34,sc.work,WINDOW_TITLE_PROPERTIES,0);
240
	GetProcessInfo(#pform, SelfInfo);
239
	GetProcessInfo(#pform, SelfInfo);
241
 
240
 
242
	DrawStandartCaptButton(pform.cwidth - 96, pform.cheight-34, B_CLOSE, T_CLOSE);
241
	DrawStandartCaptButton(pform.cwidth - 96, pform.cheight-34, B_CLOSE, T_CLOSE);
243
	DrawStandartCaptButton(pform.cwidth -208, pform.cheight-34, B_APPLY, T_APPLY);
242
	DrawStandartCaptButton(pform.cwidth -208, pform.cheight-34, B_APPLY, T_APPLY);
244
	
243
	
245
	if (getSelectedCount())
244
	if (getSelectedCount())
246
	{
245
	{
247
		PropertiesDrawIcon(NULL, "");
246
		PropertiesDrawIcon(NULL, "");
248
		WriteText(file_name_ed.left+4, 30, 0x90, sc.work_text, T_BULK_SELECTION);
247
		WriteText(file_name_ed.left+4, 30, 0x90, sc.work_text, T_BULK_SELECTION);
249
		p_t_formated_size = ConvertSize64(more_files_count.sizelo, more_files_count.sizehi);
248
		p_t_formated_size = ConvertSize64(more_files_count.sizelo, more_files_count.sizehi);
250
		p_q_size_bytes = #more_files_count.sizelo;
249
		p_q_size_bytes = #more_files_count.sizelo;
251
		sprintf(#t_contains_files_and_folders,T_FILES_FOLDERS,more_files_count.files,more_files_count.folders);
250
		sprintf(#t_contains_files_and_folders,T_FILES_FOLDERS,more_files_count.files,more_files_count.folders);
252
	} else {
251
	} else {
253
		WriteText(file_name_ed.left, file_name_ed.top-15, 0x80, sc.work_text, T_NAME);
252
		WriteText(file_name_ed.left, file_name_ed.top-15, 0x80, sc.work_text, T_NAME);
254
		DrawEditBox(#file_name_ed);
253
		DrawEditBox(#file_name_ed);
255
		if (itdir) {
254
		if (itdir) {
256
			PropertiesDrawIcon(NULL, "");
255
			PropertiesDrawIcon(NULL, "");
257
			p_t_formated_size = ConvertSize64(dir_size.sizelo, dir_size.sizehi);
256
			p_t_formated_size = ConvertSize64(dir_size.sizelo, dir_size.sizehi);
258
			p_q_size_bytes = #dir_size.sizelo;
257
			p_q_size_bytes = #dir_size.sizelo;
259
			sprintf(#t_contains_files_and_folders,T_FILES_FOLDERS,dir_size.files,dir_size.folders);
258
			sprintf(#t_contains_files_and_folders,T_FILES_FOLDERS,dir_size.files,dir_size.folders);
260
		} else {
259
		} else {
261
			sprintf(#temp_path,"%s/%s",path,#file_name2);
260
			sprintf(#temp_path,"%s/%s",path,#file_name2);
262
			if (ext1 = strrchr(#file_name2,'.')) ext1 += #file_name2;
261
			if (ext1 = strrchr(#file_name2,'.')) ext1 += #file_name2;
263
			PropertiesDrawIcon(#temp_path, ext1);
262
			PropertiesDrawIcon(#temp_path, ext1);
264
			p_t_formated_size = ConvertSize64(file_info_general.sizelo, file_info_general.sizehi);
263
			p_t_formated_size = ConvertSize64(file_info_general.sizelo, file_info_general.sizehi);
265
			p_q_size_bytes = #file_info_general.sizelo;
264
			p_q_size_bytes = #file_info_general.sizelo;
266
			sprintf(#t_contains_files_and_folders,T_DATA);
265
			sprintf(#t_contains_files_and_folders,T_DATA);
267
		}	
266
		}	
268
	}
267
	}
269
	WriteTextLines(10, y.set(78), 0x90, sc.work_text, T_PATH_SIZE, 20);
268
	WriteTextLines(10, y.set(78), 0x90, sc.work_text, T_PATH_SIZE, 20);
270
	edit_box_draw stdcall (#path_to_file_ed);
269
	edit_box_draw stdcall (#path_to_file_ed);
271
 
270
 
272
	WriteText(120, y.inc(20), 0x90, sc.work_text, p_t_formated_size);
271
	WriteText(120, y.inc(20), 0x90, sc.work_text, p_t_formated_size);
273
	WriteNumber(120, y.inc(20), 0x90, sc.work_text, 0xc0140001, p_q_size_bytes);
272
	WriteNumber(120, y.inc(20), 0x90, sc.work_text, 0xc0140001, p_q_size_bytes);
274
	WriteText(120, y.inc(20), 0x90, sc.work_text, #t_contains_files_and_folders);
273
	WriteText(120, y.inc(20), 0x90, sc.work_text, #t_contains_files_and_folders);
275
 
274
 
276
	if (show_date) {
275
	if (show_date) {
277
		WriteTextLines(10, y.inc(32), 0x90, sc.work_text, CREATED_OPENED_MODIFIED, 20);
276
		WriteTextLines(10, y.inc(32), 0x90, sc.work_text, CREATED_OPENED_MODIFIED, 20);
278
		DrawDateTime(120, y.n, sc.work_text, #file_info_general.datecreate, #file_info_general.timecreate);
277
		DrawDateTime(120, y.n, sc.work_text, #file_info_general.datecreate, #file_info_general.timecreate);
279
		DrawDateTime(120, y.inc(20), sc.work_text, #file_info_general.datelastaccess, #file_info_general.timelastaccess);
278
		DrawDateTime(120, y.inc(20), sc.work_text, #file_info_general.datelastaccess, #file_info_general.timelastaccess);
280
		DrawDateTime(120, y.inc(20), sc.work_text, #file_info_general.datelastedit, #file_info_general.timelastedit);			
279
		DrawDateTime(120, y.inc(20), sc.work_text, #file_info_general.datelastedit, #file_info_general.timelastedit);			
281
	}
280
	}
282
 
281
 
283
	DrawFrame(10, y.set(pform.cheight - 143), -10*2 + pform.cwidth - 2, 92, FLAGS);
282
	DrawFrame(10, y.set(pform.cheight - 143), -10*2 + pform.cwidth - 2, 92, FLAGS);
284
	ch_read_only.draw(24, y.inc(18));
283
	ch_read_only.draw(24, y.inc(18));
285
	ch_hidden.draw(24, y.inc(24));
284
	ch_hidden.draw(24, y.inc(24));
286
	ch_system.draw(24, y.inc(24));
285
	ch_system.draw(24, y.inc(24));
287
	if (apply_question_active) ShowConfirmQuestionPopin();
286
	if (apply_question_active) ShowConfirmQuestionPopin();
288
}
287
}
289
 
288
 
290
void PropertiesDrawIcon(dword file_path, extension)
289
void PropertiesDrawIcon(dword file_path, extension)
291
{
290
{
292
	int icon_n = ini_icons.get(file_path, extension, 32);
291
	int icon_n = ini_icons.get(file_path, extension, 32);
293
	draw_icon_32(12, 22, sc.work, icon_n);
292
	draw_icon_32(12, 22, sc.work, icon_n);
294
}
293
}