diff --git a/data/common/icons32.png b/data/common/icons32.png index bac1ea7172..4fd8b8cd1c 100644 Binary files a/data/common/icons32.png and b/data/common/icons32.png differ diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index 364ac0eaa7..b641ed8064 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -342,7 +342,10 @@ void main() case 31...33: EventSort(id-30); break; - case 50...60: //Actions + case 51: + EventShowBurgerMenu(); + break; + case 52...60: //Actions FnProcess(id-50); break; case 61: // Set path as default @@ -409,6 +412,9 @@ void main() case SCAN_CODE_KEY_C: Copy(#file_path, NOCUT); break; + case SCAN_CODE_KEY_G: + EventOpenConsoleHere(); + break; case SCAN_CODE_KEY_V: Paste(); break; @@ -417,9 +423,8 @@ void main() strcat(#temp, #file_path); RunProgram("/sys/media/kiv", #temp); break; - case SCAN_CODE_KEY_N: //create new window - if (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD); - RunProgram(I_Path, #path); + case SCAN_CODE_KEY_N: + EventOpenNewEolite(); break; case SCAN_CODE_KEY_M: Open_Dir(#inactive_path,WITH_REDRAW); @@ -1202,6 +1207,18 @@ void EventHistoryGoForward() } } +void EventOpenNewEolite() +{ + //if (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD); + RunProgram(I_Path, #path); +} + +void EventOpenConsoleHere() +{ + sprintf(#param, "pwd cd %s", #path); + RunProgram("/sys/shell", #param); +} + void ProceedMouseGestures() { char stats; diff --git a/programs/cmm/eolite/include/menu.h b/programs/cmm/eolite/include/menu.h index 5792208fab..22857341f6 100644 --- a/programs/cmm/eolite/include/menu.h +++ b/programs/cmm/eolite/include/menu.h @@ -22,6 +22,11 @@ char folder_actions[]= Свойства |F8"; char empty_folder_actions[]= "Вставить |Crl+V"; +char burger_menu_items[] = +"Новое окно|Ctrl+N +Открыть консоль|Ctrl+G +Обновить папку|F5 +О программе|F1"; #elif LANG_EST char file_actions[]= @@ -46,6 +51,11 @@ Kustuta |Del Properties |F8"; char empty_folder_actions[]= "Aseta |Crl+V"; +char burger_menu_items[] = +"New window|Ctrl+N +Open console here|Ctrl+G +Vфrskenda|F5 +About|F1"; #else char file_actions[]= @@ -70,12 +80,13 @@ Delete |Del Properties |F8"; char empty_folder_actions[]= "Paste |Crl+V"; - +char burger_menu_items[] = +"New window|Ctrl+N +Open console here|Ctrl+G +Refresh folder|F5 +About|F1"; #endif -//Обновить папку |F5 -//Vфrskenda |F5 -//Refresh |F5 enum { MENU_DIR=1, MENU_FILE, MENU_NO_FILE, MENU_BURGER }; @@ -104,6 +115,12 @@ void EventMenuClick(dword _id) case 5: Del_Form(); break; case 6: FnProcess(8); break; } + if (active_menu == MENU_BURGER) switch(_id) { + case 1: EventOpenNewEolite(); break; + case 2: EventOpenConsoleHere(); break; + case 3: EventRefreshDisksAndFolders(); break; + case 4: FnProcess(1); break; + } active_menu = NULL; } @@ -123,7 +140,15 @@ void EventShowListMenu() text = #file_actions; active_menu = MENU_FILE; } - open_lmenu(mouse.x+Form.left+5, mouse.y+Form.top+3+skin_height, MENU_ALIGN_TOP_LEFT, NULL, text); + open_lmenu(mouse.x+Form.left+5, mouse.y+Form.top+3 + +skin_height, MENU_ALIGN_TOP_LEFT, NULL, text); +} + +void EventShowBurgerMenu() +{ + active_menu = MENU_BURGER; + open_lmenu(Form.width-10+Form.left, 35+Form.top+skin_height, + MENU_ALIGN_TOP_RIGHT, NULL, #burger_menu_items); } bool GetMenuClick() diff --git a/programs/cmm/eolite/include/translations.h b/programs/cmm/eolite/include/translations.h index dec82a90c4..32d9319eb0 100644 --- a/programs/cmm/eolite/include/translations.h +++ b/programs/cmm/eolite/include/translations.h @@ -1,5 +1,5 @@ -#define TITLE "Eolite File Manager 4.23a" -#define ABOUT_TITLE "EOLITE 4.23a" +#define TITLE "Eolite File Manager 4.24" +#define ABOUT_TITLE "EOLITE 4.24" #ifdef LANG_RUS ?define T_FILE "Файл"