Eolite 3.94: fixed a range of bugs related to pop-ins (Delete, Create and Rename), thanks to theonlymirage for the report

git-svn-id: svn://kolibrios.org@7398 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2018-09-19 08:57:00 +00:00
parent cf38e974ee
commit 67cf02ec96
2 changed files with 32 additions and 22 deletions

View File

@ -333,7 +333,18 @@ void main()
break; break;
//Button pressed----------------------------------------------------------------------------- //Button pressed-----------------------------------------------------------------------------
case evButton: case evButton:
id=GetButtonID(); id=GetButtonID();
if (new_element_active) || (del_active) {
if(POPUP_BTN1==id) || (POPUP_BTN2==id) {
if (del_active) Del_File(id-POPUP_BTN2);
if (new_element_active) NewElement(id-POPUP_BTN2);
DeleteButton(POPUP_BTN1);
DeleteButton(POPUP_BTN2);
}
break;
}
switch(id) switch(id)
{ {
case CLOSE_BTN: case CLOSE_BTN:
@ -379,12 +390,6 @@ void main()
case 100...120: case 100...120:
SystemDiscs.Click(id-100); SystemDiscs.Click(id-100);
break; break;
case POPUP_BTN1...POPUP_BTN2:
if (del_active) Del_File(id-POPUP_BTN2);
if (new_element_active) NewElement(id-POPUP_BTN2);
DeleteButton(POPUP_BTN1);
DeleteButton(POPUP_BTN2);
break;
case BREADCRUMB_ID...360: case BREADCRUMB_ID...360:
ClickOnBreadCrumb(id-BREADCRUMB_ID); ClickOnBreadCrumb(id-BREADCRUMB_ID);
break; break;
@ -396,20 +401,24 @@ void main()
GetKeys(); GetKeys();
if (Form.status_window>2) break; if (Form.status_window>2) break;
if (del_active)
if (new_element_active) || (del_active)
{ {
if (key_scancode == SCAN_CODE_ENTER) Del_File(true); if (del_active)
if (key_scancode == SCAN_CODE_ESC) Del_File(false); {
break; if (key_scancode == SCAN_CODE_ENTER) Del_File(true);
} if (key_scancode == SCAN_CODE_ESC) Del_File(false);
if (new_element_active) }
{ if (new_element_active)
if (key_scancode == SCAN_CODE_ENTER) NewElement(true); {
if (key_scancode == SCAN_CODE_ESC) NewElement(false); if (key_scancode == SCAN_CODE_ENTER) NewElement(true);
EAX = key_editbox; if (key_scancode == SCAN_CODE_ESC) NewElement(false);
edit_box_key stdcall (#new_file_ed); EAX = key_editbox;
edit_box_key stdcall (#new_file_ed);
}
break; break;
} }
if (files.ProcessKey(key_scancode)) if (files.ProcessKey(key_scancode))
{ {
List_ReDraw(); List_ReDraw();
@ -632,8 +641,6 @@ void draw_window()
DrawStatusBar(); DrawStatusBar();
if (selected_count==0) Open_Dir(#path,ONLY_OPEN); //if there are no selected files -> refresh folder [L001] if (selected_count==0) Open_Dir(#path,ONLY_OPEN); //if there are no selected files -> refresh folder [L001]
DrawFilePanels(); DrawFilePanels();
if (del_active) Del_Form();
if (new_element_active) NewElement_Form(new_element_active, #new_element_name);
} }
void DrawList() void DrawList()
@ -744,6 +751,9 @@ void List_ReDraw()
DrawBar(files.x+files.w-141,all_lines_h + files.y,1,files.h - all_lines_h,col_list_line); DrawBar(files.x+files.w-141,all_lines_h + files.y,1,files.h - all_lines_h,col_list_line);
DrawBar(files.x+files.w-68,all_lines_h + files.y,1,files.h - all_lines_h,col_list_line); DrawBar(files.x+files.w-68,all_lines_h + files.y,1,files.h - all_lines_h,col_list_line);
Scroll(); Scroll();
if (del_active) Del_Form();
if (new_element_active) NewElement_Form(new_element_active, #new_element_name);
} }

View File

@ -1,5 +1,5 @@
#define TITLE "Eolite File Manager v3.93" #define TITLE "Eolite File Manager v3.94"
#define ABOUT_TITLE "EOLITE 3.93" #define ABOUT_TITLE "EOLITE 3.94"
#ifdef LANG_RUS #ifdef LANG_RUS
?define T_FILE "” ©«" ?define T_FILE "” ©«"