/programs/cmm/eolite/Eolite.c |
---|
1,7 → 1,7 |
//Leency & Veliant 2008-2013 |
//GNU GPL licence. |
//êîïèðîâàòü ÷åðåç ïîòîê |
//êîïèðîâàòü ÷åðåç ïîòîê |
//libraries |
#define MEMSIZE 0xA0000 |
22,8 → 22,8 |
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir |
#define TITLE "Eolite File Manager v1.89" |
#define ABOUT_TITLE "Eolite v1.89" |
#define TITLE "Eolite File Manager v1.90" |
#define ABOUT_TITLE "Eolite v1.90" |
dword col_work = 0xE4DFE1; |
dword col_border = 0x9098B0; //A0A0B8; //0x819FC5; |
dword col_padding = 0xC8C9C9; |
59,8 → 59,8 |
PathShow_data PathShow = {0, 17,250, 6, 250, 0, 0, 0x0, 0xFFFfff, #path, #temp, 0}; |
PathShow_data FileShow = {0, 56,215, 6, 100, 0, 0, 0x0, 0xFFFfff, #file_name, #temp, 0}; |
#include "include\copypaste.h" |
#include "include\some_code.h" |
#include "include\about_dialog.h" |
#include "include\sorting.h" |
#include "include\icons_f.h" |
#include "include\ini.h" |
67,7 → 67,7 |
#include "include\left_panel.h" |
#include "include\history.h" |
#include "include\file_menu.h" |
#include "include\copypaste.h" |
#include "include\about_dialog.h" |
void main() |
{ |
84,7 → 84,9 |
if (path[strlen(#path)-1]!='/') chrcat(#path, '/'); //add "/" to the end of the string |
} |
else |
{ |
strcpy(#path, "/rd/1/"); |
} |
Open_Dir(#path,ONLY_OPEN); |
SetEventMask(0x27); |
loop() switch(WaitEvent()) |
112,11 → 114,19 |
if (!m.lkm) && (!m.pkm) && (can_select) |
{ |
can_select = 0; |
if (m.y<57) break; |
id = m.y - 57 / files.line_h; |
if (id!=m_selected) {can_show=0; break;} |
if (files.current!=id) List_Current(id-files.current); |
else Open(); |
if (m.y>=57) |
{ |
id = m.y - 57 / files.line_h; |
if (id!=m_selected) |
{ |
can_show=0; |
break; |
} |
if (files.current!=id) |
List_Current(id-files.current); |
else |
Open(); |
} |
}; |
// } select/open file |
124,14 → 134,15 |
if (!m.pkm) && (!m.lkm) && (can_show) |
{ |
can_show = 0; |
if (m.y<57) break; |
SwitchToAnotherThread(); |
CreateThread(#FileMenu,#menu_stak); |
if (m.y>=57) |
{ |
SwitchToAnotherThread(); |
CreateThread(#FileMenu,#menu_stak); |
} |
break; |
} |
// } file menu |
if (m.vert) |
{ |
files.MouseScroll(m.vert); |
444,8 → 455,8 |
void List_ReDraw() |
{ |
int paint_y; |
//åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè |
//ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì |
//åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè |
//ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì |
if (files.count-files.first<files.visible) || (files.current>files.visible-1) |
{ files.first=files.count-files.visible; files.current=files.visible-1; } |
/programs/cmm/eolite/include/copypaste.h |
---|
55,5 → 55,6 |
ActivateWindow(GetProcessSlot(Form.ID)); |
SendWindowMessage(evKey, 54); |
SelectFile(#copy_to+strrchr(#copy_to,'/')); |
pause(20); |
ExitProcess(); |
} |
/programs/cmm/eolite/include/file_menu.h |
---|
5,21 → 5,26 |
"Open with...", "CrlEnt", |
"View as text", "F3", |
"View as HEX", "F4", |
// |
"Copy", "Crl+C", |
"Cut", "Crl+X", |
"Paste", "Crl+V", |
"Rename", "F2", |
"Delete", "Del", |
//"Refresh", "F5", |
0}; |
0, 0}; |
proc_info MenuForm; |
void FileMenu() |
{ |
proc_info MenuForm; |
mouse mm; |
word id, key, slot; |
word id, key, slot, index; |
int ccount=0, cur, newi, linew=10, lineh=18, texty; |
for (i=0; captions[i]!=0; i+=2) |
for (index=0; captions[index]!=0; index+=2) |
{ |
ccount++; |
if (strlen(captions[i])>linew) linew = strlen(captions[i]); |
if (strlen(captions[index])>linew) linew = strlen(captions[index]); |
} |
linew = linew + 3 * 6 + 50; |
texty = lineh/2-4; |
45,12 → 50,14 |
id=GetButtonID(); |
if (id==100) Open(); |
if (id==101) notify("Not compleated yet"); |
if (id==102) FnProcess(3); |
if (id==103) FnProcess(4); |
if (id==104) FnProcess(2); |
if (id==105) Del_Form(); |
if (id==106) FnProcess(5); |
SwitchToAnotherThread(); |
if (id==102) FnProcess(3); //F3 |
if (id==103) FnProcess(4); //F4 |
if (id==104) Copy(#file_path, NOCUT); |
if (id==105) Copy(#file_path, CUT); |
if (id==106) CreateThread(#Paste,#copy_stak); |
if (id==107) FnProcess(2); |
if (id==108) Del_Form(); |
if (id==109) FnProcess(5); |
ExitProcess(); |
break; |
61,7 → 68,6 |
case evReDraw: _MENU_DRAW: |
DefineAndDrawWindow(m.x+Form.left+5,m.y+Form.top+GetSkinHeight(),linew+3,ccount*lineh+6,0x01, 0, 0, 0x01fffFFF); |
GetProcessInfo(#MenuForm, SelfInfo); |
/* _PutImage(1,23, 16,44, #factions); //èêîíêè */ |
DrawRectangle(0,0,linew+1,ccount*lineh+2,col_border); |
DrawBar(1,1,linew,1,0xFFFfff); |
PutShadow(linew+2,1,1,ccount*lineh+2,0,2); |
70,13 → 76,21 |
PutShadow(2,ccount*lineh+4,linew+1,1,0,1); |
_ITEMS_DRAW: |
for (i=0; captions[i*2]!=0; i++) |
for (index=0; captions[index*2]!=0; index++) |
{ |
DefineButton(1,i*lineh+1,linew,lineh-1,i+100+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
DrawBar(1,i*lineh+2,1,lineh,0xFFFfff); |
if (i==cur) DrawBar(2,i*lineh+2,linew-1,lineh,0xFFFfff); else DrawBar(2,i*lineh+2,linew-1,lineh,col_work); |
WriteText(7,i*lineh+texty+2,0x80,0x000000,captions[i*2]); |
WriteText(-strlen(captions[i*2+1])*6-6+linew,i*lineh+texty+2,0x80,0x999999,captions[i*2+1]); |
DefineButton(1,index*lineh+1,linew,lineh-1,index+100+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
DrawBar(1,index*lineh+2,1,lineh,0xFFFfff); |
if (index==cur) |
{ |
DrawBar(2,index*lineh+2,linew-1,lineh,0xFFFfff); |
} |
else |
{ |
DrawBar(2,index*lineh+2,linew-1,lineh,col_work); |
WriteText(8,index*lineh+texty+3,0x80,0xf2f2f2,captions[index*2]); |
} |
WriteText(7,index*lineh+texty+2,0x80,0x000000,captions[index*2]); |
WriteText(-strlen(captions[index*2+1])*6-6+linew,index*lineh+texty+2,0x80,0x888888,captions[index*2+1]); |
} |
} |
} |