Subversion Repositories Kolibri OS

Rev

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

Rev 5633 Rev 5634
1
//Leency 2008-2013
1
//Leency 2008-2013
2
 
2
 
3
#ifdef LANG_RUS
3
#ifdef LANG_RUS
4
	?define T_DEVICES "“áâனá⢠"
4
	?define T_DEVICES "“áâனá⢠"
5
	?define T_ACTIONS "„¥©á⢨ï"
5
	?define T_ACTIONS "„¥©á⢨ï"
6
	char *actions[] = {
6
	char *actions[] = {
7
		57, "®¢ë© ä ©«", "F7",
7
		57, "®¢ë© ä ©«", "F7",
8
		56, "®¢ ï ¯ ¯ª ", "F6",
8
		56, "®¢ ï ¯ ¯ª ", "F6",
9
		60, " áâனª¨", "F10",
9
		60, " áâனª¨", "F10",
10
		0,0,0
10
		0,0,0
11
	};
11
	};
12
	?define T_PROG "à®£à ¬¬ë "
12
	?define T_PROG "à®£à ¬¬ë "
13
	?define T_SYS  "‘¨á⥬  "
13
	?define T_SYS  "‘¨á⥬  "
14
	?define T_UNC  "¥¨§¢¥áâ­® "
14
	?define T_UNC  "¥¨§¢¥áâ­® "
15
	?define T_CD   "CD-ROM "
15
	?define T_CD   "CD-ROM "
16
	?define T_FD   "„¨áª¥â  "
16
	?define T_FD   "„¨áª¥â  "
17
	?define T_HD   "†¥á⪨© ¤¨áª "
17
	?define T_HD   "†¥á⪨© ¤¨áª "
18
	?define T_SATA "SATA ¤¨áª "
18
	?define T_SATA "SATA ¤¨áª "
19
	?define T_USB  "USB ¤¨áª "
19
	?define T_USB  "USB ¤¨áª "
20
	?define T_RAM  "RAM ¤¨áª "
20
	?define T_RAM  "RAM ¤¨áª "
21
#elif LANG_EST
21
#elif LANG_EST
22
	?define T_DEVICES "Seadmed"
22
	?define T_DEVICES "Seadmed"
23
	?define T_ACTIONS "Toimingud"
23
	?define T_ACTIONS "Toimingud"
24
	char *actions[] = {
24
	char *actions[] = {
25
		57, "Uus fail", "F7",
25
		57, "Uus fail", "F7",
26
		56, "Uus kataloog", "F6",
26
		56, "Uus kataloog", "F6",
27
		60, "Seaded", "F10",
27
		60, "Seaded", "F10",
28
		0,0,0
28
		0,0,0
29
	};
29
	};
30
	?define T_PROG "Programs "
30
	?define T_PROG "Programs "
31
	?define T_SYS  "System "
31
	?define T_SYS  "System "
32
	?define T_UNC  "Unknown "
32
	?define T_UNC  "Unknown "
33
	?define T_CD   "CD-ROM "
33
	?define T_CD   "CD-ROM "
34
	?define T_FD   "Floppy disk "
34
	?define T_FD   "Floppy disk "
35
	?define T_HD   "Hard disk "
35
	?define T_HD   "Hard disk "
36
	?define T_SATA "SATA disk"
36
	?define T_SATA "SATA disk"
37
	?define T_USB  "USB disk"
37
	?define T_USB  "USB disk"
38
	?define T_RAM  "RAM disk"
38
	?define T_RAM  "RAM disk"
39
#else
39
#else
40
	?define T_DEVICES "Devices"
40
	?define T_DEVICES "Devices"
41
	?define T_ACTIONS "Actions"
41
	?define T_ACTIONS "Actions"
42
	char *actions[] = {
42
	char *actions[] = {
43
		57, "New file", "F7",
43
		57, "New file", "F7",
44
		56, "New folder", "F6",
44
		56, "New folder", "F6",
45
		60, "Settings", "F10",
45
		60, "Settings", "F10",
46
		0,0,0
46
		0,0,0
47
	};
47
	};
48
	?define T_PROG "Programs "
48
	?define T_PROG "Programs "
49
	?define T_SYS  "System "
49
	?define T_SYS  "System "
50
	?define T_UNC  "Unknown "
50
	?define T_UNC  "Unknown "
51
	?define T_CD   "CD-ROM "
51
	?define T_CD   "CD-ROM "
52
	?define T_FD   "Floppy disk "
52
	?define T_FD   "Floppy disk "
53
	?define T_HD   "Hard disk "
53
	?define T_HD   "Hard disk "
54
	?define T_SATA "SATA disk"
54
	?define T_SATA "SATA disk"
55
	?define T_USB  "USB disk"
55
	?define T_USB  "USB disk"
56
	?define T_RAM  "RAM disk"
56
	?define T_RAM  "RAM disk"
57
#endif
57
#endif
58
 
58
 
59
 
59
 
60
void Tip(int y, dword caption, id, arrow)
60
void Tip(int y, dword caption, id, arrow)
61
{
61
{
62
	int i;
62
	int i;
63
	DrawBar(17,y,160,1,0xEFEDEE);
63
	DrawBar(17,y,160,1,0xEFEDEE);
64
	DrawFilledBar(17, y+1, 160, 16);
64
	DrawFilledBar(17, y+1, 160, 16);
65
	WriteText(25,y+5,0x80,sc.work_text,caption);
65
	WriteText(25,y+5,0x80,sc.work_text,caption);
66
	if (id) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0); //arrow button
66
	if (id) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0); //arrow button
67
	WriteText(165,y+5,0x80,sc.work_text,arrow); //arrow
67
	WriteText(165,y+5,0x80,sc.work_text,arrow); //arrow
68
	DrawBar(17,y+17,160,1,sc.work_graph);
68
	DrawBar(17,y+17,160,1,sc.work_graph);
69
}
69
}
70
 
70
 
71
 
71
 
72
path_string disk_list[30];
72
path_string disk_list[30];
73
int disc_num;
73
int disc_num;
74
dword devbuf;
74
dword devbuf;
75
 
75
 
76
 
76
 
77
void GetSystemDiscs()
77
void GetSystemDiscs()
78
{
78
{
79
	char dev_name[10], sys_discs[10];
79
	char dev_name[10], sys_discs[10];
80
	int i1, j1, dev_num, dev_disc_num,l;
80
	int i1, j1, dev_num, dev_disc_num,l;
81
	disc_num=0;
81
	disc_num=0;
82
	if (devbuf) free(devbuf);
82
	if (devbuf) free(devbuf);
83
	devbuf = malloc(10000); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
83
	devbuf = malloc(10000); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
84
	ReadDir(19, devbuf, "/");
84
	ReadDir(19, devbuf, "/");
85
	dev_num = EBX;
85
	dev_num = EBX;
86
	for (i1=0; i1
86
	for (i1=0; i1
87
	{
87
	{
88
		sprintf(#dev_name,"/%s/",i1*304+ devbuf+72);
88
		sprintf(#dev_name,"/%s/",i1*304+ devbuf+72);
89
		Open_Dir(#dev_name, ONLY_OPEN);
89
		Open_Dir(#dev_name, ONLY_OPEN);
90
		dev_disc_num = files.count;
90
		dev_disc_num = files.count;
91
		//if (files.count<=0) copystr(#dev_name,#disk_list[disc_num].Item); else
91
		//if (files.count<=0) copystr(#dev_name,#disk_list[disc_num].Item); else
92
		for (j1=0; j1
92
		for (j1=0; j1
93
		{
93
		{
94
			l=sprintf(#sys_discs,"%s%s/",#dev_name,j1*304+ buf+72);
94
			l=sprintf(#sys_discs,"%s%s/",#dev_name,j1*304+ buf+72);
95
			strncpy(#disk_list[disc_num].Item, #sys_discs,l);
95
			strncpy(#disk_list[disc_num].Item, #sys_discs,l);
96
			disc_num++;
96
			disc_num++;
97
		}
97
		}
98
		if (!strncmp(#sys_discs, "/rd/1/",6)) 
98
		if (!strncmp(#sys_discs, "/rd/1/",6)) 
99
		{
99
		{
100
			if (isdir("/kolibrios"))
100
			if (isdir("/kolibrios"))
101
			{
101
			{
102
				strncpy(#disk_list[disc_num].Item, "/kolibrios/",11);
102
				strncpy(#disk_list[disc_num].Item, "/kolibrios/",11);
103
				kolibrios_drive = true;
103
				kolibrios_drive = true;
104
				disc_num++;	
104
				disc_num++;	
105
			}
105
			}
106
			else kolibrios_drive = false;
106
			else kolibrios_drive = false;
107
		}
107
		}
108
	}
108
	}
109
}
109
}
110
 
110
 
111
 
111
 
112
void DrawSystemDiscs()
112
void DrawSystemDiscs()
113
{    
113
{    
114
	char dev_name[15], disc_name[100];
114
	char dev_name[15], disc_name[100], i, dev_icon, is_active;
115
	int i, dev_icon, pos_y;
115
	int pos_y;
116
	
116
	
117
	for (i=disc_num; i<30; i++) DeleteButton(100+i);
117
	for (i=disc_num; i<30; i++) DeleteButton(100+i);
118
	for (i=0;i
118
	for (i=0;i
119
	{
119
	{
120
		pos_y = i*16+74;
120
		pos_y = i*16+74;
121
		DrawBar(17,pos_y,160,17,0xFFFFFF);
121
		DrawBar(17,pos_y,6,17,0xFFFFFF);
-
 
122
		DrawBar(17+6+18,pos_y,160-6-18,17,0xFFFFFF);
122
		DefineButton(17,pos_y,159,16,100+i+BT_HIDE,0xFFFFFF);
123
		DefineButton(17,pos_y,159,16,100+i+BT_HIDE,0xFFFFFF);
123
		strcpy(#dev_name, #disk_list[i].Item);
124
		strcpy(#dev_name, #disk_list[i].Item);
124
		dev_name[strlen(#dev_name)-1]=NULL;
125
		dev_name[strlen(#dev_name)-1]=NULL;
125
		switch(dev_name[1])
126
		switch(dev_name[1])
126
		{
127
		{
127
			case 'k':
128
			case 'k':
128
				dev_icon=0;
129
				dev_icon=0;
129
				strcpy(#disc_name, T_PROG);
130
				strcpy(#disc_name, T_PROG);
130
				break;
131
				break;
131
			case 'r':
132
			case 'r':
132
				dev_icon=0;
133
				dev_icon=0;
133
				strcpy(#disc_name, T_SYS);
134
				strcpy(#disc_name, T_SYS);
134
				break;
135
				break;
135
			case 'c':
136
			case 'c':
136
				dev_icon=1;
137
				dev_icon=1;
137
				strcpy(#disc_name, T_CD);
138
				strcpy(#disc_name, T_CD);
138
				break;
139
				break;
139
			case 'f':
140
			case 'f':
140
				dev_icon=2;
141
				dev_icon=2;
141
				strcpy(#disc_name, T_FD);
142
				strcpy(#disc_name, T_FD);
142
				break;
143
				break;
143
			case 'h':
144
			case 'h':
144
			case 'b':
145
			case 'b':
145
				dev_icon=3;
146
				dev_icon=3;
146
				strcpy(#disc_name, T_HD);
147
				strcpy(#disc_name, T_HD);
147
				break;
148
				break;
148
			case 's':
149
			case 's':
149
				dev_icon=3;
150
				dev_icon=3;
150
				strcpy(#disc_name, T_SATA);
151
				strcpy(#disc_name, T_SATA);
151
				break;
152
				break;
152
			case 'u':
153
			case 'u':
153
				dev_icon=5;
154
				dev_icon=5;
154
				strcpy(#disc_name, T_USB);
155
				strcpy(#disc_name, T_USB);
155
				break;
156
				break;
156
			case 't':
157
			case 't':
157
				dev_icon=4;
158
				dev_icon=4;
158
				strcpy(#disc_name, T_RAM);
159
				strcpy(#disc_name, T_RAM);
159
				break;
160
				break;
160
			default:
161
			default:
161
				dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê íî ýòî íåïðàâèëüíî
162
				dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê íî ýòî íåïðàâèëüíî
162
				strcpy(#disc_name, T_UNC);				
163
				strcpy(#disc_name, T_UNC);				
163
		}
164
		}
-
 
165
		if (strstr(#path, #dev_name)) is_active=true; else is_active=false;
164
		if (show_dev_name)
166
		if (show_dev_name)
165
		{
167
		{
166
			strcat(#disc_name, #dev_name);
168
			strcat(#disc_name, #dev_name);
167
			if (strstr(#path, #dev_name)) WriteText(45+1,pos_y+5,0x80,0x555555,#disc_name);
169
			if (is_active) WriteText(46+1,pos_y+5,0x80,0x555555,#disc_name);
168
			WriteText(45,pos_y+5,0x80,0,#disc_name);
170
			WriteText(46,pos_y+5,0x80,0,#disc_name);
169
		}
171
		}
170
		else
172
		else
171
		{
173
		{
172
			if (strstr(#path, #dev_name)) WriteText(45+1,pos_y+5,0x80,0x555555,#dev_name);
174
			if (is_active) WriteText(46+1,pos_y+5,0x80,0x555555,#dev_name);
173
			WriteText(45,pos_y+5,0x80,0,#dev_name);
175
			WriteText(46,pos_y+5,0x80,0,#dev_name);
174
		}
176
		}
175
		_PutImage(23,pos_y+2, 14,13, dev_icon*14*13*3+#devices);
177
		_PutImage(23,pos_y, 18,17, is_active*6+dev_icon*17*18*3+#devices);
176
	}
178
	}
177
}
179
}
178
 
180
 
179
void ActionsDraw()
181
void ActionsDraw()
180
{
182
{
181
	int actions_y=disc_num*16+108, lineh=16;
183
	int actions_y=disc_num*16+108, lineh=16;
182
	Tip(actions_y-18, T_ACTIONS, 77, ""); //çàãîëîâîê
184
	Tip(actions_y-18, T_ACTIONS, 77, ""); //çàãîëîâîê
183
	for (i=0; actions[i*3]!=0; i++, actions_y+=lineh)
185
	for (i=0; actions[i*3]!=0; i++, actions_y+=lineh)
184
	{
186
	{
185
		DrawBar(17,actions_y,160,lineh,0xFFFFFF); //áåëîå
187
		DrawBar(17,actions_y,160,lineh,0xFFFFFF); //áåëîå
186
		DefineButton(17,actions_y,159,lineh,actions[i*3]+BT_HIDE,0xE4DFE1);
188
		DefineButton(17,actions_y,159,lineh,actions[i*3]+BT_HIDE,0xE4DFE1);
187
		WriteText(45,actions_y+4,0x80,0,actions[i*3+1]);
189
		WriteText(45,actions_y+4,0x80,0,actions[i*3+1]);
188
		WriteText(-strlen(actions[i*3+2])*6+170,actions_y+4,0x80,0x999999,actions[i*3+2]);
190
		WriteText(-strlen(actions[i*3+2])*6+170,actions_y+4,0x80,0x999999,actions[i*3+2]);
189
		_PutImage(23,actions_y+2, 14,13, i*14*13*3+#factions);
191
		_PutImage(23,actions_y+2, 14,13, i*14*13*3+#factions);
190
	}
192
	}
191
}
193
}
192
 
194
 
193
 
195
 
194
void DrawLeftPanelBg()
196
void DrawLeftPanelBg()
195
{
197
{
196
	int actions_y=disc_num*16;
198
	int actions_y=disc_num*16;
197
	int start_y = actions_y+156;
199
	int start_y = actions_y+156;
198
	DrawBar(2,41,190,15,col_lpanel);		      //ñèíèé ïðÿìîóãîëüíèê - íàä äåâàéñàìè
200
	DrawBar(2,41,190,15,col_lpanel);		      //ñèíèé ïðÿìîóãîëüíèê - íàä äåâàéñàìè
199
	DrawBar(17,actions_y+75,160,15,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè
201
	DrawBar(17,actions_y+75,160,15,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè
200
	PutShadow(17,actions_y+75,160,1,1,3);
202
	PutShadow(17,actions_y+75,160,1,1,3);
201
	PutShadow(18,actions_y+75+1,158,1,1,1);
203
	PutShadow(18,actions_y+75+1,158,1,1,1);
202
	DrawBar(2,56,15,actions_y+103,col_lpanel);	          //ñèíèé ïðÿìîóãîëüíèê - ñëåâà       
204
	DrawBar(2,56,15,actions_y+103,col_lpanel);	          //ñèíèé ïðÿìîóãîëüíèê - ñëåâà       
203
	DrawBar(177,56,15,actions_y+103,col_lpanel);            //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
205
	DrawBar(177,56,15,actions_y+103,col_lpanel);            //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
204
	if (onTop(start_y, 6) < 268)
206
	if (onTop(start_y, 6) < 268)
205
		PutPaletteImage(#blue_hl, 190, onTop(start_y, 6), 2, start_y, 8, #blue_hl_pal);
207
		PutPaletteImage(#blue_hl, 190, onTop(start_y, 6), 2, start_y, 8, #blue_hl_pal);
206
	else
208
	else
207
	{
209
	{
208
		DrawBar(2,start_y,190,onTop(start_y,6+268),col_lpanel);
210
		DrawBar(2,start_y,190,onTop(start_y,6+268),col_lpanel);
209
		PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), 8, #blue_hl_pal);
211
		PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), 8, #blue_hl_pal);
210
	}
212
	}
211
	PutShadow(17,start_y,160,1,1,3);
213
	PutShadow(17,start_y,160,1,1,3);
212
	PutShadow(18,start_y+1,158,1,1,1);
214
	PutShadow(18,start_y+1,158,1,1,1);
213
}
215
}
214
 
216
 
215
 
217
 
216
void DrawLeftPanel()
218
void DrawLeftPanel()
217
{
219
{
218
	Tip(56, T_DEVICES, 55, "=");
220
	Tip(56, T_DEVICES, 55, "=");
219
	DrawSystemDiscs();
221
	DrawSystemDiscs();
220
	ActionsDraw();
222
	ActionsDraw();
221
	DrawLeftPanelBg();
223
	DrawLeftPanelBg();
222
}
224
}
223
>
225
>