Subversion Repositories Kolibri OS

Rev

Rev 8983 | Rev 9576 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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