/programs/cmm/appearance/appearance.c |
---|
1,5 → 1,5 |
//11.03.12 - start! |
//ver 2.31 |
//TODO: select current value at startap |
#define MEMSIZE 1024*70 |
#include "../lib/mem.h" |
27,25 → 27,14 |
int active_skin, active_wallpaper, active_screensaver; |
char folder_path[4096]; |
char cur_file_path[4096]; |
char cur_skin_path[4096]; |
char default_skin[4096]; |
char default_wallp[4096]; |
char ss_available[200]; |
int screensaver_timeout; |
_tabs tabs = { -sizeof(t_skins)-sizeof(t_wallpapers)-sizeof(t_screensaver)-3*8+WIN_W |
- TAB_PADDING / 2, LP, NULL, BASE_TAB_BUTTON_ID }; |
checkbox update_docky = { T_UPDATE_DOCK, false }; |
checkbox ss_in_on = { T_UPDATE_DOCK, false }; |
checkbox optionbox_stretch = { T_CHECKBOX_STRETCH, false }; |
checkbox optionbox_tiled = { T_CHECKBOX_TILED, false }; |
checkbox optionbox_auto = { T_CHECKBOX_AUTO, true }; |
char ss_available[200]; |
collection list; |
//===================================================// |
60,7 → 49,6 |
load_dll(boxlib, #box_lib_init,0); |
load_dll(libini, #lib_init,1); |
load_dll(Proc_lib, #OpenDialog_init,0); |
o_dialog.type = 2; //select folder |
OpenDialog_init stdcall (#o_dialog); |
GetIniSettings(); |
75,6 → 63,13 |
{ |
case evMouse: |
SelectList_ProcessMouse(); |
if (tabs.active_tab == TAB_SCREENSAVERS) { |
scrollbar_h_mouse stdcall (#ss_timeout); |
if (ss_timeout.redraw) { |
draw_timeout(); |
ss_timeout.redraw = false; //reset flag |
} |
} |
break; |
case evButton: |
100,9 → 95,9 |
case evKey: |
GetKeys(); |
if (select_list.ProcessKey(key_scancode)) EventApply(); |
if (key_scancode==SCAN_CODE_ENTER) EventOpenFile(); |
if (key_scancode==SCAN_CODE_DEL) EventDeleteFile(); |
if (select_list.ProcessKey(key_scancode)) { EventApply(); break; } |
if (key_scancode==SCAN_CODE_ENTER) { EventOpenFile(); break; } |
if (key_scancode==SCAN_CODE_DEL) { EventDeleteFile(); break; } |
if (key_scancode==SCAN_CODE_TAB) { |
id = tabs.active_tab+1; |
if(id==3)id=0; |
109,8 → 104,6 |
tabs.click(id + tabs.base_id); |
break; |
} |
if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus) |
for (i=select_list.cur_y+1; i<select_list.count; i++) |
{ |
id = list.get(i) + strrchr(list.get(i), '/'); |
122,12 → 115,6 |
break; |
} |
} |
if (tabs.active_tab == TAB_SKINS) { |
EAX = key_editbox; |
edit_box_key stdcall (#edit_cmm); |
edit_box_key stdcall (#edit_st); |
} |
break; |
case evReDraw: |
139,24 → 126,18 |
{ |
sc.get(); |
DefineAndDrawWindow(screen.width-WIN_W-9/2,80,WIN_W+9,WIN_H+4+skin_height,0x34,sc.work,WINDOW_HEADER,0); |
DrawWindowContent(); |
} |
void DrawWindowContent() |
{ |
sc.get(); |
tabs.draw(); |
draw_icon_16w(tabs.x + TAB_PADDING, LP+5, 17); |
draw_icon_16w(sizeof(t_skins)-1*8 + TAB_PADDING + TAB_PADDING + tabs.x, LP+5, 6); |
draw_icon_16w(sizeof(t_wallpapers)+sizeof(t_skins)-2*8 + TAB_PADDING + TAB_PADDING + TAB_PADDING + tabs.x, LP+5, 61); |
draw_icon_16w(tabs.x + TAB_P, LP+5, 17); |
draw_icon_16w(sizeof(t_skins)-1*8 + TAB_P + TAB_P + tabs.x, LP+5, 6); |
draw_icon_16w(sizeof(t_wallpapers)+sizeof(t_skins)-2*8 + TAB_P + TAB_P + TAB_P + tabs.x, LP+5, 61); |
$push select_list.cur_y |
SelectList_Init( |
LP + TAB_PADDING, |
LP, |
PANEL_H, |
LIST_W, |
WIN_H - LP - TAB_PADDING - PANEL_H |
WIN_H - LP - PANEL_H |
); |
$pop select_list.cur_y |
181,13 → 162,22 |
} |
if (tabs.active_tab == TAB_SCREENSAVERS) |
{ |
miniprintf(#param, T_SS_TIMEOUT, screensaver_timeout); |
WriteTextWithBg(RIGHTx, PANEL_H, 0xD0, sc.work_text, #param, sc.work); |
ESI = DrawStandartCaptButton(RIGHTx, PANEL_H + 25, BTN_TEST_SCREENSAVER, T_SS_PREVIEW); |
DrawStandartCaptButton(RIGHTx+ESI, PANEL_H + 25, BTN_SET_SCREENSAVER, T_SS_SET); |
draw_timeout(); |
ss_timeout.line_col = sc.work_graph; |
ss_timeout.frnt_col = sc.work; |
scrollbar_h_draw stdcall (#ss_timeout); |
DrawRectangle(RIGHTx, RIGHTy+25, RIGHTw-20, 15, sc.work_graph); |
ESI = DrawStandartCaptButton(RIGHTx, PANEL_H + 65, BTN_TEST_SCREENSAVER, T_SS_PREVIEW); |
DrawStandartCaptButton(RIGHTx+ESI, PANEL_H + 65, BTN_SET_SCREENSAVER, T_SS_SET); |
} |
} |
void draw_timeout() |
{ |
miniprintf(#param, T_SS_TIMEOUT, ss_timeout.position+1); |
WriteTextWithBg(RIGHTx, PANEL_H, 0xD0, sc.work_text, #param, sc.work); |
} |
bool strreqi(dword _left, _right) |
{ |
return strcmp(_left+strrchr(_left,'.'), _right); |
270,6 → 260,8 |
{ |
int draw_y = i*SELECT_LIST_ITEMH+PANEL_H; |
int i_abs = select_list.first + i; |
dword text_color = 0xFFFfff; |
dword bg_color = 0x000000; |
char filename_buf[4096]; |
char* filename = #filename_buf; |
291,19 → 283,16 |
BREAK; |
CASE TAB_SCREENSAVERS: |
active_screensaver = select_list.cur_y; |
if (!i_abs) filename = T_NO_SS; |
} |
if (select_list.cur_y == i_abs) |
{ |
DrawBar(select_list.x, draw_y, LIST_W, SELECT_LIST_ITEMH, sc.button); |
WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,sc.button_text, filename); |
if (select_list.cur_y == i_abs) { |
text_color = sc.button; |
bg_color = sc.button_text; |
} |
else |
{ |
DrawBar(select_list.x,draw_y,LIST_W, SELECT_LIST_ITEMH, 0xFFFfff); |
WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,0, filename); |
DrawBar(select_list.x, draw_y, LIST_W, SELECT_LIST_ITEMH, text_color); |
WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,bg_color, filename); |
} |
} |
void SelectList_LineChanged() |
{ |
313,6 → 302,7 |
dword GetRealKolibriosPath() |
{ |
char real_kolibrios_path[4096]; |
if (!dir_exists("/kolibrios")) return 0; |
SetCurDir("/kolibrios"); |
GetCurDir(#real_kolibrios_path, sizeof(real_kolibrios_path)); |
return #real_kolibrios_path; |
321,11 → 311,11 |
void GetIniSettings() |
{ |
ini.section = "screensaver"; |
screensaver_timeout = ini.GetInt("timeout", 10); |
ss_timeout.position = ini.GetInt("timeout", 10) - 1; |
ini.GetString("available", #ss_available, sizeof(ss_available), 0); |
ini.section = "style"; |
ini.GetString("default_skin", #default_skin, sizeof(default_skin), 0); |
ini.GetString("default_wallp", #default_wallp, sizeof(default_wallp), 0); |
ini.GetString("default_skin", #default_skin, PATHLEN, 0); |
ini.GetString("default_wallp", #default_wallp, PATHLEN, 0); |
} |
//===================================================// |
358,7 → 348,7 |
select_list.ClearList(); |
select_list.count++; |
list.add(T_NO_SS); |
list.add(""); |
strcpy(#ssmas, #ss_available); |
do { |
381,6 → 371,7 |
void EventSelectWallpFolder() |
{ |
o_dialog.type = 2; //select folder |
OpenDialog_start stdcall (#o_dialog); |
if (o_dialog.status) EventTabWallpappersClick(); |
} |
429,13 → 420,12 |
void EventUpdateDocky() |
{ |
if (!update_docky.checked) return; |
// KillProcessByName("@docky", MULTIPLE); |
// RunProgram("/sys/@docky",NULL); |
if (update_docky.checked) { |
RestartProcessByName("/sys/@docky", MULTIPLE); |
pause(50); |
ActivateWindow_Self(); |
} |
} |
void EventOpenFile() |
{ |
448,7 → 438,7 |
void EventExit() |
{ |
if (cur_skin_path) { |
if (GetRealKolibriosPath()) { |
ini.section = "style"; |
ini.SetString("skin", #cur_skin_path, strlen(#cur_skin_path)); |
} |
460,7 → 450,14 |
dword cur_ss = list.get(select_list.cur_y); |
ini.section = "screensaver"; |
ini.SetString("program", cur_ss, strlen(cur_ss)); |
ini.SetInt("timeout", ss_timeout.position+1); |
RestartProcessByName("/sys/@ss", MULTIPLE); |
} |
stop: |
char folder_path[PATHLEN]; |
char cur_file_path[PATHLEN]; |
char cur_skin_path[PATHLEN]; |
char default_skin[PATHLEN]; |
char default_wallp[PATHLEN]; |
/programs/cmm/appearance/const.h |
---|
11,7 → 11,7 |
?define T_UPDATE_DOCK "¡®¢«ïâì Dock-¯ ¥«ì" |
?define T_NO_FILES "'®¤¤¥à¦¨¢ ¥¬ë¥ ä ©«ë ¥ ©¤¥ë' -E" |
?define T_UI_PREVIEW " ਬ¥à ª®¬¯®¥â®¢ " |
?define T_SS_TIMEOUT "â¥à¢ «: %i ¬¨ãâ " |
?define T_SS_TIMEOUT "â¥à¢ « ¢ ¬¨ãâ å: %i " |
?define T_SS_PREVIEW "à®á¬®âà" |
?define T_SS_SET "áâ ®¢¨âì" |
?define T_NO_SS "[몫îç¥]" |
29,7 → 29,7 |
?define T_UPDATE_DOCK "Update Dock" |
?define T_NO_FILES "'No supported files were found' -E" |
?define T_UI_PREVIEW " Components Preview " |
?define T_SS_TIMEOUT "Wait: %i minutes " |
?define T_SS_TIMEOUT "Wait in minutes: %i " |
?define T_SS_PREVIEW "View" |
?define T_SS_SET "Set" |
?define T_NO_SS "[Disable]" |
36,15 → 36,15 |
?define T_DEFAULT "[Default]" |
#endif |
#define WIN_W 600 |
#define WIN_H 420 |
#define LIST_W 280 |
#define WIN_W 560 |
#define WIN_H 450 |
#define LIST_W 260 |
#define PANEL_H 50 |
#define LP 6 //LIST_PADDING |
#define RIGHTx LP + TAB_PADDING + LIST_W + TAB_PADDING + 30 |
#define RIGHTx LP + LIST_W + TAB_P + 30 |
#define RIGHTy PANEL_H |
#define RIGHTw 226 |
#define RIGHTw WIN_W - RIGHTx - LP - TAB_P |
#define RIGHTh 215 |
enum { |
63,4 → 63,10 |
_ini ini = { "/sys/settings/system.ini" }; |
char default_dir[] = "/rd/1"; |
od_filter filter2 = { 8, "TXT\0\0" }; |
od_filter filter2 = { 8, "TXT\0\0" }; |
_tabs tabs = { -sizeof(t_skins)-sizeof(t_wallpapers)-sizeof(t_screensaver) |
-3*8+WIN_W - TAB_P / 2, LP, NULL, BASE_TAB_BUTTON_ID }; |
scroll_bar ss_timeout = { RIGHTw-19,RIGHTx,15,RIGHTy+25,0,3,89,10,0,0xFFFfff, |
0xBBBbbb,0xeeeeee}; |
/programs/cmm/eolite/Eolite.c |
---|
9,9 → 9,9 |
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334 |
*/ |
#define ABOUT_TITLE "EOLITE 5.16" |
#define TITLE_EOLITE "Eolite File Manager 5.16" |
#define TITLE_KFM "Kolibri File Manager 2.16"; |
#define ABOUT_TITLE "EOLITE 5.16a" |
#define TITLE_EOLITE "Eolite File Manager 5.16a" |
#define TITLE_KFM "Kolibri File Manager 2.16a"; |
#define MEMSIZE 1024 * 250 |
#include "../lib/clipboard.h" |
584,7 → 584,9 |
} |
//main rectangles |
DrawRectangle(1,40,Form.cwidth-3,Form.cheight - 42-status_bar_h,sc.work_graph); |
DrawRectangle(0,39,Form.cwidth-1,-show_status_bar.checked*status_bar_h + Form.cheight - 40,col.work_gradient[4]); //bg |
DrawBar(0,39,1,-show_status_bar.checked*status_bar_h + Form.cheight - 40, sc.work); |
EBX = Form.cwidth-1 * 65536 + 1; |
$int 64 |
for (i=0; i<6; i++) DrawBar(0, 34+i, Form.cwidth, 1, MixColors(sc.work_dark, sc.work, i*10)); |
for (i=0; i<6; i++) DrawBar(0, 5-i, Form.cwidth, 1, MixColors(sc.work_light, sc.work, i*10)); |
llist_copy(#files_active, #files); |
637,14 → 639,17 |
{ |
char status_bar_str[80]; |
int go_up_folder_exists=0; |
dword topcolor; |
if (show_status_bar.checked) topcolor=sc.work_light; else topcolor=sc.work; |
DrawBar(0, Form.cheight - status_bar_h-1, Form.cwidth, 1, topcolor); |
if (efm) { |
DrawBar(0, Form.cheight - status_bar_h, Form.cwidth, 2, sc.work); |
DrawBar(0, Form.cheight - 2, Form.cwidth, 2, sc.work); |
DrawBar(Form.cwidth-1, Form.cheight - 19, 1, 17, sc.work); |
DrawBar(0, Form.cheight - 2, Form.cwidth, 2, EDX); |
DrawBar(Form.cwidth-1, Form.cheight - 19, 1, 17, EDX); |
DrawFuncButtonsInKfm(); |
} else { |
if (!show_status_bar.checked) return; |
} else if (show_status_bar.checked) { |
if (files.count>0) && (streq(items.get(0)*304+buf+72,"..")) go_up_folder_exists=1; |
DrawBar(0, Form.cheight - status_bar_h, Form.cwidth, status_bar_h, sc.work); |
sprintf(#status_bar_str, T_STATUS_EVEMENTS, folder_count-go_up_folder_exists, files.count-folder_count); |
/programs/cmm/eolite/include/gui.h |
---|
30,35 → 30,36 |
} |
//slider |
DrawRectangle(sc_x,sc_slider_y,16,sc_slider_h,sc.work_graph); |
DrawRectangle3D(sc_x+1,sc_slider_y+1,14,sc_slider_h-2, sc.work_light , sc.work_dark); |
sc_x++; |
DrawRectangle3D(sc_x,sc_slider_y+1,14,sc_slider_h-2, sc.work_light , sc.work_dark); |
for (i=0; i<13; i++) { |
if (!_scroll_used) EDX = col.work_gradient[13-i]; else EDX = col.work_gradient[i]; |
DrawBar(sc_x + 2 + i, sc_slider_y+2, 1, sc_slider_h-3, EDX); |
DrawBar(sc_x + 1 + i, sc_slider_y+2, 1, sc_slider_h-3, EDX); |
} |
sc_center = sc_slider_h / 2 + sc_slider_y; |
DrawBar(sc_x+3, sc_center, 10, 1, sc.work_graph); |
DrawBar(sc_x+4, sc_center-3, 8, 1, sc.work_graph); |
DrawBar(sc_x+4, sc_center+3, 8, 1, sc.work_graph); |
DrawBar(sc_x+2, sc_center, 10, 1, sc.work_graph); |
DrawBar(sc_x+3, sc_center-3, 8, 1, EDX); |
DrawBar(sc_x+3, sc_center+3, 8, 1, EDX); |
DrawBar(sc_x+3+1, sc_center+1, 10, 1, sc.work_light); |
DrawBar(sc_x+4+1, sc_center-2, 8, 1, sc.work_light); |
DrawBar(sc_x+4+1, sc_center+4, 8, 1, sc.work_light); |
DrawBar(sc_x+3, sc_center+1, 10, 1, sc.work_light); |
DrawBar(sc_x+4, sc_center-2, 8, 1, EDX); |
DrawBar(sc_x+4, sc_center+4, 8, 1, EDX); |
//area before slider |
if (sc_slider_y > sc_y + 1) |
{ |
DrawBar(sc_x+1, sc_y, 15, 1, col.slider_bg_left); |
DrawBar(sc_x+1, sc_y+1, 1, sc_slider_y-sc_y-1, col.slider_bg_left); |
DrawBar(sc_x+2, sc_y+1, 14, sc_slider_y-sc_y-1, col.slider_bg_big); |
DrawBar(sc_x, sc_y, 15, 1, col.slider_bg_left); |
DrawBar(sc_x, sc_y+1, 1, sc_slider_y-sc_y-1, col.slider_bg_left); |
DrawBar(sc_x+1, sc_y+1, 14, sc_slider_y-sc_y-1, col.slider_bg_big); |
} |
//area after slider |
if (sc_h-sc_slider_h+sc_y-2>sc_slider_y) |
{ |
DrawBar(sc_x+1, sc_slider_y + sc_slider_h+1, 15, 1, col.slider_bg_left); |
DrawBar(sc_x+1, sc_slider_y + sc_slider_h+2, 1, sc_h-sc_slider_h-sc_slider_y+sc_y-2, col.slider_bg_left); |
DrawBar(sc_x+2, sc_slider_y + sc_slider_h+2, 14, sc_h-sc_slider_h-sc_slider_y+sc_y-2, col.slider_bg_big); |
DrawBar(sc_x, sc_slider_y + sc_slider_h+1, 15, 1, col.slider_bg_left); |
DrawBar(sc_x, sc_slider_y + sc_slider_h+2, 1, sc_h-sc_slider_h-sc_slider_y+sc_y-2, col.slider_bg_left); |
DrawBar(sc_x+1, sc_slider_y + sc_slider_h+2, 14, sc_h-sc_slider_h-sc_slider_y+sc_y-2, col.slider_bg_big); |
} |
} |
298,7 → 299,7 |
DrawBar(x+1,y,2,4,sc.work_graph); |
DrawBar(x,y+1,4,2,sc.work_graph); |
PutPixel(x,y,col_pxl); |
PutPixel(x+3,y,col_pxl); |
PutPixel(x,y+3,col_pxl); |
PutPixel(x+3,y+3,col_pxl); |
PutPixel(x+3,y,EDX); |
PutPixel(x,y+3,EDX); |
PutPixel(x+3,y+3,EDX); |
} |
/programs/cmm/lib/fs.h |
---|
10,6 → 10,8 |
#include "../lib/collection.h" |
#endif |
#define PATHLEN 4096 |
//===================================================// |
// // |
// Basic System Functions // |
316,7 → 318,7 |
:dword abspath(dword relative_path) //GetAbsolutePathFromRelative() |
{ |
char absolute_path[4096]; |
char absolute_path[PATHLEN]; |
if (ESBYTE[relative_path]=='/') |
{ |
strcpy(#absolute_path, relative_path); |
511,7 → 513,7 |
if (!way) return 0; |
if (dir_exists(way)) |
{ |
cur_file = malloc(4096); |
cur_file = malloc(PATHLEN); |
// In the process of recursive descent, memory must be allocated dynamically, |
// because the static memory -> was a bug !!! But unfortunately pass away to sacrifice speed. |
GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL); |
/programs/cmm/lib/gui/tabs.h |
---|
1,5 → 1,5 |
#ifndef TAB_PADDING |
#define TAB_PADDING 15 |
#ifndef TAB_P |
#define TAB_P 15 //Tab padding |
#endif |
#define TAB_HEIGHT 28 |
33,7 → 33,7 |
} |
for (i=0; i<count; i++) { |
xx += draw_button(xx + TAB_PADDING, i, names[i]) + TAB_PADDING; |
xx += draw_button(xx + TAB_P, i, names[i]) + TAB_P; |
} |
} |
/programs/cmm/lib/gui.h |
---|
89,7 → 89,6 |
int w = tw + padding_h + padding_h; |
unsigned darker_color = MixColors(sc.button,0,230); |
DefineButton(x,y,w,h,id,sc.button); |
WriteText(tx+1,ty+1,0x90,darker_color,text); |
/programs/cmm/lib/kolibri.h |
---|
555,7 → 555,7 |
:void DrawBar(dword x,y,w,h,color) |
{ |
if (h<=0) || (h>60000) || (w<=0) || (w>60000) return; //bad boy :) |
//if (h<=0) || (h>60000) || (w<=0) || (w>60000) return; //bad boy :) |
EAX = 13; |
EBX = x<<16+w; |
ECX = y<<16+h; |
/programs/cmm/misc/software_widget.c |
---|
161,7 → 161,7 |
//do not show items located in /kolibrios/ if this directory not mounted |
if (!strncmp(key_value, "/kolibrios/", 11)) || (!strncmp(key_value, "/k/", 3)) |
if (!kolibrios_mounted) return true; |
|| (!strncmp(key_value, "/kg/", 4)) if (!kolibrios_mounted) return true; |
if (col==list.column_max) { |
row++; |
/programs/demos/view3ds/view3ds.asm |
---|
2950,8 → 2950,8 |
mov .dr_model,eax |
movzx eax,word[size_x_var] |
cmp .dr_model,12 |
jge @f |
cmp .dr_model,10 |
jg @f |
lea ebx,[eax*3] |
sub ebx,3*6 |
mov [.xplus_scr],ebx ; for scr 1st cause |