1,7 → 1,3 |
#ifndef AUTOBUILD |
#include "lang.h--" |
#endif |
|
#define MEMSIZE 4096*20 |
#include "..\lib\strings.h" |
#include "..\lib\mem.h" |
12,55 → 8,68 |
#include "..\lib\patterns\restart_process.h" |
#include "..\lib\added_sysdir.c" |
|
#ifndef AUTOBUILD |
#include "lang.h--" |
#endif |
|
//===================================================// |
// // |
// DATA // |
// // |
//===================================================// |
|
proc_info Form; |
#define CONX 30 //content X pos |
|
char default_dir[] = "/rd/1"; |
od_filter filter2 = {"",0}; |
|
proc_info Form; |
|
dword scr = FROM "scr.raw_8bit"; |
dword scr_pal[] = {0xFFFFFF,0xBBDDFF,0x4166B5,0xE0E4E6,0xAFBEDD,0xC4D4E8,0x52ACDD,0x000000, |
0xE9DAB2,0xC99811,0xFDF9D4,0xF8B93C,0xFDEEBE,0xFBEBA6,0xDFAF4F,0xF3D57C}; |
|
#define BTN_MANUAL_SEARCH 10 |
#define BTN_OPEN_ANYWAY 11 |
|
#define APP_PLUS_INI_PATH "/kolibrios/settings/app_plus.ini" |
#define APP_PLUS_INI_PATH "/sys/settings/app_plus.ini" |
|
#define APP_PLUS_INI_NOT_EXISTS "'APP+\n/kolibrios/settings/app_plus.ini does not exists.\nProgram terminated.' -tE" |
//===================================================// |
// // |
// TRANSLATIONS // |
// // |
//===================================================// |
|
#define WINDOW_TITLE_TEXT "Error" |
#define CONTENT_HEADER_TEXT "/KOLIBRIOS/ IS NOT MOUNTED" |
#define DESCRIPTION_TEXT "Try to find it manually. It should look |
#ifdef LANG_RUS |
?define WINDOW_TITLE_TEXT "¨¬ ¨¥! â® ¢ ¦®." |
?define CONTENT_HEADER_TEXT " /KOLIBRIOS/
" |
?define DESCRIPTION_TEXT "®¯à®¡ã©â¥ ©â¨ ¥¥ á ¬®áâ®ï⥫ì®. |
®¤¥à¦¨¬®¥ ¨ª®¬®© ¯ ¯ª¨ ¯®ª § ® |
ª à⨪¥ á¯à ¢ . á«ãç ¥ ¥¢¥à® |
¢ë¡à ®© ¯ ¯ª¨ âॡã¥âáï ¢ë¯®«¨âì |
¯¥à¥§ £à㧪㠨 ¯®¯à®¡®¢ âì ᮢ ." |
?define MANUALLY_BUTTON_TEXT " ©â¨ /kolibrios/..." |
?define OPEN_ANYWAY_BUTTON_TEXT " ¯ãáâ¨âì APP+ (¥ª®â®àë¥ ¯à®£à ¬¬ë ¡ã¤ãâ ¥¤®áâã¯ë)" |
#else |
?define WINDOW_TITLE_TEXT "Warning! It's important." |
?define CONTENT_HEADER_TEXT "/KOLIBRIOS/ IS NOT MOUNTED" |
?define DESCRIPTION_TEXT "Try to find it manually. It should look |
like image on the right. |
Note: this action can be done only once |
per 1 session of the OS running. If you |
will choose the wrong folder then you |
need to reboot system to try again." |
#define MANUALLY_BUTTON_TEXT "Choose /kolibrios/ folder..." |
?define MANUALLY_BUTTON_TEXT "Choose /kolibrios/ folder..." |
?define OPEN_ANYWAY_BUTTON_TEXT "Open APP+ anyway (some apps will be unavailable)" |
#endif |
|
//===================================================// |
// // |
// CODE // |
// // |
//===================================================// |
|
void CheckKosMounted() |
{ |
if (dir_exists("/kolibrios")) |
{ |
if (file_exists(APP_PLUS_INI_PATH)) |
RunProgram("syspanel", APP_PLUS_INI_PATH); |
else |
notify(APP_PLUS_INI_NOT_EXISTS); |
ExitProcess(); |
} |
} |
|
void WaitAutosearch() |
{ |
while (CheckProcessExists("SEARCHAP")) pause(2); |
} |
|
void main() |
{ |
word id; |
|
CheckKosMounted(); |
WaitAutosearch(); |
CheckKosMounted(); |
|
72,13 → 81,17 |
loop() switch(WaitEvent()) |
{ |
case evButton: |
id=GetButtonID(); |
if (id==1) ExitProcess(); |
if (id==BTN_MANUAL_SEARCH) EventManualSearch(); |
EventButton(GetButtonID()); |
break; |
case evKey: |
GetKeys(); |
if (key_scancode == SCAN_CODE_ENTER) EventManualSearch(); |
if (key_scancode == SCAN_CODE_ENTER) { |
EventButton(active_button_id); |
} |
else if (key_scancode == SCAN_CODE_TAB) { |
active_button_id = active_button_id-10^1 + 10; |
DrawButtons(); |
} |
break; |
|
case evReDraw: |
89,21 → 102,47 |
void draw_window() |
{ |
incn y; |
dword x=30; |
y.n=0; |
system.color.get(); |
DefineAndDrawWindow(screen.width-570/2, 100, 570, 280+skin_height, 0x34, system.color.work, WINDOW_TITLE_TEXT,0); |
DefineAndDrawWindow(screen.width-570/2, 100, 570, 300+skin_height, 0x34, system.color.work, WINDOW_TITLE_TEXT,0); |
GetProcessInfo(#Form, SelfInfo); |
WriteTextB(x+2,y.inc(20)+2,0x81,MixColors(system.color.work, 0xB92234,220),CONTENT_HEADER_TEXT); |
WriteTextB(x,y.n,0x81,0xB92234,CONTENT_HEADER_TEXT); |
WriteTextB(CONX+2,y.inc(20)+2,0x81,MixColors(system.color.work, 0xB92234,220),CONTENT_HEADER_TEXT); |
WriteTextB(CONX,y.n,0x81,0xB92234,CONTENT_HEADER_TEXT); |
|
WriteTextLines(x,y.inc(50),0x90,system.color.work_text,DESCRIPTION_TEXT,20); |
|
PutPaletteImage(#scr,144,171,Form.cwidth-180,y.n,8,#scr_pal); |
DrawRectangle(Form.cwidth-180-1,y.n-1, 144+1,171+1, system.color.work_graph); |
DrawStandartCaptButton(x, Form.cheight-66, BTN_MANUAL_SEARCH, MANUALLY_BUTTON_TEXT); |
|
WriteTextLines(CONX,y.inc(50),0x90,system.color.work_text,DESCRIPTION_TEXT,20); |
|
DrawButtons(); |
} |
|
void DrawButtons() |
{ |
DrawStandartCaptButton(CONX, Form.cheight-80, BTN_MANUAL_SEARCH, MANUALLY_BUTTON_TEXT); |
DrawStandartCaptButton(CONX, Form.cheight-42, BTN_OPEN_ANYWAY, OPEN_ANYWAY_BUTTON_TEXT); |
} |
|
void CheckKosMounted() |
{ |
if (dir_exists("/kolibrios")) |
{ |
if (file_exists(APP_PLUS_INI_PATH)) EventOpenApp(); |
ExitProcess(); |
} |
} |
|
void WaitAutosearch() |
{ |
while (CheckProcessExists("SEARCHAP")) pause(2); |
} |
|
//===================================================// |
// // |
// EVENTS // |
// // |
//===================================================// |
|
void EventManualSearch() |
{ |
OpenDialog_start stdcall (#o_dialog); |
112,5 → 151,17 |
CheckKosMounted(); |
} |
|
void EventOpenApp() |
{ |
RunProgram("syspanel", APP_PLUS_INI_PATH); |
} |
|
void EventButton(dword id) |
{ |
if (id==CLOSE_BTN) ExitProcess(); |
else if (id==BTN_MANUAL_SEARCH) EventManualSearch(); |
else if (id==BTN_OPEN_ANYWAY) { EventOpenApp(); ExitProcess(); } |
} |
|
|
stop: |