Subversion Repositories Kolibri OS

Rev

Rev 5450 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5447 punk_joker 1
#ifdef LANG_RUS
2
	?define PROP_TITLE "Свойства"
3
	?define BTN_CLOSE "Закрыть"
4
	?define SET_1 "Расположение"
5
	?define SET_2 "Размер"
6
	?define SET_3 "Создан"
7
	?define SET_4 "Открыт"
8
	?define SET_5 "Изменен"
9
	?define SET_6 "Файлов: "
10
	?define SET_7 " Папок: "
11
	?define SET_8 "Содержит "
12
	?define HIDDEN_T "Скрытый"
13
	?define SYSTEM_T "Системный"
14
	?define ONLY_READ_T "Только чтение"
15
#elif LANG_EST
16
	?define PROP_TITLE "Свойства"
17
	?define BTN_CLOSE "Закрыть"
18
	?define SET_1 "Расположение"
19
	?define SET_2 "Размер"
20
	?define SET_3 "Создан"
21
	?define SET_4 "Открыт"
22
	?define SET_5 "Изменен"
23
	?define SET_6 "Файлов: "
24
	?define SET_7 " Папок: "
25
	?define SET_8 "Содержит "
26
	?define HIDDEN_T "Скрытый"
27
	?define SYSTEM_T "Системный"
28
	?define ONLY_READ_T "Только чтение"
29
#else
30
	?define PROP_TITLE "Свойства"
31
	?define BTN_CLOSE "Закрыть"
32
	?define SET_1 "Расположение"
33
	?define SET_2 "Размер"
34
	?define SET_3 "Создан"
35
	?define SET_4 "Открыт"
36
	?define SET_5 "Изменен"
37
	?define SET_6 "Файлов: "
38
	?define SET_7 " Папок: "
39
	?define SET_8 "Содержит "
40
	?define HIDDEN_T "Скрытый"
41
	?define SYSTEM_T "Системный"
42
	?define ONLY_READ_T "Только чтение"
43
#endif
44
 
45
dword mouse_ddd2;
46
char path_to_file[4096]="\0";
47
char file_name2[4096]="\0";
48
edit_box file_name_ed = {100,30,5,0xffffff,0x94AECE,0x000000,0xffffff,2,4098,#file_name2,#mouse_ddd2, 1000000000000000b,2,2};
49
edit_box path_to_file_ed = {100,100,27,0xffffff,0x94AECE,0x000000,0xffffff,2,4098,#path_to_file,#mouse_ddd2, 1000000000000000b,2,2};
50
checkbox2 HIDDEN_chb = {10*65536+15, 115*65536+15, 5, 0xffffff, 0x9098B0, 0x80000000, HIDDEN_T, CH_FLAG_MIDDLE, 0};
51
checkbox2 SYSTEM_chb = {90*65536+15, 115*65536+15, 5, 0xffffff, 0x9098B0, 0x80000000, SYSTEM_T, CH_FLAG_MIDDLE, 0};
52
checkbox2 ONLY_READ_chb = {180*65536+15, 115*65536+15, 5, 0xffffff, 0x9098B0, 0x80000000, ONLY_READ_T, CH_FLAG_MIDDLE, 0};
53
 
54
int file_count, dir_count, size_dir;
55
char folder_info[200];
56
BDVK file_info2;
57
 
58
void GetSizeDir(dword way)
59
{
60
	dword dirbuf, fcount, i, filename;
61
	char cur_file[4096];
62
	if (isdir(way))
63
	{
64
		GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL);
65
		for (i=0; i
66
		{
67
			filename = i*304+dirbuf+72;
68
			strcpy(#cur_file, way);
69
			chrcat(#cur_file, '/');
70
			strcat(#cur_file, filename);
71
			if ( TestBit(ESDWORD[filename-40], 4) )
72
			{
73
				dir_count++;
74
				GetSizeDir(#cur_file);
75
			}
76
			else
77
			{
78
				GetFileInfo(#cur_file, #file_info2);
79
				size_dir = size_dir + file_info2.sizelo;
80
				file_count++;
81
			}
82
		}
83
	}
84
}
85
 
86
void properties_dialog()
87
{
88
	byte id;
89
	unsigned int key;
90
	dword file_name_off;
91
	BDVK file_info;
92
	proc_info settings_form;
93
 
94
	strcpy(#folder_info, "\0");
95
	file_count = 0;
96
	dir_count = 0;
97
	size_dir = 0;
98
	GetFileInfo(#file_path, #file_info);
99
	strcpy(#file_name2, #file_name);
100
	file_name_ed.size = strlen(#file_name2);
101
	strcpy(#path_to_file, #path);
102
	path_to_file_ed.size = strlen(#path_to_file);
103
 
104
	SetEventMask(0x27);
105
	loop() switch(WaitEvent())
106
	{
107
		case evButton:
108
				id=GetButtonID();
109
				IF (id==1) || (id==10) ExitProcess();
110
				break;
111
 
112
		case evMouse:
113
				edit_box_mouse stdcall (#file_name_ed);
114
				edit_box_mouse stdcall (#path_to_file_ed);
115
				break;
116
 
117
		case evKey:
118
				key = GetKey();
119
				IF (key==27) ExitProcess();
120
				EAX=key<<8;
121
				edit_box_key stdcall(#file_name_ed);
122
				edit_box_key stdcall(#path_to_file_ed);
123
				break;
124
 
125
		case evReDraw:
126
				DefineAndDrawWindow(Form.left + 150,150,300,228+GetSkinHeight(),0x34,sc.work,PROP_TITLE);
127
				GetProcessInfo(#settings_form, SelfInfo);
128
				DrawFlatButton(208, settings_form.cheight - 34, 70, 22, 10, 0xE4DFE1, BTN_CLOSE);
129
				if (! TestBit(file_info.attr, 4) ) Put_icon(#file_name2+strrchr(#file_name2,'.'), 10, 5, sc.work, 0);
130
				else Put_icon("", 10, 5, sc.work, 0);
131
				WriteText(10, 30, 0x80, 0x000000, SET_1);
132
				edit_box_draw stdcall (#file_name_ed);
133
				edit_box_draw stdcall (#path_to_file_ed);
134
				WriteText(10, 47, 0x80, 0x000000, SET_2);
135
				/*WriteText(10, 63, 0x80, 0x000000, SET_3);
136
				if (!itdir)
137
				{
138
					WriteText(10, 78, 0x80, 0x000000, SET_4);
139
					WriteText(10, 93, 0x80, 0x000000, SET_5);
140
				}*/
141
				if (TestBit(file_info.attr, 0)) ONLY_READ_chb.flags = 110b;
142
				if (TestBit(file_info.attr, 1)) HIDDEN_chb.flags = 110b;
143
				if (TestBit(file_info.attr, 2)) SYSTEM_chb.flags = 110b;
144
				if (!itdir)
145
				{
146
					WriteText(100, 47, 0x80, 0x000000, ConvertSize(file_info.sizelo));
147
				}
148
				else
149
				{
150
					WriteText(10, 63, 0x80, 0x000000, SET_8);
151
					GetSizeDir(#file_path);
152
					strcat(#folder_info, SET_6);
153
					strcat(#folder_info, itoa(file_count));
154
					strcat(#folder_info, SET_7);
155
					strcat(#folder_info, itoa(dir_count));
156
					WriteText(100, 63, 0x80, 0x000000, #folder_info);
157
					WriteText(100, 47, 0x80, 0x000000, ConvertSize(size_dir));
158
				}
159
				check_box_draw stdcall (#HIDDEN_chb);
160
				check_box_draw stdcall (#SYSTEM_chb);
161
				check_box_draw stdcall (#ONLY_READ_chb);
162
	}
163
}