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)
{
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 (strlen(file_captions[index])>rbmenu.w) rbmenu.w = strlen(file_captions[index]);
rbmenu.count++;
@ -108,7 +109,8 @@ void MenuListRedraw()
for (index=0; file_captions[index*3]!=0; index++)
{
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);
if (start_y/rbmenu.item_h==rbmenu.cur_y)
{

View File

@ -1,5 +1,5 @@
#define TITLE "Eolite File Manager 4.0"
#define ABOUT_TITLE "EOLITE 4.0"
#define TITLE "Eolite File Manager 4.01"
#define ABOUT_TITLE "EOLITE 4.01"
#ifdef LANG_RUS
?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 нарисовать полосу
void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour )
{

View File

@ -73,7 +73,7 @@ void kos_Main()
OnMouseMove();
break;
}
if (kos_GetButtonID(btn_id)==1) OnExit();
if (kos_GetButtonID(btn_id)) OnExit();
DrawBombs();
DrawRocketsAndCrosses();
DrawExplodes();
@ -92,7 +92,7 @@ void kos_Main()
void DrawWindow()
{
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_WriteTextToWindow(8, 10, 0, TEXT_COLOR, "Population: %", 16);