Subversion Repositories Kolibri OS

Rev

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

Rev 5634 Rev 5674
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,system.color.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,system.color.work_text,arrow); //arrow
68
	DrawBar(17,y+17,160,1,sc.work_graph);
68
	DrawBar(17,y+17,160,1,system.color.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], i, dev_icon, is_active;
114
	char dev_name[15], disc_name[100], i, dev_icon, is_active;
115
	int 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,6,17,0xFFFFFF);
121
		DrawBar(17,pos_y,6,17,0xFFFFFF);
122
		DrawBar(17+6+18,pos_y,160-6-18,17,0xFFFFFF);
122
		DrawBar(17+6+18,pos_y,160-6-18,17,0xFFFFFF);
123
		DefineButton(17,pos_y,159,16,100+i+BT_HIDE,0xFFFFFF);
123
		DefineButton(17,pos_y,159,16,100+i+BT_HIDE,0xFFFFFF);
124
		strcpy(#dev_name, #disk_list[i].Item);
124
		strcpy(#dev_name, #disk_list[i].Item);
125
		dev_name[strlen(#dev_name)-1]=NULL;
125
		dev_name[strlen(#dev_name)-1]=NULL;
126
		switch(dev_name[1])
126
		switch(dev_name[1])
127
		{
127
		{
128
			case 'k':
128
			case 'k':
129
				dev_icon=0;
129
				dev_icon=0;
130
				strcpy(#disc_name, T_PROG);
130
				strcpy(#disc_name, T_PROG);
131
				break;
131
				break;
132
			case 'r':
132
			case 'r':
133
				dev_icon=0;
133
				dev_icon=0;
134
				strcpy(#disc_name, T_SYS);
134
				strcpy(#disc_name, T_SYS);
135
				break;
135
				break;
136
			case 'c':
136
			case 'c':
137
				dev_icon=1;
137
				dev_icon=1;
138
				strcpy(#disc_name, T_CD);
138
				strcpy(#disc_name, T_CD);
139
				break;
139
				break;
140
			case 'f':
140
			case 'f':
141
				dev_icon=2;
141
				dev_icon=2;
142
				strcpy(#disc_name, T_FD);
142
				strcpy(#disc_name, T_FD);
143
				break;
143
				break;
144
			case 'h':
144
			case 'h':
145
			case 'b':
145
			case 'b':
146
				dev_icon=3;
146
				dev_icon=3;
147
				strcpy(#disc_name, T_HD);
147
				strcpy(#disc_name, T_HD);
148
				break;
148
				break;
149
			case 's':
149
			case 's':
150
				dev_icon=3;
150
				dev_icon=3;
151
				strcpy(#disc_name, T_SATA);
151
				strcpy(#disc_name, T_SATA);
152
				break;
152
				break;
153
			case 'u':
153
			case 'u':
154
				dev_icon=5;
154
				dev_icon=5;
155
				strcpy(#disc_name, T_USB);
155
				strcpy(#disc_name, T_USB);
156
				break;
156
				break;
157
			case 't':
157
			case 't':
158
				dev_icon=4;
158
				dev_icon=4;
159
				strcpy(#disc_name, T_RAM);
159
				strcpy(#disc_name, T_RAM);
160
				break;
160
				break;
161
			default:
161
			default:
162
				dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê íî ýòî íåïðàâèëüíî
162
				dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê íî ýòî íåïðàâèëüíî
163
				strcpy(#disc_name, T_UNC);				
163
				strcpy(#disc_name, T_UNC);				
164
		}
164
		}
165
		if (strstr(#path, #dev_name)) is_active=true; else is_active=false;
165
		if (strstr(#path, #dev_name)) is_active=true; else is_active=false;
166
		if (show_dev_name)
166
		if (show_dev_name)
167
		{
167
		{
168
			strcat(#disc_name, #dev_name);
168
			strcat(#disc_name, #dev_name);
169
			if (is_active) WriteText(46+1,pos_y+5,0x80,0x555555,#disc_name);
169
			if (is_active) WriteText(46+1,pos_y+5,0x80,0x555555,#disc_name);
170
			WriteText(46,pos_y+5,0x80,0,#disc_name);
170
			WriteText(46,pos_y+5,0x80,0,#disc_name);
171
		}
171
		}
172
		else
172
		else
173
		{
173
		{
174
			if (is_active) WriteText(46+1,pos_y+5,0x80,0x555555,#dev_name);
174
			if (is_active) WriteText(46+1,pos_y+5,0x80,0x555555,#dev_name);
175
			WriteText(46,pos_y+5,0x80,0,#dev_name);
175
			WriteText(46,pos_y+5,0x80,0,#dev_name);
176
		}
176
		}
177
		_PutImage(23,pos_y, 18,17, is_active*6+dev_icon*17*18*3+#devices);
177
		_PutImage(23,pos_y, 18,17, is_active*6+dev_icon*17*18*3+#devices);
178
	}
178
	}
179
}
179
}
180
 
180
 
181
void ActionsDraw()
181
void ActionsDraw()
182
{
182
{
183
	int actions_y=disc_num*16+108, lineh=16;
183
	int actions_y=disc_num*16+108, lineh=16;
184
	Tip(actions_y-18, T_ACTIONS, 77, ""); //çàãîëîâîê
184
	Tip(actions_y-18, T_ACTIONS, 77, ""); //çàãîëîâîê
185
	for (i=0; actions[i*3]!=0; i++, actions_y+=lineh)
185
	for (i=0; actions[i*3]!=0; i++, actions_y+=lineh)
186
	{
186
	{
187
		DrawBar(17,actions_y,160,lineh,0xFFFFFF); //áåëîå
187
		DrawBar(17,actions_y,160,lineh,0xFFFFFF); //áåëîå
188
		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);
189
		WriteText(45,actions_y+4,0x80,0,actions[i*3+1]);
189
		WriteText(45,actions_y+4,0x80,0,actions[i*3+1]);
190
		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]);
191
		_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);
192
	}
192
	}
193
}
193
}
194
 
194
 
195
 
195
 
196
void DrawLeftPanelBg()
196
void DrawLeftPanelBg()
197
{
197
{
198
	int actions_y=disc_num*16;
198
	int actions_y=disc_num*16;
199
	int start_y = actions_y+156;
199
	int start_y = actions_y+156;
200
	DrawBar(2,41,190,15,col_lpanel);		      //ñèíèé ïðÿìîóãîëüíèê - íàä äåâàéñàìè
200
	DrawBar(2,41,190,15,col_lpanel);		      //ñèíèé ïðÿìîóãîëüíèê - íàä äåâàéñàìè
201
	DrawBar(17,actions_y+75,160,15,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè
201
	DrawBar(17,actions_y+75,160,15,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè
202
	PutShadow(17,actions_y+75,160,1,1,3);
202
	PutShadow(17,actions_y+75,160,1,1,3);
203
	PutShadow(18,actions_y+75+1,158,1,1,1);
203
	PutShadow(18,actions_y+75+1,158,1,1,1);
204
	DrawBar(2,56,15,actions_y+103,col_lpanel);	          //ñèíèé ïðÿìîóãîëüíèê - ñëåâà       
204
	DrawBar(2,56,15,actions_y+103,col_lpanel);	          //ñèíèé ïðÿìîóãîëüíèê - ñëåâà       
205
	DrawBar(177,56,15,actions_y+103,col_lpanel);            //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
205
	DrawBar(177,56,15,actions_y+103,col_lpanel);            //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
206
	if (onTop(start_y, 6) < 268)
206
	if (onTop(start_y, 6) < 268)
207
		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);
208
	else
208
	else
209
	{
209
	{
210
		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);
211
		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);
212
	}
212
	}
213
	PutShadow(17,start_y,160,1,1,3);
213
	PutShadow(17,start_y,160,1,1,3);
214
	PutShadow(18,start_y+1,158,1,1,1);
214
	PutShadow(18,start_y+1,158,1,1,1);
215
}
215
}
216
 
216
 
217
 
217
 
218
void DrawLeftPanel()
218
void DrawLeftPanel()
219
{
219
{
220
	Tip(56, T_DEVICES, 55, "=");
220
	Tip(56, T_DEVICES, 55, "=");
221
	DrawSystemDiscs();
221
	DrawSystemDiscs();
222
	ActionsDraw();
222
	ActionsDraw();
223
	DrawLeftPanelBg();
223
	DrawLeftPanelBg();
224
}
224
}
225
>
225
>