Eolite 4.01: more accurate menu for several items selected

git-svn-id: svn://kolibrios.org@7481 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2018-10-18 22:20:31 +00:00
parent 052267ebdf
commit e2e267f5c2
4 changed files with 17 additions and 5 deletions

View File

@ -57,6 +57,7 @@ void FileMenu()
for (index=0; file_captions[index]!=0; index+=3) for (index=0; file_captions[index]!=0; index+=3)
{ {
if (itdir) && (file_captions[index+2]>=200) continue; if (itdir) && (file_captions[index+2]>=200) continue;
if (selected_count > 0) && (file_captions[index+2]>=200) continue;
if (selected_count > 0) && (file_captions[index+2]==100) continue; //do not show "open" for several files if (selected_count > 0) && (file_captions[index+2]==100) continue; //do not show "open" for several files
if (strlen(file_captions[index])>rbmenu.w) rbmenu.w = strlen(file_captions[index]); if (strlen(file_captions[index])>rbmenu.w) rbmenu.w = strlen(file_captions[index]);
rbmenu.count++; rbmenu.count++;
@ -108,7 +109,8 @@ void MenuListRedraw()
for (index=0; file_captions[index*3]!=0; index++) for (index=0; file_captions[index*3]!=0; index++)
{ {
if ((itdir) && (file_captions[index*3+2]>=200)) continue; if ((itdir) && (file_captions[index*3+2]>=200)) continue;
if (selected_count > 0) && (file_captions[index+2]==100) continue; if (selected_count > 0) && (file_captions[index*3+2]==100) continue;
if (selected_count > 0) && (file_captions[index*3+2]>=200) continue;
DrawBar(1,start_y+2,1,rbmenu.item_h,0xFFFfff); DrawBar(1,start_y+2,1,rbmenu.item_h,0xFFFfff);
if (start_y/rbmenu.item_h==rbmenu.cur_y) if (start_y/rbmenu.item_h==rbmenu.cur_y)
{ {

View File

@ -1,5 +1,5 @@
#define TITLE "Eolite File Manager 4.0" #define TITLE "Eolite File Manager 4.01"
#define ABOUT_TITLE "EOLITE 4.0" #define ABOUT_TITLE "EOLITE 4.01"
#ifdef LANG_RUS #ifdef LANG_RUS
?define T_FILE "” ©«" ?define T_FILE "” ©«"

View File

@ -772,6 +772,16 @@ void kos_DeleteMouseCursor( Dword * handle )
} }
} }
// 48.4 get windows title bar height
Dword kos_GetSkinHeight( Dword * handle )
{
__asm{
mov eax, 48
mov ebx, 4
int 0x40
}
}
// функция 38 нарисовать полосу // функция 38 нарисовать полосу
void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour ) void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour )
{ {

View File

@ -73,7 +73,7 @@ void kos_Main()
OnMouseMove(); OnMouseMove();
break; break;
} }
if (kos_GetButtonID(btn_id)==1) OnExit(); if (kos_GetButtonID(btn_id)) OnExit();
DrawBombs(); DrawBombs();
DrawRocketsAndCrosses(); DrawRocketsAndCrosses();
DrawExplodes(); DrawExplodes();
@ -92,7 +92,7 @@ void kos_Main()
void DrawWindow() void DrawWindow()
{ {
kos_WindowRedrawStatus(1); kos_WindowRedrawStatus(1);
kos_DefineAndDrawWindow(10, 40, WINDOW_WIDTH + 8, WINDOW_HEIGHT + 25, 0x33, BG_COLOR, 0, 0, (Dword)header); kos_DefineAndDrawWindow(10, 40, WINDOW_WIDTH + 8, WINDOW_HEIGHT + kos_GetSkinHeight(), 0x34, BG_COLOR, 0, 0, (Dword)header);
kos_WindowRedrawStatus(2); kos_WindowRedrawStatus(2);
kos_WriteTextToWindow(8, 10, 0, TEXT_COLOR, "Population: %", 16); kos_WriteTextToWindow(8, 10, 0, TEXT_COLOR, "Population: %", 16);