Subversion Repositories Kolibri OS

Rev

Rev 8826 | Rev 8868 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7242 leency 1
_ini icons_ini = { "/sys/File managers/icons.ini", NULL };
4042 leency 2
 
6757 leency 3
void DrawIconByExtension(dword file_path, extension, xx, yy, fairing_color)
4225 punk_joker 4
{
6757 leency 5
	char BYTE_HEAD_FILE[4];
7054 leency 6
	char ext[512];
8821 leency 7
	int icon_n = 2;
7242 leency 8
	dword selected_image;
9
	dword default_image;
7256 leency 10
	dword default_icon;
7054 leency 11
 
7244 leency 12
	if (big_icons.checked) {
7242 leency 13
		icons_ini.section = "icons32";
14
		selected_image = icons32_selected.image;
15
		default_image = icons32_default.image;
7256 leency 16
		default_icon=95;
8821 leency 17
	} else {
7242 leency 18
		icons_ini.section = "icons16";
19
		selected_image = icons16_selected.image;
20
		default_image = icons16_default.image;
7256 leency 21
		default_icon=2;
7242 leency 22
	}
23
 
8839 leency 24
	if (ESBYTE[file_path+1]!='k') && (chrnum(file_path, '/')==2) {
8821 leency 25
		if (ESBYTE[file_path+1]=='/') ext[0] = ESBYTE[file_path+2];
26
			else ext[0] = ESBYTE[file_path+1];
27
		ext[1] = '\0';
28
		if (big_icons.checked) {
29
			icons_ini.section = "drives32";
30
			icon_n = icons_ini.GetInt(#ext, 50);
31
		} else {
32
			icons_ini.section = "drives16";
33
			icon_n = icons_ini.GetInt(#ext, 50);
34
		}
8826 leency 35
	} else if (extension) {
7054 leency 36
		strcpy(#ext, extension);
37
		strlwr(#ext);
7256 leency 38
		icon_n = icons_ini.GetInt(#ext, default_icon);
8821 leency 39
	} else if (file_path) {
40
		ReadFile(0,4,#BYTE_HEAD_FILE,file_path);
41
		IF(DSDWORD[#BYTE_HEAD_FILE]=='KCPK')||(DSDWORD[#BYTE_HEAD_FILE]=='UNEM')
42
			icon_n = icons_ini.GetInt("kex", 2);
4225 punk_joker 43
	}
8821 leency 44
 
45
	if (fairing_color==col.selec) {
7242 leency 46
		img_draw stdcall(selected_image, xx, yy, icon_size, icon_size, 0, icon_n*icon_size);
8821 leency 47
	} else {
7242 leency 48
		img_draw stdcall(default_image, xx, yy, icon_size, icon_size, 0, icon_n*icon_size);
7054 leency 49
	}
4042 leency 50
}
51