Subversion Repositories Kolibri OS

Rev

Rev 7634 | Rev 8826 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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