diff --git a/data/Tupfile.lua b/data/Tupfile.lua
index 048f092df7..b86ca2f436 100644
--- a/data/Tupfile.lua
+++ b/data/Tupfile.lua
@@ -244,6 +244,7 @@ extra_files = {
{"kolibrios/drivers/i915/", "common/drivers/i915/*"},
{"kolibrios/drivers/test/", "common/drivers/test/*"},
{"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
+ {"kolibrios/KolibriNext/", "common/KolibriNext/*"},
{"kolibrios/KolibriNext/settings/", "common/KolibriNext/settings/*"},
{"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
{"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
diff --git a/data/common/File Managers/icons.ini b/data/common/File Managers/icons.ini
index 3a2afa7588..ebfd9b0007 100644
--- a/data/common/File Managers/icons.ini
+++ b/data/common/File Managers/icons.ini
@@ -1,3 +1,21 @@
+[drives16]
+r=58
+f=5
+t=51
+h=50
+b=50
+u=57
+c=19
+
+[drives32]
+r=49
+f=3
+t=36
+h=50
+b=50
+u=50
+c=50
+
[icons16]
=0
=1
diff --git a/data/common/icons16.png b/data/common/icons16.png
index 601fa85b49..e68f995419 100644
Binary files a/data/common/icons16.png and b/data/common/icons16.png differ
diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c
index 9496289701..66cb7f940c 100644
--- a/programs/cmm/eolite/Eolite.c
+++ b/programs/cmm/eolite/Eolite.c
@@ -3,8 +3,8 @@
// 70.5 - get volume info and label
-#define TITLE "Eolite File Manager 4.66"
-#define ABOUT_TITLE "EOLITE 4.66"
+#define TITLE "Eolite File Manager 4.70"
+#define ABOUT_TITLE "EOLITE 4.70"
#ifndef AUTOBUILD
#include "lang.h--"
@@ -794,7 +794,6 @@ void Line_ReDraw(dword bgcol, filenum){
file.sizelo = ESDWORD[file_offet+32];
file.sizehi = ESDWORD[file_offet+36];
file_name_off = file_offet+40;
- sprintf(#full_path,"%s/%s",#path,file_name_off);
if (! TestBit(attr, 4) ) //file or folder?
{
@@ -854,6 +853,8 @@ void Line_ReDraw(dword bgcol, filenum){
bgcol, text_col, kfont.size.pt, #label_file_name);
}
if (bgcol == col.selec_inactive) DrawWideRectangle(files.x+2, y, files.w-4, files.item_h, 2, 0x92B1D9);
+
+ sprintf(#full_path,"%s/%s",#path,file_name_off);
DrawIconByExtension(#full_path, ext1, files.x+4, icon_y, bgcol);
}
diff --git a/programs/cmm/eolite/include/icons.h b/programs/cmm/eolite/include/icons.h
index 1bf2db2b97..4639511162 100644
--- a/programs/cmm/eolite/include/icons.h
+++ b/programs/cmm/eolite/include/icons.h
@@ -4,8 +4,7 @@ void DrawIconByExtension(dword file_path, extension, xx, yy, fairing_color)
{
char BYTE_HEAD_FILE[4];
char ext[512];
- int i;
- dword icon_n = 2;
+ int icon_n = 2;
dword selected_image;
dword default_image;
dword default_icon;
@@ -15,32 +14,41 @@ void DrawIconByExtension(dword file_path, extension, xx, yy, fairing_color)
selected_image = icons32_selected.image;
default_image = icons32_default.image;
default_icon=95;
- }
- else {
+ } else {
icons_ini.section = "icons16";
selected_image = icons16_selected.image;
default_image = icons16_default.image;
default_icon=2;
}
- if (extension)
- {
+ //KolibriNext
+ /*
+ if (chrnum(file_path, '/')==2) {
+ if (ESBYTE[file_path+1]=='/') ext[0] = ESBYTE[file_path+2];
+ else ext[0] = ESBYTE[file_path+1];
+ ext[1] = '\0';
+ if (big_icons.checked) {
+ icons_ini.section = "drives32";
+ icon_n = icons_ini.GetInt(#ext, 50);
+ } else {
+ icons_ini.section = "drives16";
+ icon_n = icons_ini.GetInt(#ext, 50);
+ }
+ } else
+ */
+ if (extension) {
strcpy(#ext, extension);
strlwr(#ext);
icon_n = icons_ini.GetInt(#ext, default_icon);
- }
- else if (file_path)
- {
- ReadFile(0,4,#BYTE_HEAD_FILE,file_path);
- IF(DSDWORD[#BYTE_HEAD_FILE]=='KCPK')||(DSDWORD[#BYTE_HEAD_FILE]=='UNEM')
- icon_n = icons_ini.GetInt("kex", 2);
+ } else if (file_path) {
+ ReadFile(0,4,#BYTE_HEAD_FILE,file_path);
+ IF(DSDWORD[#BYTE_HEAD_FILE]=='KCPK')||(DSDWORD[#BYTE_HEAD_FILE]=='UNEM')
+ icon_n = icons_ini.GetInt("kex", 2);
}
- if (fairing_color==col.selec)
- {
+
+ if (fairing_color==col.selec) {
img_draw stdcall(selected_image, xx, yy, icon_size, icon_size, 0, icon_n*icon_size);
- }
- else
- {
+ } else {
img_draw stdcall(default_image, xx, yy, icon_size, icon_size, 0, icon_n*icon_size);
}
}
diff --git a/programs/cmm/lib/obj/libimg.h b/programs/cmm/lib/obj/libimg.h
index 82ea5cae2d..8a0aba0535 100644
--- a/programs/cmm/lib/obj/libimg.h
+++ b/programs/cmm/lib/obj/libimg.h
@@ -254,10 +254,11 @@ struct libimg_image
img_draw stdcall(pure_img32, x, y, 32, 32, 0, icon_n*32);
}
-:void DrawIcon16(dword x,y, _bg, icon_n) {
+:int DrawIcon16(dword x,y, _bg, icon_n) {
static dword bg;
static dword pure_img16;
dword bgshadow;
+ int size;
if (!pure_img16) || (bg!=_bg) {
bg = _bg;
bgshadow = MixColors(bg, 0, 220);
@@ -271,7 +272,9 @@ struct libimg_image
if (DSDWORD[ESI]==0xffCACBD6) DSDWORD[ESI] = bgshadow;
}
}
- img_draw stdcall(pure_img16, x, y, ESDWORD[EAX+4], ESDWORD[EAX+4], 0, icon_n*ESDWORD[EAX+4]);
+ size = ESDWORD[pure_img16+4]; //get image width
+ img_draw stdcall(pure_img16, x, y, size, size, 0, icon_n*size);
+ return size;
}
#endif
\ No newline at end of file
diff --git a/programs/cmm/sysmon/sysmon.c b/programs/cmm/sysmon/sysmon.c
index 5fdebdd3c9..1e74b01f60 100644
--- a/programs/cmm/sysmon/sysmon.c
+++ b/programs/cmm/sysmon/sysmon.c
@@ -299,8 +299,8 @@ void MonitorTmp()
void DrawIconWithText(dword _x, _y, _icon, _title)
{
- DrawIcon16(_x, _y, sc.work, _icon);
- WriteTextWithBg(_x+ICONGAP, _y, 0xD0, sc.work_text, _title, sc.work);
+ int size = DrawIcon16(_x, _y, sc.work, _icon);
+ WriteTextWithBg(_x+ICONGAP, _y + size - 16, 0xD0, sc.work_text, _title, sc.work);
}
dword GetCpuLoad(dword max_h)