From 28d7c876db9196df42cc60e30a84055d05035ef9 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Mon, 11 Mar 2013 18:43:52 +0000 Subject: [PATCH] deleted old versions of Eolite and tmpdisk git-svn-id: svn://kolibrios.org@3365 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/eolite/txt/History.txt | 5 +- programs/fs/Eolite/trunk/Eolite.c-- | 827 ------------------ programs/fs/Eolite/trunk/compile.bat | 6 - programs/fs/Eolite/trunk/imgs/blue_hl8.raw | Bin 50920 -> 0 bytes programs/fs/Eolite/trunk/imgs/devices.raw | Bin 2730 -> 0 bytes .../fs/Eolite/trunk/imgs/file_actions.raw | Bin 2112 -> 0 bytes programs/fs/Eolite/trunk/imgs/icons.txt | 399 --------- programs/fs/Eolite/trunk/imgs/left_p.txt | 59 -- programs/fs/Eolite/trunk/imgs/logo8b.raw | Bin 7225 -> 0 bytes .../fs/Eolite/trunk/imgs/png/Eolite-Sun.png | Bin 3469 -> 0 bytes .../fs/Eolite/trunk/imgs/png/blue_hl8.png | Bin 5710 -> 0 bytes .../fs/Eolite/trunk/imgs/png/blue_hl81.png | Bin 6121 -> 0 bytes programs/fs/Eolite/trunk/imgs/png/dev.png | Bin 1247 -> 0 bytes .../fs/Eolite/trunk/imgs/png/file_actions.png | Bin 694 -> 0 bytes programs/fs/Eolite/trunk/imgs/png/icons.png | Bin 3504 -> 0 bytes programs/fs/Eolite/trunk/imgs/png/rb.png | Bin 1327 -> 0 bytes programs/fs/Eolite/trunk/imgs/png/toolbar.png | Bin 2588 -> 0 bytes programs/fs/Eolite/trunk/imgs/toolbar.txt | 657 -------------- .../fs/Eolite/trunk/include/about_dialog.h | 61 -- programs/fs/Eolite/trunk/include/history.h | 57 -- programs/fs/Eolite/trunk/include/icons_f.h | 297 ------- programs/fs/Eolite/trunk/include/ini.h | 128 --- programs/fs/Eolite/trunk/include/left_panel.h | 158 ---- programs/fs/Eolite/trunk/include/some_code.h | 69 -- programs/fs/Eolite/trunk/include/sorting.h | 51 -- programs/fs/Eolite/trunk/lib/edit_box_lib.h | 94 -- programs/fs/Eolite/trunk/lib/file_system.h | 188 ---- programs/fs/Eolite/trunk/lib/kolibri.h | 317 ------- programs/fs/Eolite/trunk/lib/memory.h | 67 -- programs/fs/Eolite/trunk/lib/strings.h | 171 ---- programs/fs/Eolite/trunk/txt/History.txt | 565 ------------ programs/fs/Eolite/trunk/txt/ReadMe_en.txt | 32 - programs/fs/Eolite/trunk/txt/ReadMe_ru.txt | 31 - programs/fs/tmpdisk/compile.bat | 9 - programs/fs/tmpdisk/icons.raw | 1 - programs/fs/tmpdisk/t_console.c | 87 -- programs/fs/tmpdisk/t_window.c | 244 ------ programs/fs/tmpdisk/tmpdisk.c | 71 -- 38 files changed, 4 insertions(+), 4647 deletions(-) delete mode 100644 programs/fs/Eolite/trunk/Eolite.c-- delete mode 100644 programs/fs/Eolite/trunk/compile.bat delete mode 100644 programs/fs/Eolite/trunk/imgs/blue_hl8.raw delete mode 100644 programs/fs/Eolite/trunk/imgs/devices.raw delete mode 100644 programs/fs/Eolite/trunk/imgs/file_actions.raw delete mode 100644 programs/fs/Eolite/trunk/imgs/icons.txt delete mode 100644 programs/fs/Eolite/trunk/imgs/left_p.txt delete mode 100644 programs/fs/Eolite/trunk/imgs/logo8b.raw delete mode 100644 programs/fs/Eolite/trunk/imgs/png/Eolite-Sun.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/blue_hl8.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/blue_hl81.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/dev.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/file_actions.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/icons.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/rb.png delete mode 100644 programs/fs/Eolite/trunk/imgs/png/toolbar.png delete mode 100644 programs/fs/Eolite/trunk/imgs/toolbar.txt delete mode 100644 programs/fs/Eolite/trunk/include/about_dialog.h delete mode 100644 programs/fs/Eolite/trunk/include/history.h delete mode 100644 programs/fs/Eolite/trunk/include/icons_f.h delete mode 100644 programs/fs/Eolite/trunk/include/ini.h delete mode 100644 programs/fs/Eolite/trunk/include/left_panel.h delete mode 100644 programs/fs/Eolite/trunk/include/some_code.h delete mode 100644 programs/fs/Eolite/trunk/include/sorting.h delete mode 100644 programs/fs/Eolite/trunk/lib/edit_box_lib.h delete mode 100644 programs/fs/Eolite/trunk/lib/file_system.h delete mode 100644 programs/fs/Eolite/trunk/lib/kolibri.h delete mode 100644 programs/fs/Eolite/trunk/lib/memory.h delete mode 100644 programs/fs/Eolite/trunk/lib/strings.h delete mode 100644 programs/fs/Eolite/trunk/txt/History.txt delete mode 100644 programs/fs/Eolite/trunk/txt/ReadMe_en.txt delete mode 100644 programs/fs/Eolite/trunk/txt/ReadMe_ru.txt delete mode 100644 programs/fs/tmpdisk/compile.bat delete mode 100644 programs/fs/tmpdisk/icons.raw delete mode 100644 programs/fs/tmpdisk/t_console.c delete mode 100644 programs/fs/tmpdisk/t_window.c delete mode 100644 programs/fs/tmpdisk/tmpdisk.c diff --git a/programs/cmm/eolite/txt/History.txt b/programs/cmm/eolite/txt/History.txt index 9fad014cfd..bc62f1180f 100644 --- a/programs/cmm/eolite/txt/History.txt +++ b/programs/cmm/eolite/txt/History.txt @@ -1,10 +1,13 @@ -xx.xx.13 -- v1.61 +03.03.13 -- v1.62 - перенос программы на общую библиотеку (очень хотел s1n). Это даёт доступ к множествам наработок основной ветви; - для имен файлов и адресной строки теперь используется PathShow; - определение USB flash дисков; - исправление многих ошибок. +28.02.13 -- v1.56 +- исправлено падение после запуска переименованого файла; +- увеличено количество поддерживаемых дисков с 10 до 20. 10.01.13 -- v1.55 - исправлен эпичный баг с сортировкой; diff --git a/programs/fs/Eolite/trunk/Eolite.c-- b/programs/fs/Eolite/trunk/Eolite.c-- deleted file mode 100644 index 7db918affd..0000000000 --- a/programs/fs/Eolite/trunk/Eolite.c-- +++ /dev/null @@ -1,827 +0,0 @@ -//Leency & Veliant -=- KolibriOS Team -=- 2012 -//GNU GPL licence. - -//копировать через поток -//IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //если нет, + "/" перенестив опендир -//иконка действительно нужна другая для неизвесных устройств и папок в будующем. - -#include "lib\kolibri.h" -#include "lib\memory.h" -#include "lib\edit_box_lib.h" -#include "lib\file_system.h" -#include "imgs\toolbar.txt" -#include "imgs\left_p.txt" - -int BUTTON_HEIGHT=18; - -//for OpenDir -#define ONLY_SHOW 0 -#define WITH_REDRAW 1 -#define ONLY_OPEN 2 - -//переменные -#define title "Eolite File Manager v1.56" -dword col_work = 0xE4DFE1; -dword col_border = 0x819FC5; -dword col_padding = 0xC8C9C9; -dword col_selec = 0x94AECE; -dword col_lpanel = 0x00699C; - - -/* -int - f_count, - f_first, - f_current; -*/ - -int f_visible, - count, - za_kadrom, - curbtn; - - -byte cut_active, - rename_active, - del_active; -byte show_actions=1, - show_dev_name=1, - sort_num=2, - isdir; -unsigned char - path[4096], - edit_path[4096], - file_path[4096], - file_name[4096], - copy_file[4096], - temp[4096]; -int scroll_size; - - - -int toolbar_buttons_x[7]={9,46,85,134,167,203}; -char tmp_disk_del_param[3]="d0\0"; - -dword file_mas[6898]; -int j, i, mouse_dd; -int scroll_used; - -struct path_string { -char Item[4096]; -}; - - -dword stak[100]; //окно About - -edit_box edit1= {250,247,13,0xffffff,0x94AECE,0xD3DDEB,0xffffff,0,248,#edit_path,#mouse_dd,64,6,6}; -edit_box edit2= {250,213,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6}; - -proc_info Form; -dword buf, off; //для текста и буфера - -#include "include\some_code.h" -#include "include\about_dialog.h" -#include "include\sorting.h" -#include "include\icons_f.h" -#include "include\ini.h" -#include "include\left_panel.h" -#include "include\history.h" - -void main() -{ - word key, id; - mouse m; - - load_editbox_lib(); - GetSystemDiscs(); - GetIni(1); - - edit1.shift_color=col_selec; - edit2.shift_color=col_selec; - - if (param) - { - copystr(#param, #path); - if (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //если нет, + "/" - } - else - copystr("/rd/1/", #path); - - Open_Dir(#path,ONLY_OPEN); - loop() switch(WaitEvent()) - { - case evMouse: - IF (del_active) break; - - id=GetSlot(Form.ID); - IF (id<>GetActiveProcess()) break; //если окно не активно на события мыши не реагируем - - IF (!rename_active) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); - - m.get(); - - if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<57) - { - IF (m.lkm==1) DrawRegion_3D(onLeft(26,0),41,14,14,0xC7C7C7,0xFFFFFF); - WHILE (m.lkm==1) && (za_kadrom>0) - { - Pause(10); - za_kadrom--; - List_ReDraw(); - m.get(); - } - DrawRegion_3D(onLeft(26,0),41,14,14,0xFFFFFF,0xC7C7C7); - } - - if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y0) - { - if (za_kadrom>0) za_kadrom--; - if (curbtn0) za_kadrom--; - if (curbtn0) curbtn--; - List_ReDraw(); - if (za_kadrom0) curbtn--; - List_ReDraw(); - } - //скролл - if (!m.lkm) && (scroll_used) { scroll_used=NULL; TVScroll(); } - if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && (m.ym.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //если курсор над окном - id=za_kadrom; //сохраняем старое количество - j= scroll_size/2; - za_kadrom = m.y -j -57 * count; - za_kadrom /= onTop(22,57); - IF (f_visible+za_kadrom>count) za_kadrom=count-f_visible; - IF (id<>za_kadrom) List_ReDraw(); //чтоб лишний раз не перерисовывать - } - break; -//Button pressed----------------------------------------------------------------------------- - case evButton: - id=GetButtonID(); - IF (id==1) ExitProcess(); - - IF (del_active) - { - IF (id==301) || (id==302) Del_File(302-id); - break; - } - switch(id) - { - case 21: //Back - GoBack(); - break; - case 22: //Forward - if (HistoryPath(GO_FORWARD)) - { - za_kadrom=curbtn=NULL; //вверх списка - Open_Dir(#path,WITH_REDRAW); - } - break; - case 23: //up! - Dir_Up(); - break; - case 24: //cut - key=24; - case 25: //copy - goto CTRLC_MARK; - case 26: //paste - Paste(); - break; - case 27: //goto edit_path - Goto_edit_path(); - break; - case 31...33: //sort - IF(sort_num==1) DrawFilledBar(onLeft(192,168)/2+210,42,6,10); - IF(sort_num==2) DrawFilledBar(onLeft(115,0),42,6,10); - IF(sort_num==3) DrawFilledBar(onLeft(44,0),42,6,10); - sort_num=id-30; - Open_Dir(#path,1); - break; - case 30: //about - CreateThread(#about_dialog,#stak); - break; - case 77: - IF (show_actions==1) show_actions=0; ELSE show_actions=1; - DrawLeftPanel(); - break; - case 78: //rescan devices - Tip(56, "Devices", 78, "-"); - Pause(10); - GetSystemDiscs(); - Open_Dir(#path,WITH_REDRAW); - DrawLeftPanel(); - break; - case 80: //rename - goto REN_MARK; - case 81: //Delete file - Del_Form(); - break; - case 82: //create folder - NEW_FOLDER_MARK: - copystr(#path, #temp); - copystr("New folder", #temp+strlen(#temp)); - CreateFolder(#temp); - IF (!EAX){ - SelectFile("New folder"); - goto REN_MARK; - } - ELSE - { - Write_Error(EAX); - ShowMessage("Folder can not be created."); - } - break; - case 100...120: - DEVICE_MARK: - DrawRegion_3D(17,id-100*16+74,159,16, 0, 0); //выделение - copystr(#disk_list[id-100].Item, #path); - za_kadrom=curbtn=0; - Open_Dir(#path,1); - Pause(5); - DrawRegion_3D(17,id-100*16+74,159,16, 0xFFFFFF, 0xFFFFFF); - break; - case 130...160: - tmp_disk_del_param[1]=disk_list[id-130].Item[4]; - RunProgram("/sys/tmpdisk", #tmp_disk_del_param); - Pause(10); - GetSystemDiscs(); - Open_Dir(#path,WITH_REDRAW); - DrawLeftPanel(); - break; - default: - if (id<200) break; //кнопки из списка файлов - if (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} - else - OPEN_MARK: - if (!isdir) GetIni(0); else - if (!strcmp(#file_name,"..")) Dir_Up(); - else - { - OPEN_DEV: - copystr(#file_path, #path); - IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //если нет, + "/" - za_kadrom=curbtn=0; - Open_Dir(#path,1); - } - } - break; -//Key pressed----------------------------------------------------------------------------- - case evKey: - key = GetKey(); - if (Form.status_window>2) break; - IF (del_active) - { - IF (key==013) Del_File(true); - IF (key==027) Del_File(false); - break; - } - IF (edit1.flags<>64) && (edit1.flags<>0) && (key<>13) - { - EAX=key<<8; - edit_box_key stdcall (#edit1); - break; - } - IF (edit2.flags<>64) && (key<>13) && (key<>27) - { - EAX=key<<8; - edit_box_key stdcall (#edit2); - break; - } - switch (key) - { - case 209...217: - id=key-110; - IF (id-100>=disc_num) break; - GOTO DEVICE_MARK; - case 8: //Назад - //GoBack(); - Dir_Up(); - break; - case 004: //Ctrl+D рис на раб стол растянуть - copystr("\\S__", #temp); - copystr(#file_path, #temp+strlen(#temp)); - RunProgram("/sys/media/kiv", #temp); - break; - case 014: //Ctrl+N новое окно - IF (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD); - RunProgram("/sys/File Managers/Eolite", #path); - break; - case 024: //Ctrl+X - case 003: //Ctrl+C - CTRLC_MARK: - IF (isdir) break; //папки пока что копировать не умеем - copystr(#file_path,#copy_file); //вычисляем какой файл копировать - IF (key==24) cut_active=1; ELSE cut_active=0; - break; - case 022: //Ctrl+V - Paste(); - break; - case 027: //Esc - IF (rename_active==1) ReName(false); - break; - case 013: //Enter - IF (rename_active==1) {ReName(true); break;} - IF (strcmp(#path,#edit_path)<>0) Goto_edit_path(); - ELSE GOTO OPEN_MARK; - break; - case 55: //F6 - new folder - goto NEW_FOLDER_MARK; - case 56: //IF (rename_active==1) break;//up - case 178: //up - FileList_ReDraw(-1); - break; - case 177: //down - FileList_ReDraw(1); - break; - case 180: //home - za_kadrom=0; - curbtn=0; - List_ReDraw(); - break; - case 181: //end - za_kadrom=count-f_visible; - curbtn=f_visible-1; - List_ReDraw(); - break; - case 183: //Page Down - FileList_ReDraw(f_visible-1); - break; - case 184: //Page Up - FileList_ReDraw(-f_visible+1); - break; - case 051: //Нажата F2 - REN_MARK: - if (!count) break; - DeleteButton(curbtn+201); //это чтоб можно было выделять мышью - edit2.flags=66; //делаем компонент активным - edit2.width=onLeft(24,217); - edit2.top=curbtn*BUTTON_HEIGHT+59; - edit2.size=edit2.pos=strlen(#file_name); - edit_box_draw stdcall (#edit2); - DrawBar(213,curbtn*BUTTON_HEIGHT+58,edit2.width+1,1,0xFFFFCC); //полоса желтая сверху для одинаковости - rename_active=1; - break; - case 052: //Нажата F3 - IF (!isdir) RunProgram("/sys/tinypad", #file_path); - break; - case 053: //Нажата F4 - IF (!isdir) RunProgram("/sys/develop/heed", #file_path); - break; - case 054: //F5 - Open_Dir(#path,1); - break; - case 182: //delete file - Del_Form(); - break; - default: - for (i=curbtn+za_kadrom+1; i2) return; - if (Form.heightcurbtn_) - { - Line_ReDraw(0xFFFFFF, curbtn); //белая полоса - curbtn+=curbtn_; - Line_ReDraw(col_selec, curbtn); //выделение - return; - } - else - { - IF(za_kadrom+curbtn+curbtn_>=count) - { - za_kadrom=count-f_visible; - curbtn=curbtn_-za_kadrom+curbtn; - } - ELSE - { - za_kadrom+=curbtn_+curbtn-f_visible+1; - curbtn=f_visible-1; - } - - IF (curbtn<0) || (curbtn>f_visible) - { - curbtn=f_visible-1; - } - List_ReDraw(); - } - } -} - - - - -void List_ReDraw() -{ - int paint_x=f_visible*BUTTON_HEIGHT+57; - IF (count-za_kadromf_visible-1) //если мы в конце списка файлов развернём окно появяться пустяе белые кнопки - { za_kadrom=count-f_visible; curbtn=f_visible-1; } //это если выделение после схлопывания окна за кадром - - FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(col_selec, curbtn); - DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //заливка белым доконца - DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),col_work); //полоса серая вертикальная 1 - DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),col_work); //полоса серая вертикальная 2 - TVScroll(); -} - - -void Line_ReDraw(dword color, filenum){ - dword text_col=0, name_len, - y=filenum*BUTTON_HEIGHT+57; //положение текста по Y - IF (rename_active==1) ReName(false); - DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //кнопа - //да, я не спорю что изврат, но зато перерисовки не видно - DrawBar(192,y,3,BUTTON_HEIGHT,color); - DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color); - if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color); - if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color); - - off=file_mas[filenum+za_kadrom]*304 + buf+72; - - if (!TestBit(ESDWORD[off-40], 4)) //это ФАЙЛ или папка? - { - copystr(off,#temp); - Put_icon(#temp+strchr(#temp,'.'), BUTTON_HEIGHT/2-7+y, color); - WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size - } - else - if (!strcmp("..",off)) - Put_icon("..", BUTTON_HEIGHT/2-7+y, color); - else - Put_icon("", BUTTON_HEIGHT/2-7+y, color); - - if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; //файл скрытый или системный? - - if (color<>0xFFFfff) - { - isdir=TestBit(ESDWORD[off-40], 4); - - copystr(off,#file_name); - copystr(#path,#file_path); - copystr(#file_name,#file_path+strlen(#file_path)); //полный путь к файлу - IF (text_col==0xA6A6B7) text_col=0xFFFFFF; - } - name_len = onLeft(215,165)/6; - IF (strlen(off)ONLY_SHOW) - { - copystr(temp_, #path_); - if (somelen) path_[somelen]=NULL; - - if (buf) free(buf); - buf = malloc(32); - errornum=ReadDir(0, buf, #path_); - if (errornum<>0) //ошибка при чтении папки - { - HistoryPath(ADD_NEW_PATH); - GoBack(); - Write_Error(errornum); - return; - } - count = ESDWORD[buf+8]; - buf = realloc(count * 304 + 32, buf); //почему 32? - ReadDir(count, buf, #path_); - count=EBX; - max_count = sizeof(file_mas)/sizeof(dword)-1; - if (count>max_count) count=max_count; //1 на удачу ;) - - } - if (count<>-1) - { - //debug("successfully \n"); - copystr(temp_,#edit_path); - KEdit(); - HistoryPath(ADD_NEW_PATH); - IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} //фильтруем элемент "." - FOR (j=0;jONLY_SHOW) Sorting(); //для больших папок при репеинте окна - IF (redraw<>ONLY_OPEN) List_ReDraw(); - } - IF (count==-1) && (redraw<>ONLY_OPEN) {f_visible=count=0; List_ReDraw();} -} - - - -inline Sorting() -{ - dword k=0, l=1; - int i; - if (!strcmp(#path,"/")) //не сортировать папки и не менять регистр в "/" - { - FOR(k=1;k=0; j--, off-=304;) //папки вверх, файлы вниз - { - TitleCase(off+40); - if (TestBit(ESDWORD[off],4)) //папка? - { - file_mas[k]=j; - k++; - } - else - { - file_mas[count-l]=j; - l++; - } - } - //Собственно сортировка: вначале папки, потом файлы - Sort_by_Name(0,k-1); - IF (sort_num==1) Sort_by_Name(k,count-1); - IF (sort_num==2) Sort_by_Type(k,count-1); - IF (sort_num==3) Sort_by_Size(k,count-1); - //если папка ".." не первая, ставим её туда - IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]>0) - { - Write_Error(del_file_rez); - IF ( isdir) ShowMessage("Error. Folder isn't empty."); - IF (!isdir) ShowMessage("Error. Filesystem read-only."); - } - } - del_active=0; - DeleteButton(301); DeleteButton(302); //удаляем кнопочки Yes/No - Open_Dir(#path,1); -} - -void Paste() -{ - char new_copy_path[4096]; - int copy_rezult; - - IF (!copy_file) return; //отмена, еши ещё ничё не скопировали - copystr(#path,#new_copy_path); - copystr(#copy_file+strchr(#copy_file,'/'),#new_copy_path+strlen(#new_copy_path)); - if (!strcmp(#copy_file,#new_copy_path)) //если мы копируем и вставляем в одной и той же папке - { - copystr(#path,#new_copy_path); - copystr("new_",#new_copy_path+strlen(#new_copy_path)); - copystr(#copy_file+strchr(#copy_file,'/'),#new_copy_path+strlen(#new_copy_path)); - } - copy_rezult=CopyFile(#copy_file,#new_copy_path); - IF (copy_rezult<>0) //ошибка - { - Write_Error(copy_rezult); - DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here."); - Pause(150); - } - IF (cut_active) //если мы выбрали вырезать - { - copystr(#copy_file,#file_path); - Del_File(true); - copy_file=NULL; - cut_active=false; - } - SelectFile(#new_copy_path+strchr(#new_copy_path,'/')); -} - - -void ReName(byte rename) -{ - int del_file_rez; - char edit_name[256]; - rename_active=0; - edit2.flags=64; - DefineButton(192,curbtn*BUTTON_HEIGHT+57,onLeft(27,192),BUTTON_HEIGHT,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF); - if (rename==true) - { - copystr(#path,#temp); - copystr(#file_name,#edit_name); //сохраняем новое имя файла, для того, чтобы его потом выделить - copystr(#file_name,#temp+strlen(#temp)); - if (strcmp(#file_path,#temp)<>0) && (file_name) - IF (isdir) - { - del_file_rez=DeleleFile(#file_path); - IF (del_file_rez<>0) - { - Write_Error(del_file_rez); - ShowMessage("Error. Folder isn't empty."); - return; - } - ELSE CreateFolder(#temp); - Open_Dir(#path,1); - } - ELSE - { - CopyFile(#file_path,#temp); - Del_File(true); - } - SelectFile(#edit_name); - } - Line_ReDraw(col_selec,curbtn); -} - - - -void Goto_edit_path() -{ - IF (!strcmp(#path,#edit_path)) return; //проверка не в этой ли мы папке - IF (strcmp(#edit_path+strlen(#edit_path)-1,"/")<>0) copystr("/",#edit_path+strlen(#edit_path)); //если нет, + "/" - Open_Dir(#edit_path,ONLY_OPEN); //проверяем если файлы в папке, так мы узнаём существует ли она - IF (count<1) - KEdit(); //просто очищаем полосу адреса - ELSE - { - za_kadrom=curbtn=0; //наверх списка - copystr(#edit_path,#path); - } - Open_Dir(#path,1); -} - -void SelectFile(dword that_file) -{ - za_kadrom=curbtn=0; //вверх списка - Open_Dir(#path,ONLY_OPEN); - TitleCase(that_file); - for (i=count-1; i>=0; i--;) - if (!strcmp(file_mas[i]*304+buf+72,that_file)) break; - FileList_ReDraw(i); - List_ReDraw(); -} - - -void Dir_Up() -{ - char cur_folder[4096]; - if (path[1]==NULL) return; - i=strlen(#path)-1; - path[i]=0x00; - do i--; while (path[i]<>'/'); - copystr(#path+i+1,#cur_folder); - path[i+1]=0x00; - SelectFile(#cur_folder); -} - - -inline fastcall void GoBack() //вначале удаляем текущий путь, а потом копируем то, что осталось -{ - char cur_folder[4096]; - copystr(GetCurrentFolder(), #cur_folder); - if (HistoryPath(GO_BACK)) SelectFile(#cur_folder); -} - - -stop: diff --git a/programs/fs/Eolite/trunk/compile.bat b/programs/fs/Eolite/trunk/compile.bat deleted file mode 100644 index a33983e0ef..0000000000 --- a/programs/fs/Eolite/trunk/compile.bat +++ /dev/null @@ -1,6 +0,0 @@ -del Eolite -@..\C--\c-- Eolite.c-- /lst -rename Eolite.com Eolite -rem ..\C--\kpack Eolite -del warning.txt -pause \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/imgs/blue_hl8.raw b/programs/fs/Eolite/trunk/imgs/blue_hl8.raw deleted file mode 100644 index c0f0d8aaba2f2d1438e7e6f158111b54d577cefb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50920 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 XnlMF0W)ZK51IjZWOBUVIM*;5u8xij; diff --git a/programs/fs/Eolite/trunk/imgs/file_actions.raw b/programs/fs/Eolite/trunk/imgs/file_actions.raw deleted file mode 100644 index 7b958bb240761a275d1758811137c7d0b5229672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2112 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 diff --git a/programs/fs/Eolite/trunk/imgs/png/blue_hl8.png b/programs/fs/Eolite/trunk/imgs/png/blue_hl8.png deleted file mode 100644 index ecef4dbbccd4034cac46344738dfb3a88d11d5b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5710 zcmW-l2{hDSAI9%27{l1J4?`$fLXss+mh4pahD?kS29qU43@z5INurDygOVj7RE#2f z*>`^$qC~a|WqGIfoX>sk^W1ZPzjMz$=ic)@H{pz}844+m1OT8c%uUX*`X&G%+z1%U zQPJ5rR>v7+?ivgLm%zUU>7R<)Va-rJW9?uHuH-?k~G?8GOCf8-+q@;L+Ykt_|&NB)Dt#UhAB0XGX0ODU+J0v-|-MPg|I z?^P<_RVvR_R;2P@r3wU71+G#BgQ@(%RH0y+PzX&hget@$ly)GLCLBT&W|@ClDDn@Q zNLb;4f6#>gQ7Cea1zjwxP&AA#8dfOAQdYcHD0Yo5{?8PNh112ti^RiOu}GAq;YAXx zc)dvCAH|X^Zm_fneZ3fcqgd)j37SPjiPVi^Ohk!vWQjD(N0i7!mS7@FWFt#N!srJ= z3x$HI2STV9#NT!UAk=PQa>^lmeED%wl;A6Y54jH}>*$;<^^c8h1N`jU!X(}DGwKQy z?zuBnf+%Oq6>rb&PJjNYk#RbEYDoOG59}}K*on@#RJbD1F>T$xl4}$--M2Ck$i+pv zck}klgr|VDje8Rh{0{sfl)QpOs_E(J={VxaW3jOAZXZBCQ@F*+n424{iG@zqHG`s} zaM`Tu)!J**4|7!27$_dKj%-j)XpP?=F2i}k%SB!YO;f=!fOlZZg6>a(FD0-9}pcQ9F_|mrg+}%29VSwRvM7Xr;FP!|BbEosPB7jf<46G*RE z3)1xzaB_Bbe((*UtUOb88;-b%s!)JfcR�_?wR*$}r&G;;&bRc&AGE{{6dOX=zti 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 diff --git a/programs/fs/Eolite/trunk/imgs/png/dev.png b/programs/fs/Eolite/trunk/imgs/png/dev.png deleted file mode 100644 index f9c1cab74f5b2c20444e526ed92b8e54cc2d004a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247 zcmV<51R(o~P)ch~1W_x!$3pQp`X2qEAoOAgx!sBPfJ5l6XMmX;qQO+WXhpD-}&wus`x}oCm*s#hr-klP|rb3Kui#Pk-$aIeJ9hWrQ>@O z7OcB6>h=*yifgCT^D_8*Fn$mG6>QjLmWfK&l6KmaWvDApIPdgA%c z1a{`}DSAa45-A~Q2{44$91t|TZlDREN!&m)vl481hL$c1WSDMNbxLt&yVQqIz5=)( zO-Trbh+v+`%!XJqB_)ijChHvSvnTToh7cN^ntA*8A`eOI@{T0h;0FeRAn0Hij-@*f z%;*GGkI*-&Wg#TSwm>;Cl{R?K!z*OTYd@%HLP8Tb>@wY#Ew+{(t&a)|v6sabsGOKe z`2N|7C<*|8hG3pXBv3Y`A7{D0p)4I;Hw^*d{>bdPG~Q9L*THd72OY*o9p`pBb6m84 zY_h(okD@eeFer#DkjL+j4CjtZOtX?LaJg4% z)%ryfLe58zxk%w1DSrDV^^a|Q#b8!yVtrE|4geITNs2iE0E}_PxX83OKYlQyOf|uQkzku| z(4aWNPvEOkb>M7edeaM|deLlNrTUc*l*-Dh^6Q_q?>dqO5<)B$g!_p-xA| zF-=jIsSZRJM% zPXYkD0)WG((CkYI4ffV&b+SIN1X?O2bU9j!OgG0F5Vh}O9M!qX5MCV zO|tm_KpH?|cYf}>+cluqQf^X91IX+naa(BYMqd9>)pg$mlGBR?w zuTblhk&$C>?DX{PzwH$Oy1RNei#9di-8iko^@i&fy#6=i@)xG>!NO>@e3}3N002ov JPDHLkV1gWtLv#QD diff --git a/programs/fs/Eolite/trunk/imgs/png/file_actions.png b/programs/fs/Eolite/trunk/imgs/png/file_actions.png deleted file mode 100644 index d3c20f2421ea6b4be66fefffcc485833be61477a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 694 zcmV;n0!jUeP);`gd;iqhjS+!&YgHTZ{lIX8j5Dz zESh>;4sJd|SK>`{`@H7x( zMM+6XQ>RV^>Om7{_(LKXj2ixfK|#qBOf)ex=S@PwOD88F`EADzh)RS8G?PAW-Fiz= z{X=2Vx6I7%B_&_1t-o&Hj;`Sc7(g^Uj*EMrnEWju;ERa~5PfxXdlDayuHnmDKVDK4PSPE(4P}P5~9a#wvgx90NbN}Kn;4^?9F%E z2X69&Y4~&E_v>Xq1XK-S0FmViBcLp@2XvXM0H2~!x8h+kr$AusvfuaFOe!W_c3t`vr;c^8ogk8g%ONF=)iUuG8@(CiS2F$dC c3jtLE0L27=;pVvW^8f$<07*qoM6N<$f*av7s{jB1 diff --git a/programs/fs/Eolite/trunk/imgs/png/icons.png b/programs/fs/Eolite/trunk/imgs/png/icons.png deleted file mode 100644 index fe900db6e238afbe8db53e05f28dc0b8f39fa807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3504 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 dT1=U+ie{BgZ2Zy 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 && (mm.x<155) && (mm.y>190) && (mm.y<190+22) - IF (mm.lkm) {DrawRegion_3D(86,191,68,20,0xC7C7C7,0xFFFFFF); letitclose=1;} - ELSE {IF (letitclose) {DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7); Pause(7); ExitProcess();}} - ELSE IF (letitclose) {letitclose=0; DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7);} - break; - - case evButton: - id=GetButtonID(); - IF (id==1) ExitProcess(); - IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK); - IF (id==33) RunProgram(EDITOR_PATH, #program_path); - break; - - case evKey: - IF (GetKey()==27) ExitProcess(); - break; - - case evReDraw: - DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite"); - DrawBar(0,0,172,50,0x8494C4); //голубое сзади - PutPaletteImage(#logo,85,85,43,7,#logo_pal); - WriteText(46,100,0x90,0xBF40BF,"Eolite v1.56",0); - $add ebx, 1<<16 - $int 0x40 - WriteText(55,120,0x80,0,"Developers:",0); - WriteText(39,130,0x80,0,"Leency & Veliant",0); - WriteText(45,140,0x80,0,"KolibriOS Team",0); - WriteText(61,150,0x80,0,"2008-2013",0); - WriteText(29,170,0x80,0,"Visit"); - DrawLink(66,170,23, "kolibri-n.org"); //ссылкa - DrawFlatButton(85,190,70,22,0,0xE4DFE1, "Close"); - - DefineButton(20-1,195-1, 16+1,15+1, 33+BT_HIDE, 0); - PutPaletteImage(8*16*15+#ficons,16,15,20,195,#ficons_pal); - DrawFilledBar(0, 216, 172, 12); - } -} - -void DrawLink(dword x,y,btn_id, inscription) -{ - WriteText(x,y,0x80,0x4E00E7,inscription,0); - DrawBar(x,y+8,strlen(inscription)*6,1,0x4E00E7); //подчеркнуть ссылку - DefineButton(x-1,y-1,strlen(inscription)*6,10,btn_id+BT_HIDE,0); -} \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/include/history.h b/programs/fs/Eolite/trunk/include/history.h deleted file mode 100644 index 3d600a0a73..0000000000 --- a/programs/fs/Eolite/trunk/include/history.h +++ /dev/null @@ -1,57 +0,0 @@ -//06.04.2012 - -path_string history_list[40]; -int history_num; -int history_current; - -#define ADD_NEW_PATH 1 -#define GO_BACK 2 -#define GO_FORWARD 3 - -dword GetCurrentFolder() -{ - char cur_fol[4096]; - copystr(#path,#cur_fol); - cur_fol[strlen(#cur_fol)-1]=0x00; //обрезаем последний / - copystr(#cur_fol+strchr(#cur_fol,'/'),#cur_fol); - return #cur_fol; -} - -int HistoryPath(byte action) -{ - int MAX_HISTORY_NUM; - - if (action==ADD_NEW_PATH) - { - if (history_num>0) && (!strcmp(#path,#history_list[history_current].Item)) return; - - MAX_HISTORY_NUM = sizeof(history_list)/sizeof(path_string); - if (history_current>=MAX_HISTORY_NUM-1) - { - history_current/=2; - for (i=0; i",16, -"txt", 1, -"doc", 1, -"rtf", 1, -"odt", 1, -"log", 1, -"docx",1, -"htm", 2, -"html",2, -"mht", 2, -"ini", 3, -"js", 3, -"conf",3, -"xlt", 4, -"xls", 4, -"ods", 4, -"xlsx",4, -"cmd", 5, -"bat", 5, -"sh", 5, -"com", 5, -"kex", 6, -"lua", 6, -"exe", 7, -"msi", 7, -"sys", 8, -"ocx", 8, -"drv", 8, -"so", 8, -"inc", 9, -"chr", 10, -"mt", 10, -"ttf", 10, -"fon", 10, -"asm", 11, -"skn", 13, -"djvu",15, -"pdf", 15, -"fb2", 15, -"nes", 18, -"smc", 18, -"img", 21, -"ima", 21, -"dll", 22, -"obj", 22, -"dict",22, -"iso", 24, -"cue", 24, -"nrg", 24, -"mdf", 24, -"gif", 19, -"bmp", 19, -"tga", 19, -"pcx", 19, -"png", 19, -"pnm", 19, -"jpg", 19, -"xcf", 19, -"ai", 19, -"jpeg",19, -"raw", 19, -"psd", 19, -"wbmp",19, -"tiff",19, -"tif", 19, -"ico", 20, -"cur", 20, -"ani", 20, -"vox", 20, -"rar", 23, -"zip", 23, -"cab", 23, -"tar", 23, -"ajr", 23, -"jar", 23, -"7z", 23, -"gz", 23, -"mp3", 12, -"wav", 12, -"mid", 12, -"midi",12, -"ogg", 12, -"wma", 12, -"flac",12, -"avi", 14, -"flv", 14, -"mpg", 14, -"wmv", 14, -"mov", 14, -"mkv", 14, -"mp4", 14, -"vob", 14, -"grf", 25, -0}; - - -#include "imgs\icons.txt" - - -void Put_icon(dword extension, yy, fairing_color) -{ - int icon_n=0, i; - - for (i=0; ext[i]<>0; i+=2;) - if (!strcmp(extension, ext[i])) - { - icon_n = ext[i+1]; - break; - } - - PutPaletteImage(icon_n*16*15+#ficons,16,15,195,yy,#ficons_pal); - if (icon_n<>17) && (strlen(extension)<9) WriteText(-strlen(extension)*3+onLeft(168,0)+36,yy+4,0x80,0,extension,0); - if (fairing_color<>0xFFFfff) IconFairing(icon_n, yy, fairing_color); //закрашиваем иконку -} - - - -void IconFairing(dword filenum, y, color) -{ - switch(filenum) - { - case 0...1: //файлик - DrawBar(195,y,2,15,color); - RIGHT_PAINT: - DrawBar(209,y,2,15,color); - DrawBar(205,y,4,1,color); - DrawBar(206,y+1,3,1,color); - DrawBar(207,y+2,2,1,color); - PutPixel(208,y+3,color); - return; - case 2: //html - DrawBar(195,y,1,7,color); - DrawBar(196,y,1,6,color); - DrawBar(195,y+10,1,5,color); - DrawBar(196,y+11,1,4,color); - GOTO RIGHT_PAINT; - case 3: //настройки - DrawBar(195,y,2,7,color); - DrawBar(195,y+7,1,2,color); - DrawBar(195,y+12,1,3,color); - PutPixel(196,y+14,color); - GOTO RIGHT_PAINT; - case 9: //inc - DrawBar(195,y,1,12,color); - DrawBar(196,y,1,11,color); - DrawBar(197,y,1,10,color); - DrawBar(198,y,1,5,color); - DrawBar(199,y,1,4,color); - DrawBar(200,y,1,3,color); - DrawBar(201,y,1,2,color); - DrawBar(202,y,1,3,color); - DrawBar(203,y,1,2,color); - PutPixel(204,y,color); - PutPixel(205,y+4,color); - PutPixel(206,y+3,color); - PutPixel(207,y,color); - PutPixel(207,y+2,color); - DrawBar(208,y,1,3,color); - DrawBar(209,y,2,4,color); - DrawBar(210,y,1,15,color); - PutPixel(198,y+14,color); - DrawBar(199,y+13,1,2,color); - DrawBar(200,y+12,10,3,color); - PutPixel(205,y+11,color); - DrawBar(206,y+10,1,2,color); - DrawBar(207,y+9,1,3,color); - PutPixel(207,y+7,color); - DrawBar(208,y+6,2,7,color); - PutPixel(209,y+5,color); - return; - case 10: //font - DrawRegion_3D(195,y,15,14,color,color); - DrawBar(196,y+1,1,13,color); - DrawBar(197,y+1,1,11,color); - DrawBar(198,y+1,1,10,color); - DrawBar(199,y+1,1,9,color); - DrawBar(200,y+1,1,7,color); - DrawBar(201,y+1,1,5,color); - DrawBar(202,y+1,1,4,color); - DrawBar(203,y+1,1,2,color); - DrawBar(209,y+1,1,13,color); - DrawBar(208,y+1,1,11,color); - PutPixel(204,y+6,color); - DrawBar(203,y+10,2,1,color); - DrawBar(202,y+11,2,3,color); - return; - case 11: //asm - DrawBar(195,y,1,15,color); - return; - case 12: //audio - DrawBar(195,y,16,1,color); - DrawBar(195,y,1,15,color); - DrawBar(196,y+1,4,8,color); - DrawBar(196,y+9,1,2,color); - PutPixel(197,y+9,color); - PutPixel(196,y+14,color); - DrawBar(210,y+1,1,14,color); - DrawBar(202,y+4,6,4,color); - DrawBar(202,y+8,4,1,color); - DrawBar(202,y+9,3,1,color); - DrawBar(202,y+10,2,3,color); - DrawBar(201,y+13,4,1,color); - DrawBar(200,y+14,14,1,color); - DrawBar(209,y+12,1,2,color); - PutPixel(208,y+13,color); - return; - case 13: //skin - PutPixel(210,y,color); - return; - case 14...15: //video, book - DrawBar(195,y,1,15,color); - DrawBar(210,y,1,15,color); - return; - case 16...17: //папка - DrawBar(195,y,1,15,color); - DrawBar(203,y,8,2,color); - IF (filenum==17) PutPixel(206,y+1,0x1A7B17); //зелёная точка стрелки - DrawBar(196,y+13,15,2,color); - PutPixel(196,y,color); //.точки - PutPixel(202,y,color); - PutPixel(210,y+2,color); - PutPixel(196,y+12,color); - PutPixel(210,y+12,color); - return; - case 18: //картридж - DrawBar(195,y,16,2,color); - DrawBar(195,y+11,1,2,color); - DrawBar(210,y+11,1,2,color); - DrawBar(195,y+13,16,2,color); - return; - case 19: //изображение - case 20: //изображение - DrawBar(195,y+14,16,1,color); - return; - case 21: //дискета - PutPixel(195,y,color); - PutPixel(210,y,color); - return; - case 22: //библиотека - DrawBar(195,y,16,1,color); //сверху слева - DrawBar(195,y+1,3,1,color); - DrawBar(195,y+2,2,1,color); - PutPixel(195,y+3,color); - PutPixel(210,y+11,color); //справа справа - DrawBar(209,y+12,2,1,color); - DrawBar(208,y+13,3,1,color); - DrawBar(207,y+14,4,1,color); - return; - case 23: //архив - PutPixel(195,y+3,color); - PutPixel(195,y+11,color); - PutPixel(210,y+3,color); - PutPixel(210,y+11,color); - - DrawBar(195,y,7,1,color); - DrawBar(204,y,7,1,color); - DrawBar(195,y+14,7,1,color); - DrawBar(204,y+14,7,1,color); - - DrawBar(195,y+1,5,1,color); - DrawBar(206,y+1,5,1,color); - DrawBar(195,y+13,5,1,color); - DrawBar(206,y+13,5,1,color); - - DrawBar(195,y+2,3,1,color); - DrawBar(208,y+2,3,1,color); - DrawBar(195,y+12,3,1,color); - DrawBar(208,y+12,3,1,color); - return; - case 24: //образ - DrawBar(195,y,6,1,color); - DrawBar(195,y+1,4,1,color); - DrawBar(195,y+2,3,1,color); - DrawBar(195,y+3,2,2,color); - - DrawBar(195,y+5,1,5,color); - - DrawBar(195,y+10,2,2,color); - DrawBar(195,y+12,3,1,color); - DrawBar(195,y+13,4,1,color); - DrawBar(195,y+14,6,1,color); - - DrawBar(195+11,y,5,1,color); - DrawBar(195+13,y+1,3,1,color); - DrawBar(195+14,y+2,2,1,color); - DrawBar(195+15,y+3,1,2,color); - - DrawBar(195+15,y+10,1,2,color); - DrawBar(195+14,y+12,2,1,color); - DrawBar(195+13,y+13,3,1,color); - DrawBar(195+11,y+14,5,1,color); - - return; - } -} diff --git a/programs/fs/Eolite/trunk/include/ini.h b/programs/fs/Eolite/trunk/include/ini.h deleted file mode 100644 index 83d5445299..0000000000 --- a/programs/fs/Eolite/trunk/include/ini.h +++ /dev/null @@ -1,128 +0,0 @@ -//INI parser in C--, GPL licence. -//Leency - 2012 - -#define COMMENT 0 -#define SECTION 1 -#define PARAM 2 -#define OPTION 3 - -unsigned char *ERROR_TEXT[]={ -"Code #0 - No error", -"Error #1 - Base or partition of a hard disk is not defined", -"Error #2 - Function isn't supported for this file system", -"Error #3 - Unknown file system", -"Error #4 - Reserved, is never returned", -"Error #5 - File or folder not found", -"Error #6 - End of file, EOF", -"Error #7 - Pointer lies outside of application memory", -"Error #8 - FAT table is destroyed", -"Error #9 - FAT table is destroyed", -"Error #10 - Access denied", -"Error #11 - Device error", -0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, -"Error #30 - Not enough memory", -"Error #31 - File is not executable", -"Error #32 - Too many processes", -0}; - -void GetIni(byte onload) -{ - byte section[32]='', parametr[32]='', option[256]='', InfType=0; - char bukva[2]; - int errornum; - dword fsize, tj; - static dword buff; - //читаем файл - IF (onload==1) - { - free(buff); - buff = malloc(12000); - copystr(".ini", #program_path+strlen(#program_path)); - } - - ReadFile(0, 12000, buff, #program_path); - IF (EAX<>6) ReadFile(0, 12000, buff, "/sys/File managers/Eolite.ini"); - IF (EAX<>6) //если файла с настройками тупо нет печалька - { - IF (onload==1) notify("Eolite.ini not found. Defaults will be used."); - IF (onload==0) goto RUN_AS_PROGRAM; - } - fsize=EBX; - //парсим его - for (tj=0; tj=0) Line_ReDraw(0xFF0000, curbtn); - Pause(5); - notify(#error); - //DrawBar(192,onTop(0, BUTTON_HEIGHT+7),onLeft(27,192),BUTTON_HEIGHT,0xFF0000); - //WriteText(205,onTop(-5, BUTTON_HEIGHT+7),0x80,0xFFFFFF,#error,0); -} \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/include/left_panel.h b/programs/fs/Eolite/trunk/include/left_panel.h deleted file mode 100644 index c530899e73..0000000000 --- a/programs/fs/Eolite/trunk/include/left_panel.h +++ /dev/null @@ -1,158 +0,0 @@ -void Tip(int y, dword caption, id, arrow) -{ - int i; - DrawBar(17,y,160,1,0xEFEDEE); - DrawFilledBar(17, y+1, 160, 16); - WriteText(25,y+5,0x80,0,caption,0); - IF (id<>0) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0xE4DFE1); //кнопа для стрелки - WriteText(165,y+5,0x80,0,arrow,0); //стрелка вниз - DrawBar(17,y+17,160,1,0x94AECE); //подчёркивание -} - - -path_string disk_list[20]; -int disc_num; -dword devbuf; - -void GetSystemDiscs() -{ - unsigned char dev_name[20], sys_discs[20]; - unsigned int i1, j1, dev_num, dev_disc_num; - - disc_num=0; - if (devbuf) free(devbuf); - devbuf= malloc(3112); //буфер где-то на 10 девайсов в левой панели - ReadDir(20, devbuf, "/"); - dev_num = EBX; - for (i1=0; i1=1073741824) copystr(" Gb",#size_nm); - else if (bytes>=1048576) copystr(" Mb",#size_nm); - else if (bytes>=1024) copystr(" Kb",#size_nm); - else copystr(" b ",#size_nm); - while (bytes>1023) bytes/=1024; - copystr(IntToStr(bytes),#size_prefix); - copystr(#size_nm,#size_prefix+strlen(#size_prefix)); - return #size_prefix; -} - - -dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB, -0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1}; - -inline fastcall void TVScroll() { //Прокрутка - dword on_y, i; - if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,col_work,""); return;} - on_y = za_kadrom * onTop(22,57) / count +57; - scroll_size=onTop(22,57) * f_visible - f_visible / count; - if (scroll_size<20) scroll_size = 20; //устанавливаем минимальный размер скролла - if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //для большого списка - DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,-1,"");//ползунок - if (!scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[13-i]); - if (scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]); - //поле до ползунка - if (on_y>58) DrawBar(onLeft(26,0),57,15,1, 0xC7C9C9); - DrawBar(onLeft(26,0),58,1, on_y-58,0xC7C9C9); - DrawBar(onLeft(25,0),58,14,on_y-58,0xCED0D0); - //поле после ползунка - if (onTop(22,57)-scroll_size+55>on_y) DrawBar(onLeft(26,0),on_y+scroll_size+1,15,1,0xC7C9C9); - DrawBar(onLeft(26,0),on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9); - DrawBar(onLeft(25,0),on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0); -} - -void DrawFlatButton(dword x,y,width,height,id,color,text) -{ - int fill_h; - DrawRegion_3D(x,y,width,height,col_border,col_border); - DrawRegion_3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding); - PutPixel(x+width-1, y+1, col_work); - DrawFilledBar(x+2, y+2, width-3, height-3); - IF (id<>0) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF); - WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text,0); -} - -void DrawFilledBar(dword x, y, w, h) -{ - int i, fill_h; - if (h <= 14) fill_h = h; else fill_h = 14; - for (i=0; i - 1 -{ - int iss = a; - IF (a >= b) return; - FOR (j = a; j <= b; j++) - IF (ESDWORD[file_mas[j]*304 + buf+64] <= ESDWORD[file_mas[b]*304 + buf+64]) { file_mas[iss] >< file_mas[j]; iss++;} - Sort_by_Size (a, iss-2); - Sort_by_Size (iss, b); -} - - -void Sort_by_Name(int a, b) // для первого вызова: a = 0, b = <элементов в массиве> - 1 -{ - int isn = a; - IF (a >= b) return; - FOR (j = a; j <= b; j++) - IF (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[isn] >< file_mas[j]; isn++;} - Sort_by_Name(a, isn-2); - Sort_by_Name(isn, b); -} - - -void Sort_by_Type(int a, b) // для первого вызова: a = 0, b = <элементов в массиве> - 1 -{ - dword filename1, filename2, ext1, ext2; - int n, isn = a; - IF (a >= b) return; - for (j = a; j <= b; j++) - { - filename1 = file_mas[j]*304 + buf+72; - filename2 = file_mas[b]*304 + buf+72; - - n=strlen(filename1)-1; - WHILE (n>0) && (ESBYTE[filename1+n]<>'.') n--; - IF (n) ext1 = filename1+n+1; else ext1=0; - n=strlen(filename2)-1; - WHILE (n>0) && (ESBYTE[filename2+n]<>'.') n--; - IF (n) ext2 = filename2+n+1; else ext2=0; - - n=strcmp(ext1, ext2); - IF (n<0) { file_mas[isn] >< file_mas[j]; isn++;} - IF (n==0) && (strcmp(filename1, filename2)<=0) { file_mas[isn] >< file_mas[j]; isn++;} - } - Sort_by_Type(a, isn-2); - Sort_by_Type(isn, b); -} - - - diff --git a/programs/fs/Eolite/trunk/lib/edit_box_lib.h b/programs/fs/Eolite/trunk/lib/edit_box_lib.h deleted file mode 100644 index 05c1c5dcd8..0000000000 --- a/programs/fs/Eolite/trunk/lib/edit_box_lib.h +++ /dev/null @@ -1,94 +0,0 @@ -//BOX_LIB -//Lrz - 2008 - -dword edit_box_draw = #aEdit_box_draw; -dword edit_box_key = #aEdit_box_key; -dword edit_box_mouse = #aEdit_box_mouse; - - -dword am__ = 0x0; -dword bm__ = 0x0; - -char aEdit_box_draw[9] = "edit_box\0"; -char aEdit_box_key[13] = "edit_box_key\0"; -char aEdit_box_mouse[15] = "edit_box_mouse\0"; - - - -struct edit_box{ -dword width, left, top, color, shift_color, focus_border_color, blur_border_color, -text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old; -}; - -//ed_width equ [edi] ;иЁаЁ­  Є®¬Ї®­Ґ­в  -//ed_left equ [edi+4] ;Ї®«®¦Ґ­ЁҐ Ї® ®бЁ е -//ed_top equ [edi+8] ;Ї®«®¦Ґ­ЁҐ Ї® ®бЁ г -//ed_color equ [edi+12] ;梥в д®­  Є®¬Ї®­Ґ­в  -//shift_color equ [edi+16] ;=0x6a9480 -//ed_focus_border_color equ [edi+20] ;梥в а ¬ЄЁ Є®¬Ї®­Ґ­в  -//ed_blur_border_color equ [edi+24] ;梥⠭Ґ  ЄвЁў­®Ј® Є®¬Ї®­Ґ­в  -//ed_text_color equ [edi+28] ;梥в ⥪бв  -//ed_max equ [edi+32] ;Є®«-ў® бЁ¬ў®«®ў Є®в®алҐ ¬®¦­® ¬ ЄбЁ¬ «м­® ўўҐбвЁ -//ed_text equ [edi+36] ;гЄ § вҐ«м ­  ЎгдҐа -//ed_flags equ [edi+40] ;д« ЈЁ -//ed_size equ [edi+42] ;Є®«-ў® бЁ¬ў®«®ў -//ed_pos equ [edi+46] ;Ї®§ЁжЁп Єгаб®а  -//ed_offset equ [edi+50] ;ᬥ饭ЁҐ -//cl_curs_x equ [edi+54] ;ЇаҐ¤л¤г饥 Є®®а¤Ё­ в  Єгаб®а  Ї® е -//cl_curs_y equ [edi+58] ;ЇаҐ¤л¤г饥 Є®®а¤Ё­ в  Єгаб®а  Ї® г -//ed_shift_pos equ [edi+62] ;Ї®«®¦Ґ­ЁҐ Єгаб®а  -//ed_shift_pos_old equ [edi+66] ;бв а®Ґ Ї®«®¦Ґ­ЁҐ Єгаб®а  - - - -int fastcall load_editbox_lib(EAX) -{ -//set mask - $mov eax,40 - $mov ebx,0x27 - $int 0x40 -// load DLL - $mov eax, 68 - $mov ebx, 19 - ECX="/sys/lib/box_lib.obj"; - $int 0x40 - $test eax, eax - $jz exit - -// initialize import - $mov edx,eax - ESI=#edit_box_draw; -import_loop: - $lodsd - $test eax,eax - $jz import_done - $push edx -import_find: - $mov ebx,DSDWORD[EDX] - $test ebx, ebx - $jz exit - $push eax -nex1: - $mov cl,DSBYTE[EAX]; - $cmp cl,DSBYTE[EBX]; - $jnz import_find_next - $test cl,cl - $jz import_found - $inc eax - $inc ebx - $jmp nex1 -import_find_next: - $pop eax - $add edx, 8 - $jmp import_find -import_found: - $pop eax - $mov eax,DSDWORD[edx+4] - $mov DSDWORD[esi-4],eax - $pop edx - $jmp import_loop -import_done: - return 0; -exit: - return -1; -} diff --git a/programs/fs/Eolite/trunk/lib/file_system.h b/programs/fs/Eolite/trunk/lib/file_system.h deleted file mode 100644 index 61895c9b10..0000000000 --- a/programs/fs/Eolite/trunk/lib/file_system.h +++ /dev/null @@ -1,188 +0,0 @@ -//CODED by Veliant, Leency 2008-2012. GNU GPL licence. - -struct f70{ - dword func; - dword param1; - dword param2; - dword param3; - dword param4; - char rezerv; - dword name; -}; - -struct BDVK{ - dword attr; - byte type_name; - byte rez1, rez2, rez3; - dword timecreate; - dword datecreate; - dword timelastaccess; - dword datelastaccess; - dword timelastedit; - dword datelastedit; - dword sizelo; - dword sizehi; - char name[518]; -}; - -//////////////////////////// -// Создать файл // -//////////////////////////// -f70 create_file_70; -int CreateFile(dword file_size, read_buffer, file_path) -{ - create_file_70.func = 2; - create_file_70.param1 = 0; - create_file_70.param2 = 0; - create_file_70.param3 = file_size; - create_file_70.param4 = read_buffer; - create_file_70.rezerv = 0; - create_file_70.name = file_path; - $mov eax,70 - $mov ebx,#create_file_70.func - $int 0x40 -} - -//////////////////////////// -// Прочитать файл // -//////////////////////////// -f70 read_file_70; -int ReadFile(dword pos, file_size, read_buffer, file_path) -{ - read_file_70.func = 0; - read_file_70.param1 = pos; - read_file_70.param2 = 0; - read_file_70.param3 = file_size; - read_file_70.param4 = read_buffer; - read_file_70.rezerv = 0; - read_file_70.name = file_path; - $mov eax,70 - $mov ebx,#read_file_70.func - $int 0x40 -} - -/////////////////////////// -// Прочитать папку // -/////////////////////////// -f70 read_dir_70; -int ReadDir(dword file_count, read_buffer, read_dir_path) -{ - read_dir_70.func = 1; - read_dir_70.param1 = 0; - read_dir_70.param2 = 0; - read_dir_70.param3 = file_count; - read_dir_70.param4 = read_buffer; - read_dir_70.rezerv = 0; - read_dir_70.name = read_dir_path; - $mov eax,70 - $mov ebx,#read_dir_70.func - $int 0x40 -} - -/////////////////////////// -// Запуск программv // -/////////////////////////// -f70 run_file_70; -int RunProgram(dword run_path, run_param) -{ - run_file_70.func = 7; - run_file_70.param1 = - run_file_70.param3 = - run_file_70.param4 = - run_file_70.rezerv = 0; - run_file_70.param2 = run_param; - run_file_70.name = run_path; - $mov eax,70 - $mov ebx,#run_file_70.func - $int 0x40 -} - -/////////////////////////// -// Создание папки // -/////////////////////////// -f70 create_dir_70; -int CreateFolder(dword new_folder_path) -{ - create_dir_70.func = 9; - create_dir_70.param1 = - create_dir_70.param2 = - create_dir_70.param3 = - create_dir_70.param4 = - create_dir_70.rezerv = 0; - create_dir_70.name = new_folder_path; - $mov eax,70 - $mov ebx,#create_dir_70.func - $int 0x40 -} - -//////////////////////////// -// Удаление файла/папки // -//////////////////////////// -f70 del_file_70; -int DeleleFile(dword del_file_path) -{ - del_file_70.func = 8; - del_file_70.param1 = - del_file_70.param2 = - del_file_70.param3 = - del_file_70.param4 = - del_file_70.rezerv = 0; - del_file_70.name = del_file_path; - $mov eax,70 - $mov ebx,#del_file_70.func - $int 0x40 -} - -/////////////////////////// -// Параметры файла // -/////////////////////////// -/*f70 getinfo_file_70; -BDVK getinfo_file_info; -:dword GetFileInfo(dword file_path) -{ - getinfo_file_70.func = 5; - getinfo_file_70.param1 = - getinfo_file_70.param2 = - getinfo_file_70.param3 = 0; - getinfo_file_70.param4 = #getinfo_file_info; - getinfo_file_70.rezerv = 0; - getinfo_file_70.name = file_path; - $mov eax,70 - $mov ebx,#getinfo_file_70.func - $int 0x40 -}*/ - -/////////////////////////// -// Скопировать файл // -/////////////////////////// -f70 CopyFile_f; -inline fastcall int CopyFile(dword EBX,ECX) -{ - BDVK CopyFile_atr; - dword s=EBX, d=ECX, cBufer=0, rezult; - CopyFile_f.func = 5; - CopyFile_f.param1 = 0; - CopyFile_f.param2 = 0; - CopyFile_f.param3 = 0; - CopyFile_f.param4 = #CopyFile_atr; - CopyFile_f.rezerv = 0; - CopyFile_f.name = s; - $mov eax, 70 - $mov ebx, #CopyFile_f - $int 0x40 - - if (!EAX) - { - cBufer = malloc(2*CopyFile_atr.sizelo); - if (!ReadFile(0, CopyFile_atr.sizelo, cBufer, s)) - rezult = CreateFile(CopyFile_atr.sizelo, cBufer, d); - free(cBufer); - } - return rezult; - -} - -void notify(dword notify_param) -{ - RunProgram("@notify", notify_param); -} \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/lib/kolibri.h b/programs/fs/Eolite/trunk/lib/kolibri.h deleted file mode 100644 index 77a04964c0..0000000000 --- a/programs/fs/Eolite/trunk/lib/kolibri.h +++ /dev/null @@ -1,317 +0,0 @@ -//CODED by Veliant, Leency 2008-2012. GNU GPL licence. - -#startaddress 0 -#code32 TRUE - -byte os_name[8] = {'M','E','N','U','E','T','0','1'}; -dword os_version = 0x00000001; -dword start_addr = #main; -dword final_addr = #stop+32; -dword alloc_mem = 0x000f0000; -dword x86esp_reg = 0x000f0000; -dword I_Param = #param; -dword I_Path = #program_path; - -char param[4096]; -char program_path[4096]; - -#include "lib\strings.h" - -//Events -#define evMouse 6 -#define evButton 3 -#define evKey 2 -#define evReDraw 1 - -//Button options -#define BT_DEL 0x80000000 -#define BT_HIDE 0x40000000 -#define BT_NOFRAME 0x20000000 - -#define OLD -1 -#define true 1 -#define false 0 - -#define NULL 0 - - -struct mouse -{ - unsigned int x,y,lkm,pkm,hor,vert; - void get(); -}; - -inline fastcall int TestBit(EAX, CL) -{ - $shr eax,cl - $and eax,1 -} - -void mouse::get() -{ - EAX = 37; - EBX = 1; - $int 0x40 - $mov ebx, eax - $shr eax, 16 - $and ebx,0x0000FFFF - x = EAX; - y = EBX; - - EAX = 37; - EBX = 2; - $int 0x40 - $mov ebx, eax - $and eax, 0x00000001 - $shr ebx, 1 - $and ebx, 0x00000001 - lkm = EAX; - pkm = EBX; - - EAX = 37; //scroll - EBX = 7; - $int 0x40 - $mov ebx, eax - $shr eax, 16 - $and ebx,0x0000FFFF - //hor = EAX; - vert = EBX; -} - -//--------------------------------------------------------------------------- -struct proc_info -{ - #define SelfInfo -1 - dword use_cpu; - word pos_in_stack,num_slot,rezerv1; - char name[11]; - char rezerv2; - dword adress,use_memory,ID,left,top,width,height; - word status_slot,rezerv3; - dword work_left,work_top,work_width,work_height; - char status_window; - dword cwidth,cheight; - byte reserved[1024-71-8]; -}; - -inline fastcall void GetProcessInfo( EBX, ECX) -{ - $mov eax,9; - $int 0x40 - DSDWORD[EBX+71] = DSDWORD[EBX+42] - 9; //set cwidth - DSDWORD[EBX+75] = DSDWORD[EBX+46] - GetSkinHeight() - 4; //set cheight -} - -inline fastcall int GetSlot( ECX) -{ - $mov eax,18; - $mov ebx,21; - $int 0x40 -} - -inline fastcall int GetActiveProcess() -{ - $mov eax,18; - $mov ebx,7; - $int 0x40 -} - -inline fastcall void ActivateWindow( ECX) -{ - EAX = 18; - EBX = 3; - $int 0x40 -} - -//------------------------------------------------------------------------------- - -inline fastcall dword WaitEvent(){ - $mov eax,10; - $int 0x40 -} - -inline fastcall void SetEventMask( EBX) -{ - EAX = 40; - $int 0x40 -} - -inline fastcall word GetKey(){ //+Gluk fix - $push edx -GETKEY: - $mov eax,2 - $int 0x40 - $cmp eax,1 - $jne GETKEYI - $mov ah,dh - $jmp GETKEYII //jz? -GETKEYI: - $mov dh,ah - $jmp GETKEY -GETKEYII: - $pop edx - EAX = EAX >> 8; -} - -inline fastcall word GetButtonID(){ - EAX = 17; // Get ID - $int 0x40 - EAX = EAX >> 8; -} - -inline fastcall void ExitProcess(){ - EAX = -1; // close this program - $int 0x40 -} - -inline fastcall void Pause( EBX){ - $mov eax, 5 - $int 0x40 -} - -//------------------------------------------------------------------------------ -void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType, dword mainAreaColour, EDI) -{ - EAX = 12; // function 12:tell os about windowdraw - EBX = 1; - $int 0x40 - - EBX = x << 16 + sizeX; - ECX = y << 16 + sizeY; - EDX = mainAreaType << 24 | mainAreaColour; - $xor eax,eax - $int 0x40 - - EAX = 12; // function 12:tell os about windowdraw - EBX = 2; - $int 0x40 -} - -inline fastcall void CreateThread( ECX,EDX) -{ - EAX = 51; - EBX = 1; - $int 0x40 -} - -inline fastcall void DrawTitle( ECX){ - EAX = 71; - EBX = 1; - $int 0x40; -} - -inline fastcall dword GetSkinHeight() -{ - $push ebx - $mov eax,48 - $mov ebx,4 - $int 0x40 - $pop ebx -} - -inline fastcall dword GetScreenHeight() -{ - EAX = 14; - $int 0x40 - $and eax,0x0000FFFF -} - -inline fastcall dword GetScreenWidth() -{ - $mov eax, 14 - $int 0x40 - $shr eax, 16 -} - -inline fastcall void MoveSize( EBX,ECX,EDX,ESI){ - $mov eax,67; - $int 0x40 -} - -//------------------------------------------------------------------------------ -inline fastcall void PutPixel( EBX,ECX,EDX) -{ - EAX=1; - $int 0x40 -} - -void DefineButton(dword x,y,w,h,EDX,ESI) -{ - EAX = 8; - $push edx - EDX += BT_DEL; //вначале удаляем кнопу с эти ид, потом создаём - $int 0x40; - EBX = x<<16+w; - ECX = y<<16+h; - $pop edx - $int 0x40 -} - -inline fastcall void DeleteButton( EDX) -{ - EAX = 8; - EDX += BT_DEL; - $int 0x40; -} - -void WriteText(dword x,y,byte fontType, dword color, EDX, ESI) -{ - EAX = 4; - EBX = x<<16+y; - ECX = fontType<<24+color; - $int 0x40; -} - -void DrawBar(dword x,y,w,h,EDX) -{ - if (h<0) || (h>8000) return; - EAX = 13; - EBX = x<<16+w; - ECX = y<<16+h; - $int 0x40 -} - -void DrawRegion_3D(dword x,y,width,height,color1,color2) -{ - DrawBar(x,y,width+1,1,color1); - DrawBar(x,y+1,1,height-1,color1); - DrawBar(x+width,y+1,1,height,color2); - DrawBar(x,y+height,width,1,color2); -} - -void PutPaletteImage(dword EBX,w,h,x,y, EDI) -{ - EAX = 65; - ECX = w<<16+h; - EDX = x<<16+y; - ESI = 8; - EBP = 0; - $int 0x40 -} - -void PutImage(dword EBX,w,h,x,y) -{ - EAX = 7; - ECX = w<<16+h; - EDX = x<<16+y; - $int 0x40 -} - -//------------------------------------------------------------------------------ -inline fastcall void debug( EDX) -{ - $mov eax, 63 - $mov ebx, 1 -NEXT_CHAR: - $mov ecx, DSDWORD[edx] - $or cl, cl - $jz DONE - $int 0x40 - $inc edx - $jmp NEXT_CHAR -DONE: - $mov cl, 13 - $int 0x40 - $mov cl, 10 - $int 0x40 -} \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/lib/memory.h b/programs/fs/Eolite/trunk/lib/memory.h deleted file mode 100644 index 0731c0ca73..0000000000 --- a/programs/fs/Eolite/trunk/lib/memory.h +++ /dev/null @@ -1,67 +0,0 @@ -#code32 TRUE - -inline fastcall dword malloc(dword ECX){ - dword size, heap; - #speed - size = ECX; - EAX = 68; - EBX = 11; - $int 0x40; - heap = EAX; - IF (size<=heap) - { - EAX = 68; - EBX = 12; - ECX = size; - $int 0x40; - } - ELSE EAX=-1; - #codesize -} - -inline fastcall dword free(dword ECX){ - #speed - EAX = 68; - EBX = 13; - $int 0x40; - #codesize -} - -inline fastcall dword realloc(dword ECX, EDX){ - #speed - EAX = 68; - EBX = 20; - $int 0x40; - #codesize -} - - -inline fastcall memmov( EDI, ESI, ECX) -{ - asm { - MOV EAX, ECX - CMP EDI, ESI - JG L1 - JE L2 - SAR ECX, 2 - JS L2 - REP MOVSD - MOV ECX, EAX - AND ECX, 3 - REP MOVSB - JMP SHORT L2 -L1: LEA ESI, DSDWORD[ ESI+ECX-4] - LEA EDI, DSDWORD[ EDI+ECX-4] - SAR ECX, 2 - JS L2 - STD - REP MOVSD - MOV ECX, EAX - AND ECX, 3 - ADD ESI, 3 - ADD EDI, 3 - REP MOVSB - CLD -L2: - } -} diff --git a/programs/fs/Eolite/trunk/lib/strings.h b/programs/fs/Eolite/trunk/lib/strings.h deleted file mode 100644 index d905755f8a..0000000000 --- a/programs/fs/Eolite/trunk/lib/strings.h +++ /dev/null @@ -1,171 +0,0 @@ -//CODED by Veliant, Leency 2008-2012. GNU GPL licence. - - -inline fastcall dword strlen( EDI) -{ - asm { - xor ecx, ecx - xor eax, eax - dec ecx - repne scasb - sub eax, 2 - sub eax, ecx - } -} - - -inline fastcall copystr( ESI,EDI) -{ - $cld -L1: - $lodsb - $stosb - $test al,al - $jnz L1 -} - -char buffer[11]; -inline fastcall dword IntToStr( ESI) -{ - $mov edi, #buffer - $mov ecx, 10 - $test esi, esi - $jns F1 - $mov al, '-' - $stosb - $neg esi -F1: - $mov eax, esi - $push -'0' -F2: - $xor edx, edx - $div ecx - $push edx - $test eax, eax - $jnz F2 -F3: - $pop eax - $add al, '0' - $stosb - $jnz F3 - $mov eax, #buffer -} - -inline fastcall dword StrToInt() -{ - ESI=EDI=EAX; - IF(DSBYTE[ESI]=='-')ESI++; - EAX=0; - BH=AL; - do{ - BL=DSBYTE[ESI]-'0'; - EAX=EAX*10+EBX; - ESI++; - }while(DSBYTE[ESI]>0); - IF(DSBYTE[EDI]=='-') -EAX; -} - -dword StrToCol(char* htmlcolor) -{ - dword j, color=0; - char ch=0x00; - - FOR (j=0; j<6; j++) - { - ch=ESBYTE[htmlcolor+j]; - IF ((ch>='0') && (ch<='9')) ch -= '0'; - IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; - IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; - color = color*0x10 + ch; - } - return color; -} - -inline fastcall signed char strcmp(ESI, EDI) -{ - loop() - { - IF (DSBYTE[ESI]DSBYTE[EDI]) RETURN 1; - IF (DSBYTE[ESI]=='\0') RETURN 0; - ESI++; - EDI++; - } -} - - - -inline fastcall signed int strchr(ESI,BL) -{ - int jj=0, last=-1; - do{ - jj++; - $lodsb - IF(AL==BL) last=jj; - } while(AL!=0); - return last; -} - - -inline fastcall TitleCase( EDX) -{ - AL=DSBYTE[EDX]; - IF(AL>='a')&&(AL<='z')DSBYTE[EDX]=AL&0x5f; - IF (AL>=160) && (AL<=175) DSBYTE[EDX] = AL - 32; //а-п - IF (AL>=224) && (AL<=239) DSBYTE[EDX] = AL - 80; //а-п - do{ - EDX++; - AL=DSBYTE[EDX]; - IF(AL>='A')&&(AL<='Z'){DSBYTE[EDX]=AL|0x20; CONTINUE;} - IF(AL>='Ђ')&&(AL<='Џ')DSBYTE[EDX]=AL|0x20; // -Ї - IF (AL>=144) && (AL<=159) DSBYTE[EDX] = AL + 80; //а-п - }while(AL!=0); -} - - - -inline fastcall strcpy( EDI, ESI) -{ - $cld -L2: - $lodsb - $stosb - $test al,al - $jnz L2 -} - - -inline fastcall strcat( EDI, ESI) -{ - asm { - mov ebx, edi - xor ecx, ecx - xor eax, eax - dec ecx - repne scasb - dec edi - mov edx, edi - mov edi, esi - xor ecx, ecx - xor eax, eax - dec ecx - repne scasb - xor ecx, 0ffffffffh - mov edi, edx - mov edx, ecx - mov eax, edi - shr ecx, 2 - rep movsd - mov ecx, edx - and ecx, 3 - rep movsb - mov eax, ebx - } -} - -inline fastcall void chrcat(ESI, BL) -{ - EDI = strlen(ESI); - ESBYTE[ESI+EDI] = BL; - ESBYTE[ESI+EDI+1] = 0; -} \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/txt/History.txt b/programs/fs/Eolite/trunk/txt/History.txt deleted file mode 100644 index 22c5af4865..0000000000 --- a/programs/fs/Eolite/trunk/txt/History.txt +++ /dev/null @@ -1,565 +0,0 @@ -28.02.13 -- v1.56 -- исправлено падение после запуска переименованого файла; -- увеличено количество поддерживаемых дисков с 10 до 20. - -10.01.13 -- v1.55 -- исправлен эпичный баг с сортировкой; -- испрвлены баги при попытке переименования или удаления файла в папке, - где их нет. - -17.12.12 -- v1.5 -Обновлён GUI: кнопки на тулбаре стали чище, остальные обзавелись градиентами. - -16.11.12 -- v1.43 -- при минимальном размере окна учитывается количество дисков в системе; -- добавлен фон на левую панель; -- удаление виртуальных дисков типа /tmpX/1; -- исправлена страшнейшая утечка памяти равная размеру копируемого файла; -- улучшения в организации файлов и кода. - -15.11.12 -- v1.36 -- устранена утечка памяти при сканировании устройств; -- частично устранён вылет программы на больших папках (спасибо SoUrcerer за - то, что научил пользоваться отладчиком); -- ограничение на количесво устройств изменено с 10 на 20; -- обновление кода. - -12.11.12 -- v1.35 -- теперь окно не обрабатывает клавиши если свёрнуто в заголовок; -- фикс для строки адреса; -- исправлена 100% загрузка процессора при удержании ползунка; -- исправлена серьёзная утечка памяти, уменьшено её потребление. - -10.07.12 -- v1.30 -- небольшие улучшения в работе кнопок "назад/вперёд"; -- иконка для *.grf; -- в окне About кнопка для редактирования Eolite.ini; -- небольшие улучшения кода. - - -23.06.12 -- v1.28 -- более правильная реализация вывода ошибок (+задел на мультиязычность) - и вывода иконки (+задел на перемещение в ini файл); -- исправлен баг с вылетом при нажатии на кнопку "Вперёд"; -- удалён мёртвый код, обновление существующего. - -21.06.12 -- v1.25 -- распознавание виртуального диска; -- изменения в прокрутке колёсиком мыши; -- обновление кода. - -14.06.12 -- v1.23 -- исправлен баг, когда окно было схлопнуто в заголовок и свёрнуто; -- при нажатии на кнопку закрытия окна ползунок прыгал вверх. - -13.05.12 -- v1.22 --16,5 Кб -- окно не залезает на панель задач при запуске на низких разрешениях; -- кнопка и параметр в ini-файле показывать названия устройств или нет. - -05.04.12 -- v1.2 --16,5 Кб -- заработала кнопка "Вперёд", кошерный код работы с историей; -- парочка багфиксов в определении и выводе списка устройств. - -05.04.12 -- v1.1 --16,2 Кб -- отображение списка дисков, а не устройств в панели слева; -- уменьшен размер программы и потребляемой памяти; -- возможность задать цвет выделения и высоту пункта в списке файлов; -- после перерисовки окна пропадал диалог удаления файла -- другие мелкие исправления. - -26.03.12 -- v1.0 --16,2 Кб -Мелкие исправления. - - - - - - - -27.08.11 -- v0.99.8 RC3 -- 16.2 Кб -- исправления в скроллбаре, баг со времён первых версий; -- в 90% случаев не выделяло переименованый файл; -- не выделяло файл скопированный в эту же папку; -- теперь прокрутка срабатывает только, если окно активно (спасибо Mario); -- новая иконка ножниц в тулбаре (несколько изменённый вариант из Fugue icons); -- абсолютно все иконки файлов теперь обтекаемы выделением (помнится кто-то просил); -- исправлены ошибки в процедуре переименования; -- теперь программа адекватно открывается с параметром; -- много других оптимизаций и мелких исправлений. - - -22.08.11 -- v0.99 RC2 -- 16.2 Кб -- чуток улучшен Ctrl+N; -- небольшое исправление если запустить Эолайт с параметром /rd/1/; -- Ctrl+D помещает растянутое изображение на раб.стол (для меня это была Ultimate Ficha KFM); -- крохотный фикс скролла; -- более няшно нажимаются кнопки навигации; -- чуток обновлены иконки. - - -18.08.11 -- v0.98.9b RC2 -- 15.9 Кб -- программа берёт файл настроек из папки, откуда запущена. - Если он там не найден, то из папки по-умолчанию /rd/1/File managers/Eolite.ini - (for Chaos Constructions-2011, thanks Albom). - - -30.07.11 -- v0.98.9 RC2 -- 15.9 Кб -- если файл с настройками (Eolite.ini) не найден, то программа любезно - сообщит об этом через @notify; -- теперь отображает серым не только системные, но и скрытые файлы; -- предварительный просмотр удалён за ненадобностью; -- kolibrios.org теперь ссылка в окне "О программе" (хотя htmlv пока что - не умеет открывать интернет адреса при запуске); -- F4 - открывает файл для hex просмотра и редактирования (хотя heed пока - что не поддерживает работу с параметрами...). - - -20.07.11 -- v0.98.8 RC2 -- 15.9 Кб -- вывод сообщений об ошибках файловой системы через @notify. Притом не - только номер, а ещё и разъяснения что за ошибка; -- теперь нормально определяются расширения файлов, а не тупо обрезается - последних 4 символа имени файла. В часности исправлен баг, - найденный Gluk'ом, когда иконка программы Zeroconf была как - у конфигурационного файла с расширением ".conf"; -- Rock_maniak_forever поправил 9 функцию, связанную с буфером, чтобы Эолайт - не показывал мусор вместо списка файлов; -- при создании новой папки на разделе, с фс которое его не поддерживает, - выделяло первую папку, исправлено (баг нашёл turbanoff); -- показывается сообщение что папка не может быть создана, файл удалён; -- новые пиктограммы действий (Actions); -- много новых и обновлённых иконок файлов. - - - - -30.01.10 -- v0.98.7a RC2 -- 14.8 Кб -- увеличена длинна пути файла: отныне может быть до 4096 символов. - - -23.10.09 -- v0.98.7 RC2 -- 14.7 Кб (Izabella edition) -- исправлено два бага при использовании клавиш Ctrl+F1...F12 при переключении - между устройствами: во-первых, не переходило на рам-диск, во-вторых, переходило - на несуществующие носители. - - -19.10.09 -- v0.98.6 RC2 -- 14.7 Кб (рано закапывать, так-то!) -- Lrz: поддержание совместимости с новой версией box_lib.obj. - - -29.12.08 -- v0.98.5 RC2 -- 14.7 Кб -- начальная поддержка ini-файла, начальная потому что пока что при каждом - запуске файла или программы он загрузажется и парсится; -- по просьбе Nable'а сделал тексторый предпросмотр файлов (в DOS-кодировке); -- анимация при разворачивании Preview; -- после переименования выделяется переименованый файл или папка. -- исправлен баг в сортировке по типу из-за которого программа могла вылетать; -- исправлен баг с клавишей вверх, в случае, если в разделе нет файлов и папок; -- исправлена процедура поднятия папки ".." вверх из-за которой программа в - разделе, где нет папок, вылетала; -- упрощение и удаление мертвого кода. - - -20.12.08 -- v0.98.3 RC2 -- 14.6 Кб -- теперь координаты отсчитываются от конца скина; -- устранён вылет программы в случае, если в папке 0 или больше чем 6898 файлов; -- исправлен баг: если в конце списка развернуть окно, выделение "прыгало" вверх; -- исправлена перерисовка при переходе в другую папку или устройство; -- немного оптимизировано изменение регистра букв в названиях файлов; -- теперь выделяется папка, в которой мы были и после кнопки "Назад"; -- исправлены недочёты при переходе в верхнюю папку; -- в историю посещённых папок теперь не может два раза подряд записаться одна и - та же папка; -- исправлен баг из-за которого выделение выделение могло не двигаться клавишами; -- прога не вылетает из-за переполнения в истории посещённых папок, однако один - небольшой косяк там остался; -- тестовое отображение скрытых файлов; -- удалён неиспользуемый код. - - -16.12.08 -- v0.98.1 RC1 -- 14.7 Кб -- папка ".." теперь всегда первая в списке; -- кнопки вверх/вниз скролл бара теперь реагируют на нажатие и удержание; -- файлы с некоторыми расширениями теперь нельзя запускать (реализовал s1n). - - -15.12.08 -- v0.98 RC1 -- 14.5 Кб -- программа научилась работать с bd-дисками и NTFS; -- исправлен баг из-за которого прога вылетала при переходе на уровень вверх; -- исправлено отображение регистра букв для кириллицы; -- удаление папки "." из листинга директории (спасибо diamond'у за помощь). - - -30.11.08 -- v0.97.2 beta7 -- 14.4 Кб -- на /bd/ разделах прога больше не вылетает (хоть ничего на них и не видит); -- некоторые исправления в работе полосы прокрутки; -- динамическое выделение памяти (в режиме тестирования). - - -26.11.08 -- v0.97.1 beta7 -- 14.3 Кб -- удаление, создание и переименование пустых папок; -- все процедуры работы с файловой системой вынесены в отдельный файл; -- благодаря помощи Veliant'а большая часть изображений конвертирована в - 256-цветные с палитрой. В результате чего уменьшился размер сжатой программы - и в 2 раза уменьшился обьём несжатой kpack'ом; -- улучшено перетягивание ползунка; -- исправлен один баг. - - -20.11.08 -- v0.97 beta7 -- 14.9 Кб -- уменьшена перерисовка: во время перерисовки списка - фон под иконками не рисуется; -- новая иконка изображений, обтекаемость архивов. - - -17.11.08 -- v0.96.9 beta7 -- 14.9 Кб -- некоторые новые ассоциации и иконки файлов .dll (.obj) и .img. - - -14.11.08 -- v0.96.8 beta7 -- 14.6 Кб -- при нажатии на букву, выделяется соответствующий файл; -- некоторые новые ассоциации и иконки файлов .cpp и .nes. - - -31.10.08 -- v0.96.7 beta7 -- 14.4 Кб -- теперь, при переходе на уровень вверх, выделяется папка в которой мы были; -- отловил баг из-за которого, если попытаться войти в верхнюю папку\файл в - списке, не смотря что там выделено, вы перейдёте на уровень вверх; -- исправлен баг из-за которого не все элементы сортировались по типу; -- теперь выделеный элемент в списке рисуется "в порядке очереди", а не самым - последним; это было заметно при перемотке; -- оптимизации. - - -24.10.08 -- v0.96.3 beta7 -- 14.4 Кб -- скролл колёсиком как в Symbian; -- уменьшена перерисовка окна в ущерб размеру программы; -- исправлен баг, когда папки, названия которых имели симполы типа !,& прыгали - вверх, выше папки ".."; -- исправление других багов, улучшение кода. - - -23.10.08 -- v0.96 beta6 -- 14.1 Кб -- вместо сортировки пузырьком теперь используется алгоритм быстрой сортировки - (да здравствует Википедия!)). Как результат скорость сортировки по размеру - увеличилась в 8 раз, по типу более чем в 5 раз, по имени возросла на 30%; -- и более того: теперь, конечно же, сортировка проходит не по первой букве имени - файла, а по названию вообще. Так же, при сортировке по типу есть одинаковые - расширения, то эти файлы упорядывачиваются по имени; -- оптимизирована процедура сравнения строк; -- перемотка по 3 элемента; -- оптимизация и доработка панели устройств. - - -17.10.08 -- v0.95.7 beta6 -- 14.3 Кб -- перемотка по 2 элемента; -- упорядочивание файлов по типу. - -15.10.08 -- v0.95.4 beta6 -- 14.0 Кб -- исправлен баг: первая буква названия файл\папки не делалась большой (строчной). - -03.10.08 -- v0.95.3 beta6 -- 14.1 Кб -- устранён серьёзный баг с кнопкой "Назад"; -- при сортировке файлов по размеру, папки не перемешиваются в хаотичном порядке, - а продолжают быть отсортированными по имени. -- устранён баг в сортировке файлов; -- новая иконка папки. - - -17.09.08 -- v0.95.2 beta6 -- 14.1 Кб -- исправлена ошибка, связанная с количеством файлов в папке, замечена Serge'м. - Теперь Эолайт без проблем заходит даже в самые большие папки (было проверено - на папке объёмом 91000 файлов), но отображает максимум только 6898 файлов; -- по нажатию Ctrl+N создаётся новое окно программы с текущей папкой; -- небольшие оптимизации. - - -14.09.08 -- v0.95 beta6 -- 14.0 Кб -- новая полоса адреса и переименования файла, основанные на компоненте от ; -- в EditBox'ax теперь можно использовать все цифры от 1 до 9 (мечта Атаульпы:); -- если не выделена строка адреса клавиша BackSpace возвращает в предыдущую папку; -- оптимизирована функция IntToStr() за что огромное спасибо diamond'y, она стала - меньше на 158 байт; -- много интересного почерпнуто из либы Nable'а относительно оптимизации функций; -- по совету Albom'a динамическое выделение памяти было заменено статическим, как - последствие - исчезло два известных бага, связанных с копированием файлов и - их переименованием; -- некоторые переменные стали локальными, ещё оптимизации и небольшие багфиксы. - - -02.08.08 -- v0.94.4 beta5 -- 14.0 Кб -- правка трёх небольших багов, оптимизации. - - -28.07.08 -- v0.94.3 beta5 -- 14.1 Кб -- переход по девайсам Ctrl+<цифра>; -- установлен минимальный размер высоты окна; -- иконка папки "вверх"; -- почищен и оптимизирован код. - - -04.07.08 -- v0.94 beta5 -- 13.9 Кб -- исправлен довольно старый баг, если ползунок прокрутки в папке с очень большим - количеством файлов перетянуть вверх до начала списка, программа вылетала. - - -04.07.08 -- v0.93.9 beta5 -- 13.9 Кб -- работает клавиша "Назад" :) -- устранён баг из-за которого папки "." и ".." подвергались сортировке - - -29.06.08 -- v0.93.8 beta5 -- 13.8 Кб -- сортировка файлов по первой букве имени - - -22.06.08 -- v0.93.6 beta5 -- 13.7 Кб -- новый алгоритм сортировки файлов по размеру, более быстрый (вычитал о нём на - Википедии:), в списке появилось 2 досели потеряных файла. - - -18.06.08 -- v0.93.5 beta5 -- 13.7 Кб -- запуск программы с параметрами - например "Eolite /hd1/1/" откроет программу - с папкой /hd1/1/ в ней. Несуществующий путь открыт не будет; -- устранён глюк окна "О программе", когда нажатие на любую клавишу приводило к - его зависанию (уходу в бесконечный цикл); -- иконка и поддержка файлов ".cvs"; -- оптимизации кода. - - -15.06.08 -- v0.93.4 beta5 -- 13.4 Кб -- исправлен баг с тем появления несуществующего файла в /rd/1/; -- теперь rd, fd, hd1 и т.д. всегда в нижнем регистре; -- устранён вылет проги после нажатия кнопки "Up" (спасибо сеса за найденый баг). - - -14.06.08 -- v0.93.3 beta5 -- 13.4 Кб -- теперь заливается белым не весь список, а потом выводится текст, а рисуются - белые полосы с текстом - так немного медленнее, но перерисовка значительно - меньше (спасибо Марио79 за подсказку); -- оптимизирована и исправлена процедура удаления файла; -- F3 - просмотр любого файла в Тайнипаде; -- исправлены баги интерфейса. - - -14.06.08 -- v0.93 beta5 -- 13.6 Кб -- реализована прокрутка скроллом мыши (спасибо diamond'у за отловленный баг); -- немного уменьшена перерисовка окна; -- уменьшен и оптимизирован код программы; -- частично исправлен баг разворачивания окна, если мы были в конце списка; -- теперь при переименовании файла можно использовать все цифры, кроме восьмёрки -- у программы изменился компилятор на более новый и ключи компиляции; -- оптимизирован kolibri.h--. - - -08.06.08 -- v0.92.1 beta5 -- 14.0 Кб -- исправлен баг, когда ползунок не всегда доезжал не до конца полосы прокрутки; -- оптимизации в прокрутке. - - -08.06.08 -- v0.92 beta5 -- 14.0 Кб -- устранён баг, появившейся в версии 0.88. Если вы в конце списка и начнёте - понемногу увеличивать размеры окна, оттягивая его нижний конец вниз, то со - временем программа вылетит; -- реализован алгоритм плавной прокрутки, есть 1 серьёзный и 1 несерьёзный баг. - - -07.06.08 -- v0.91.5 beta4 -- 14.0 Кб -- удалён неиспользуемый с 03.03.08 (v0.83) кусок кода; -- интерфейс полосы прокрутки стал более объёмным, это было сделано не с целью - улучшения дизайна, а с целью уменьшения кода в исходнике :) -- устранён баг открытия первого файла, который проявлялся только в эмуляторе; -- cпасибо diamond'у за исправление ошибки в процедуре складывания двух строк - copystr() и её оптимизацию; -- установлено ограничение на размер имени файла, отображаемого при его удалении; -- если отменили удаление файла, то опять создаются кнопочки под формой; -- устранён старый баг (замеченный недавно) - если в полосе адреса прописали - несуществующий адрес, программу выкидывало; -- уменьшена перерисовка при переходе в другую папку, где файлов меньше, чем - было в текущей; -- исправлена ошибка в функциях lowcase() и upcase(); -- теперь названия файлов и папок начинаются с большой буквы, далее - прописные; -- с папками на NTFS-разделе программа всё ещё работать не умеет, но, по крайней - мере, при попытке войти в какую-то из них она уже не вылетает; -- немного оптимизирована процедура перехода на девайс; -- исправлен баг из-за которого имена файлов иногда оказывались чуть выше чем - надо, относительно иконок; -- уменьшена перерисовка окна; -- другие оптимизации и багфиксы. - - -02.06.08 -- v0.90.4 beta4 -- 14.1 Кб -- оптимизации и багфиксы (в т.ч. спасибо Maxis за найденный баг). - - -01.06.08 -- v0.90 beta4 -- 14.1 Кб -- критически уменьшена перерисовка, в несколько раз! Огромное спасибо diamond - за подсказку. - - -01.06.08 -- v0.88.5 beta3 -- 14.1 Кб -- раньше при переходе из одной папки в другую вся область с файлами - закрашивалась белым цветом, а поверх выводились новые. Вопрос: зачем - закрашивать ВСЮ область, если файлов ней может быть всего 2? Я тоже не - знаю почему я понял это только сейчас. Закрашиваем только эти файлы. -- раньше рисовалась левая синяя панель, а поверх неё окошечки с девайсами - и т.д. Сейчас не так: синяя панель рисуется ВОКРУГ окошечек, что уменьшает - перерисовку. - - -30.05.08 -- v0.88.2 beta3 -- 14.1 Кб -- устранён баг, связанный с клавишами F2 и Home. - - -27.04.08 -- v0.88 beta3 -- 14.1 Кб -- обьединены процедуры открытия файла; -- устранён баг, связанный с переходом из некорневой папки на другой девайс -- динамическое выделение памяти под папки. - - -08.04.08 -- v0.87 beta3 -- 14.0 Кб -- оптимизировано удаление файла; -- удалён продублированный код переименования файла; -- теперь для списка девайсов в левой панели (RАM-диск, жестяки и т.д.) - существует определённый буфер, а не открывается папка "/" каждый раз при - выводе этого списка или же перехода в какой-то из его элементов; -- при перерисовке окна больше не считывается содержимое папки, просто - выводятся данные, что хранятся в буфере; -- посла деактивации окна то, что было напечатано в строке адреса не исчезает; -- упорядочивание файлов по размеру. - - -27.03.08 -- v0.86 beta3 -- 14.4 Кб -- оптимизирован вывод размера файлов; -- убрана лишняя перерисовка при открытии программы; -- оптимизирован переход в начало и в конец списка файлов; -- исправлен баг с потерей одного файла в корневых разделах жестких дисков; -- обьединены процедуры Ctrl+С и Ctrl+X; -- теперь для каждого изображения не своя переменная, а все они собраны по типам - в один файл: toolbar icons, file icons, device icons; -- уменьшено потребление программой ресурсов при выводе иконок файлов; -- и ещё много-много всего отимизировано! - - -09.03.08 -- v0.84 beta2 -- 16.1 Кб -- cделано окно "О программе" (размер за kpack-ованого изображения 2.5 Кб) -- теперь при переименовании файла можно использовать все цифры; -- оптимизировано процедуры открытия папки, копирования, перерисовка полосы - адреса и полосы переименования файла; -- запрос на удаление. - - -07.03.08 -- v0.83.3 beta2 -- 13.0 Кб -- решён глюк, связанный с корневыми папками жёстких дисков. - - -07.03.08 -- v0.83.2 beta2 -- 13.0 Кб -- решён крайне серьёзный баг с пожиранием программой дополнительного количества - памяти каждый раз после перерисовки окна или открытия папки. - - -07.03.08 -- v0.83.1 beta2 -- 13.0 Кб -- решен баг с прокруткой и папками; -- опитимизации. - - -03.03.08 -- v0.83 beta2 -- 13.0 Кб -- цвет окна более тёмный; -- распределение: вначале папки, затем файлы; -- теперь перетягивание ползунка прокрутки работает и в Колибри! -- реализованы быстрые клавиши Ctrl+C (Ctrl+Ins), Ctrl+X, Ctrl+V. Как сделать с - Shift-ом я не знаю; -- новое лого; -- устранён баг с серой линией, отделяющей названия файлов и их тип; -- устранён древний баг, связанный с невозможностью открыть любой файл с первого; - раза, только со второго; -- устранён баг, связанный с длинной имени файла; -- новая иконка текстовых документов. - - -27.02.08 -- v0.81 beta -- 12.8 Кб -- оптимизирование перерисовки при переходе в другую папку; -- некоторые иконки теперь обтекаемы; -- багфиксы прокрутки списка. - - -25.02.08 -- v0.80 beta -- 12.6 Кб -- критически уменьшена перерисовка! -- багфиксы интерфейса. - - -25.02.08 -- v0.77 beta -- 12.5 Кб -- переименовывание файлов; - - -23.02.08 -- v0.75 beta -- 12.1 Кб -- опять заработали горячие клавиши; -- библиотека eolite_copy.obj больше не нужна; -- теперь работает и вырезание файлов (размером не больше чем ОЗУ); -- улучшение алгоритма прокрутки; -- багфиксы. - - -23.02.08 -- v0.71 beta -- 12.1 Кб -- устранён баг ограничения размера строки для имён файлов; -- ReadMe. - - -23.02.08 -- v0.7 beta -- 12.1 Кб -- ограничение размера строки для имён файлов; -- удалена "." в начале списка файлов. - - -22.02.08 -- v0.65 beta -- 12.3 Кб -- размер файлов теперь выводится в Кб, Мб и Гб; -- оптимизация отрисовки в левой синей панели; -- удобно стало пользоваться полосой адреса. Если она была изменена, нажав Enter - мы переходим по новому адресу, если же нет - открывается выделенная папка, - файл или программа; -- в Колибри не работает, в отличии от эмулятора, реализованное перетягивание - ползунка :( -- выделение по Insert, пока что нигде не используется; - - -18.02.08 -- v0.6 beta -- 11.7 Кб -- совместными усилиями устранён серьёзный баг с нажатием ПКМ на заголовке окна; -- если мы пропишем адрес папки, которой не существует и попытаемся в неё перейти - ничего у нас УЖЕ не получится; -- улучшения в скролле; -- F5 перерисовать окно; -- иконки у устройств; -- панель действий; -- одиночное копирование и вырезание файлов размером не больше чем ОЗУ; -- удаление файлов, пока что без запроса. - - -09.02.08 -- v0.5 beta -- 10 Кб -- оптимизировано Preview; -- до деактивации окна уже нельзя кляцать по белой области и видеть кнопки; -- уменьшен размер иконок - теперь они 16х15; -- нельзя удалить весь путь в строке адреса, "/" по-любому остаётся; -- при деактивации окна выделение не перепрыгивает на первый элемент; -- реализовано открытие програм и ассоциированных файлов; -- расширения больше не в верхнем регистре; -- переходит по носителям, теперь если неизвестный носитель - оно так и напишет; -- добавлены новые типы файлов. - - -04.02.08 -- v0.35 beta -- 9.17 Кб -- для строки адреса отдельный "путь" (не #path, а #edit_path); -- красивая кнопка перехода; -- входит в первую папку; -- вывод типов файлов; -- оптимизация в коде. - - -03.02.08 -- v0.33 beta -- 8.91 Кб (англ.версия) -Первая версия. Краткое хистори: -1. Leency делает дизайн программы и ищет пути решения некоторых проблем. -2. Veliant делает отображение списка файлов из /rd/1/, а Leency реализует - перемотку списка и горячие клавиши. -3. Veliant осуществляет вывод размера файлов. Leency мучается с прокруткой. -4. Veliant выводит иконки, Leency эти иконки рисует и переделывает дизайн окна. -5. Veliant с Leency сделали переход по папкам. -6. Устранение багов. - -22.02.08 -- v0.0 -- 0 Кб -Начало. \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/txt/ReadMe_en.txt b/programs/fs/Eolite/trunk/txt/ReadMe_en.txt deleted file mode 100644 index 884424ae41..0000000000 --- a/programs/fs/Eolite/trunk/txt/ReadMe_en.txt +++ /dev/null @@ -1,32 +0,0 @@ -Eolite File Manager - -==About this program== -Eolite is a simple in using and pretty looks file manager. -It written in C--. Development has started at 20.01.08. -You can find more information here: -http://board.kolibrios.org/viewtopic.php?f=9&t=973 - - -==Install== -Put box_lib.obj into "/sys/lib/" directory. -Put Eolite.ini into programs directory or in "/sys/File Managers/". -Eolite can be opened from anywhere. - - -==Authors== -Leency - programming and design. -Veliant - programming and support. Inactive now. - -==Thanks== -diamond - -Nable -Mario79 -Rock_maniak_forever -turbanoff -Sorcerer -Gluk -lev - - -KolibriOS Forever! \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/txt/ReadMe_ru.txt b/programs/fs/Eolite/trunk/txt/ReadMe_ru.txt deleted file mode 100644 index 3833e3d13a..0000000000 --- a/programs/fs/Eolite/trunk/txt/ReadMe_ru.txt +++ /dev/null @@ -1,31 +0,0 @@ -Eolite File Manager - -==О программе== -Файловый менеджер, основными принципами разработки которого -являются простота и удобство использования. Программа написана -на C--, языке промежуточном между языками высокого и низкого -уровня. Разработка началась 20.01.08. -Обсуждение программы здесь: -http://board.kolibrios.org/viewtopic.php?f=9&t=973 - - -==Установка== -Нужно иметь свежий box_lib.obj. Eolite.ini должен быть в папке -с программой или в "/sys/File Managers/". - - -==Авторы== -Leency - разработка, дизайн. -Veliant - программирование, поддержка. - -==Спасибо== -diamond - активная помощь в программировании, ценные советы. - - за компонент EditBox и либу к нему. -Nable - за некоторые оптимизации и поддержку, либу работы с IPC. -Mario79 - советы. -S1n - за реализацию работы с lib_ini (увы не используемую). -Rock_maniak_forever, turbanoff, Sorcerer, Gluk, Albom - за найденые баги. -lev - за алгоритм работы с массивами строк. - - -У нас будет свой Менует с блекджеком! И шлюхами! KolibriOS Forever! \ No newline at end of file diff --git a/programs/fs/tmpdisk/compile.bat b/programs/fs/tmpdisk/compile.bat deleted file mode 100644 index 4a139a8c8f..0000000000 --- a/programs/fs/tmpdisk/compile.bat +++ /dev/null @@ -1,9 +0,0 @@ -del lang.h -echo #define LANG_RUS 1 >lang.h - -..\C--\C-- tmpdisk.c -del tmpdisk -rename tmpdisk.com tmpdisk -rem ..\C--\kpack tmpdisk -pause -del warning.txt diff --git a/programs/fs/tmpdisk/icons.raw b/programs/fs/tmpdisk/icons.raw deleted file mode 100644 index 10616f7009..0000000000 --- a/programs/fs/tmpdisk/icons.raw +++ /dev/null @@ -1 +0,0 @@ -љљљљљљљљљљљљљљ†є;ФCє;ФCФCФC)жWФC)жW)жW)жW)жWљ†µ9є;ФCє;љљљљФCФC)жW)жWљ†є;µ9є;є;љяяяяяяљє;)жWФC)жWљ†µ9є;ФCµ9љяяяяяяљє;є;є;ФCљ†µ9љљљљяяяяяяљљљљФCљ†µ9љяяяяяяяяяяяяяяяяяяяяяяяяљє;љ†є;љяяяяяяяяяяяяяяяяяяяяяяяяљФCљ†µ9љљљљяяяяяяљљљљФCљ†µ9є;є;є;љяяяяяяљФCє;є;ФCљ†µ9є;є;є;љяяяяяяљФCє;ФCє;љ†є;µ9є;є;љљљљє;µ9є;ФCљ†§4ґ9 2µ9µ9є;µ9µ9µ9є;µ9є;љ††††††††††††††)’)’)’)’)’)’)’)’)’)’)’)’)’)’)’@ ЯKс@ ЯKсKсKсg7уKсg7уg7уg7уg7у)’)’> Щ@ ЯKс@ Я@ Я@ ЯKс@ ЯKсKсg7уg7у)’)’@ Я> Щ@ Я@ Я@ ЯKс@ Я@ ЯKсg7уKсg7у)’)’> Щ@ ЯKс> Щ@ Я@ Я@ ЯKс@ Я@ Я@ ЯKс)’)’> Щ2ґ2ґ2ґ2ґ2ґ2ґ2ґ2ґ2ґ2ґKс)’)’> Щ2ґяяяяяяяяяяяяяяяяяяяяяяяя2ґ@ Я)’)’@ Я2ґяяяяяяяяяяяяяяяяяяяяяяяя2ґKс)’)’> Щ2ґ2ґ2ґ2ґ2ґ2ґ2ґ2ґ2ґ2ґKс)’)’> Щ@ Я@ Я@ Я> Щ@ Я@ Я> ЩKс@ Я@ ЯKс)’)’> Щ@ Я@ Я@ Я@ Я@ Я@ Я@ ЯKс@ ЯKс@ Я)’)’@ Я> Щ@ Я@ Я@ Я> Щ@ Я@ Я@ Я> Щ@ ЯKс)’)’9Л> Щ8Д> Щ> Щ@ Я> Щ> Щ> Щ@ Я> Щ@ Я)’)’)’)’)’)’)’)’)’)’)’)’)’)’)’ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚±б/Вл±б/Вл/Вл/ВлOУф/ВлOУфOУфOУфOУф ]‚ ]‚ д±б/Вл±б‹јpћpћ‹ј/Вл/ВлOУфOУф ]‚ ]‚±б д±б±бcЊяяяяяяcЊ/ВлOУф/ВлOУф ]‚ ]‚ д±б/Вл д{®cЊcЊ{®±б±б±б/Вл ]‚ ]‚ д±б±б±б±б±б/Вл±б±б±б±б/Вл ]‚ ]‚ д±б±б±б‹јpћpћ‹ј±б±б/Вл±б ]‚ ]‚±б д±б дcЊяяяяяяcЊ±б±б±б/Вл ]‚ ]‚ д±б±б±бcЊяяяяяяcЊOУф±б±б/Вл ]‚ ]‚ д±б±б±бcЊяяяяяяcЊ/Вл±б±б/Вл ]‚ ]‚ д±б±б±бcЊяяяяяяcЊ/Вл±б/Вл±б ]‚ ]‚±б д±б±бcЊcЊcЊcЊ±б д±б/Вл ]‚ ]‚•ЩЁдќЯ д д±б д д д±б д±б ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚ ]‚яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяlggWPPWPPWPPWPPWPPWPPWPPWPPWPPWPPWPPlggяяяWPPяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяWPPяяяWPPеввеввеввеввеввеввеввеввеввеввеввWPPяяяWPPеввеввеввеввеввеввеввеввеввеввеввWPPяяяWPP«ўЈ«ўЈ«ўЈ«ўЈ«ўЈ«ўЈ«ўЈ«ўЈ«ўЈ«ўЈ«ўЈWPPяяяWPPWPPWPPWPPWPPWPPWPPWPPWPPWPPWPPWPPWPPяяяяяяWPPяяяWPPяяяWPPяяяWPPяяяWPPяяяWPPяяяяяяяяяWPPяяяWPPяяяWPPяяяWPPяяяWPPяяяWPPяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя \ No newline at end of file diff --git a/programs/fs/tmpdisk/t_console.c b/programs/fs/tmpdisk/t_console.c deleted file mode 100644 index 5c0e839e9b..0000000000 --- a/programs/fs/tmpdisk/t_console.c +++ /dev/null @@ -1,87 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -///////////////////////// консоль //////////////////// -///////////////////////////////////////////////////////////////////////////////////////// - -/*#ifdef LANG_RUS - char *rezult_text[]={ - "операция успешно завершена"w, - "неизвестный IOCTL, неверный размер предоставляемых данных..."w, - "номер диска должен быть от 0 до 9"w, - "размер создаваемого диска слишком велик"w, - "размер создаваемого диска слишком мал"w, - "ошибка выделения памяти"w, - "неизвестная ошибка O_o"w, - 0}; -#else*/ - char *rezult_text[]={ - "operation compleated successfully", - "unknown IOCTL code, wrong input/output size...", - "DiskId must be from 0 to 9", - "DiskSize is too large", - "DiskSize is too small", - "memory allocation failed", - "unknown error O_o", - 0}; -//#endif - -void Console_Work() -{ - unsigned int disk_size, driver_rezult; - char size_t[256]; - - strlwr(#param); - - switch (param[0]) - { - case '?': //помощь по коммандам - case 'h': - debug("tmpdisk command line parameters:"); - debug("a[number]s[size in MB] - add RAM disk"); - debug("d[number] - delete RAM disk"); - ExitProcess(); - break; - case 'd': //удалить диск - debug("trying to delete disk"); - del_disk.DiskId = param[1]-'0'; - ioctl.handle = driver_handle; - ioctl.io_code = DEV_DEL_DISK; - ioctl.input = #del_disk; - ioctl.inp_size = sizeof(del_disk); - ioctl.output = 0; - ioctl.out_size = 0; - break; - case 'a': //добавить диск - debug("trying to add disk"); - disk_size= strchr(#param, 's'); - if (!disk_size) - { - add_disk.DiskSize = GetFreeRAM() / 5; - debug("disk size is not specified"); - strcpy(#size_t, "10% from free RAM will be used, new DiskSize: "); - driver_rezult=itoa(add_disk.DiskSize/2048); - strcat(#size_t, driver_rezult); - //strcat(#size_t, itoa(add_disk.DiskSize/2048)); - strcat(#size_t, " MB"); - debug(#size_t); - } - else - add_disk.DiskSize = atoi(#param+disk_size)*2048; - - add_disk.DiskId = param[1]-'0'; - ioctl.handle = driver_handle; - ioctl.io_code = DEV_ADD_DISK; - ioctl.input = #add_disk; - ioctl.inp_size = sizeof(add_disk); - ioctl.output = 0; - ioctl.out_size = 0; - break; - default: - debug("unknown command line parameters"); - debug("use 'h' or '?' for help"); - ExitProcess(); - } - - driver_rezult = RuleDriver(#ioctl); - if (driver_rezult<7) debug(rezult_text[driver_rezult]); -} - diff --git a/programs/fs/tmpdisk/t_window.c b/programs/fs/tmpdisk/t_window.c deleted file mode 100644 index 9c7300e9c1..0000000000 --- a/programs/fs/tmpdisk/t_window.c +++ /dev/null @@ -1,244 +0,0 @@ -#include "..\lib\mem.h" -#include "..\lib\dll.h" -#include "..\lib\edit_box_lib.h" - - -#ifdef LANG_RUS - char *but_text[]={ - "Добавить диск"w, - "Удалить диск"w, - "Помощь"w, - 0}; -#else - char *but_text[]={ - "Add disk", - "Delete disk", - "Help", - 0}; -#endif - -unsigned char icons[14*56] = FROM "icons.raw"; - -struct path_string { -unsigned char Item[256]; -}; - -path_string disk_list[40]; -dword devbuf; -int disk_num; -int selected; - -system_colors sc; -proc_info Form; - -int mouse_dd; -unsigned char dsize[30]; -edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#dsize,#mouse_dd,100000000000010b}; - - - -void Main_Window() -{ - unsigned int id; - unsigned char key; - unsigned int i, j, bbreak; - - mem_Init(); - if (load_dll2(boxlib, #edit_box_draw,0)!=0) - { - notify("error: library doesn't exists /rd/1/lib/box_lib.obj"); - ExitProcess(); - } - SetEventMask(0x27); - loop() - { - switch(WaitEvent()) - { - case evMouse: - //edit_box_mouse stdcall (#edit1); - break; - case evButton: - id=GetButtonID(); - if (id==1) ExitProcess(); - if (id==10) //add - { - _ADD_DISK: - if (disk_num>=10) - { - notify("Достигнут предел количества виртуальных дисков"w); - break; - } - param[0]='a'; - // - for (i=0; i<9; i++) - { - bbreak = true; - for (j=0; j<=disk_num; j++) - { - if (i+48==disk_list[j].Item[3]) bbreak=false; - } - if (bbreak) break; - } - param[1]=i+48; - Console_Work(); - Pause(5); - GetDisks(); - DrawTmpDisks(); - } - if (id==11) //del - { - _DEL_DISK: - if (disk_num==0) - { - notify("Для начала добавьте хотя бы один диск"w); - break; - } - param[0]='d'; - param[1]=disk_list[selected].Item[3]; - Console_Work(); - Pause(15); - GetDisks(); - DrawTmpDisks(); - } - if (id==12) //help - { - notify("Раздел в разработке"w); - } - if (id>=20) - { - if (selected==id-20) OpenTmpDisk(); - selected=id-20; - DrawTmpDisks(); - } - break; - case evKey: - key = GetKey(); - if (key==182) if (disk_num<>0) goto _DEL_DISK; - if (key==14) goto _ADD_DISK; - if (key==178) - { - if (selected==0) break; - selected--; - DrawTmpDisks(); - } - if (key==177) - { - if (selected+2>disk_num) break; - selected++; - DrawTmpDisks(); - } - if (key==176) - { - if (selected<3) break; - selected-=3; - DrawTmpDisks(); - } - if (key==179) - { - if (selected+4>disk_num) break; - selected+=3; - DrawTmpDisks(); - } - if (key==013) - { - OpenTmpDisk(); - } - break; - case evReDraw: - Draw_Window(); - } - } -} - - -void OpenTmpDisk() -{ - unsigned char eol_param[256]; - if (!disk_num) return; - strcpy(#eol_param, "/tmp#/1/"); - eol_param[4]=disk_list[selected].Item[3]; - RunProgram("/sys/File managers/Eolite", #eol_param); -} - - -void GetDisks() -{ - unsigned int j, fcount=30; - unsigned char disk_name[256]; - - mem_Free(devbuf); - devbuf= mem_Alloc(32); - ReadDir(0, devbuf, "/"); - fcount=ESDWORD[devbuf+8]; - mem_Free(devbuf); - devbuf = mem_Alloc(fcount+1*304+32); - ReadDir(fcount, devbuf, "/"); - - disk_num=0; - for (j=0; j12) disk_num=12; -} - - -unsigned int disk_pos_x[]={13,13,13,83,83,83,153,153,153,223,223,223}; -unsigned int disk_pos_y[]={40,65,90,40,65,90,40,65,90,40,65,90}; -void DrawTmpDisks() -{ - int i; - DrawBar(0,31, Form.width-9,Form.height-GetSkinHeight()-5-30, 0xFFFFFF); - if (disk_num==0) - { - WriteText(17,45, 0x90, 0x777777, "Здесь будет отображаться список"w, 0); - WriteText(17,45+15, 0x90, 0x777777, "виртуальных дисков в системе."w, 0); - WriteText(17,45+42, 0x90, 0x777777, "Попробуйте добавить один..."w, 0); - return; - }; - if (selected>=disk_num) selected=disk_num-1; //восстанавливает выделение - хорошая фича - for (i=0; i2) return; //если свернуто в заголовок, ничего не рисуем - - //рисуем панель - DrawBar(0,0, Form.width-9,30, sc.work); - DrawBar(0,30, Form.width-9,1, sc.work_graph); - x=6; - for (i=0; i<3; i++) - { - DefineButton(x,5, strlen(but_text[i])*6+28,19, 10+i, sc.work_button); - _PutImage(x+3,8, 14,14, i*14*14*3+#icons); - WriteText(x+22,11, 0x80, sc.work_button_text, but_text[i], 0); - x+=strlen(but_text[i])*6+37; - } - - //получаем список доступных дисков - GetDisks(); - //выводим доступные диски - DrawTmpDisks(); - //дополнительная панель -} - - - - - - diff --git a/programs/fs/tmpdisk/tmpdisk.c b/programs/fs/tmpdisk/tmpdisk.c deleted file mode 100644 index 14120ec10f..0000000000 --- a/programs/fs/tmpdisk/tmpdisk.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "..\lib\kolibri.h" -#include "..\lib\strings.h" -#include "..\lib\file_system.h" - -#include "lang.h" - -///////////////////////////////////////////////////////////////////////////////////////// -///////////////////////// область данных //////////////////// -///////////////////////////////////////////////////////////////////////////////////////// - -struct ioctl_struct -{ - dword handle; - dword io_code; - dword input; - dword inp_size; - dword output; - dword out_size; -}; - -#define DEV_ADD_DISK 1 //input = structure add_disk_struc -#define DEV_DEL_DISK 2 //input = structure del_disk_struc - -struct add_disk_struc -{ - dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data - unsigned char DiskId; // from 0 to 9 -}; - -struct del_disk_struc -{ - unsigned char DiskId; //from 0 to 9 -}; - - -ioctl_struct ioctl; -add_disk_struc add_disk; -del_disk_struc del_disk; - -int driver_handle; - -///////////////////////////////////////////////////////////////////////////////////////// -///////////////////////// код //////////////////// -///////////////////////////////////////////////////////////////////////////////////////// -#include "t_console.c" -#include "t_window.c" - - -void main() -{ - debug("========= tmpdisk 0.35 ========="); - driver_handle = LoadDriver("tmpdisk"); - if (driver_handle==0) - { - notify("error: /rd1/1/lib/tmpdisk.obj driver loading failed"); - notify("program terminated"); - ExitProcess(); - } - else - debug("tmpdisk.obj driver loaded successfully"); - - if (param) - Console_Work(); - else - Main_Window(); - - - ExitProcess(); -} - -stop: