forked from KolibriOS/kolibrios
@MENU: allow to set links to files that would be open using @open
MENU.DAT: add a "Welcome" link, small resort WEBVIEW: fix links browsing at bugs.kolibri-n.org @RESHARE: fix crash on skin change CMM: use @reshare for some apps which leads to size decrease OSUPDATE: rework UI git-svn-id: svn://kolibrios.org@9439 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
d888aca21b
commit
8bf60cac6d
@ -1,5 +1,5 @@
|
|||||||
#0 **** MAIN
|
#0 **** MAIN
|
||||||
23 Game Center |allgames
|
58 Welcome |index.htm
|
||||||
00 2D Demos > |@1
|
00 2D Demos > |@1
|
||||||
00 3D Demos > |@2
|
00 3D Demos > |@2
|
||||||
00 Graphics > |@3
|
00 Graphics > |@3
|
||||||
@ -9,6 +9,7 @@
|
|||||||
00 Data processing > |@10
|
00 Data processing > |@10
|
||||||
00 Network > |@11
|
00 Network > |@11
|
||||||
00 Other > |@14
|
00 Other > |@14
|
||||||
|
23 Game Center |allgames
|
||||||
60 System panel |syspanel
|
60 System panel |syspanel
|
||||||
18 Documentation |docpack
|
18 Documentation |docpack
|
||||||
53 Run |run
|
53 Run |run
|
||||||
@ -48,11 +49,11 @@
|
|||||||
22 Toy piano |media/piano
|
22 Toy piano |media/piano
|
||||||
11 Fplay Video player * |/kolibrios/media/fplay
|
11 Fplay Video player * |/kolibrios/media/fplay
|
||||||
#5 **** DEV
|
#5 **** DEV
|
||||||
09 KPack Archiver |kpack
|
|
||||||
54 Flat Assembler |develop/fasm
|
54 Flat Assembler |develop/fasm
|
||||||
20 Diff Tool |develop/diff
|
|
||||||
13 Debug Board |develop/board
|
|
||||||
16 Debugger |develop/mtdbg
|
16 Debugger |develop/mtdbg
|
||||||
|
13 Debug Board |develop/board
|
||||||
|
09 KPack Archiver |kpack
|
||||||
|
20 Diff Tool |develop/diff
|
||||||
34 Base Converter |develop/h2d2b
|
34 Base Converter |develop/h2d2b
|
||||||
59 Character table |develop/ASCIIVju
|
59 Character table |develop/ASCIIVju
|
||||||
59 Key ASCII-codes |develop/keyascii
|
59 Key ASCII-codes |develop/keyascii
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#0 **** MAIN
|
#0 **** MAIN
|
||||||
23 ˆ£à®¢®© æ¥âà |allgames
|
58 ‚áâ㯫¥¨¥ |index.htm
|
||||||
00 2D „¥¬ª¨ > |@1
|
00 2D „¥¬ª¨ > |@1
|
||||||
00 3D „¥¬ª¨ > |@2
|
00 3D „¥¬ª¨ > |@2
|
||||||
00 ƒà 䨪 > |@3
|
00 ƒà 䨪 > |@3
|
||||||
@ -9,6 +9,7 @@
|
|||||||
00 Žä¨á > |@10
|
00 Žä¨á > |@10
|
||||||
00 ‘¥âì > |@11
|
00 ‘¥âì > |@11
|
||||||
00 <20> §®¥ > |@14
|
00 <20> §®¥ > |@14
|
||||||
|
23 ˆ£à®¢®© æ¥âà |allgames
|
||||||
60 ‘¨á⥬ ï ¯ ¥«ì |syspanel
|
60 ‘¨á⥬ ï ¯ ¥«ì |syspanel
|
||||||
18 „®ªã¬¥â æ¨ï |docpack
|
18 „®ªã¬¥â æ¨ï |docpack
|
||||||
53 ‡ ¯ã᪠¯à®£à ¬¬ë |run
|
53 ‡ ¯ã᪠¯à®£à ¬¬ë |run
|
||||||
@ -48,12 +49,12 @@
|
|||||||
22 „¥â᪮¥ ¯¨ ¨® |media/piano
|
22 „¥â᪮¥ ¯¨ ¨® |media/piano
|
||||||
11 ‚¨¤¥®¯«¥¥à Fplay * |/kolibrios/media/fplay
|
11 ‚¨¤¥®¯«¥¥à Fplay * |/kolibrios/media/fplay
|
||||||
#5 **** <20> §à ¡®âª
|
#5 **** <20> §à ¡®âª
|
||||||
09 “¯ ª®¢é¨ª KPack |kpack
|
|
||||||
54 Flat Assembler |develop/fasm
|
54 Flat Assembler |develop/fasm
|
||||||
|
09 “¯ ª®¢é¨ª KPack |kpack
|
||||||
|
16 Žâ« ¤ç¨ª |develop/mtdbg
|
||||||
13 „®áª ®â« ¤ª¨ |develop/board
|
13 „®áª ®â« ¤ª¨ |develop/board
|
||||||
59 HEX-। ªâ®à |develop/heed
|
59 HEX-। ªâ®à |develop/heed
|
||||||
20 Diff tool |develop/diff
|
20 Diff tool |develop/diff
|
||||||
16 Žâ« ¤ç¨ª |develop/mtdbg
|
|
||||||
34 Hex2Dec2Bin |develop/h2d2b
|
34 Hex2Dec2Bin |develop/h2d2b
|
||||||
59 ’ ¡«¨æ ᨬ¢®«®¢ |develop/ASCIIVju
|
59 ’ ¡«¨æ ᨬ¢®«®¢ |develop/ASCIIVju
|
||||||
59 ASCII-ª®¤ë |develop/keyascii
|
59 ASCII-ª®¤ë |develop/keyascii
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
#include "../lib/strings.h"
|
#include "../lib/strings.h"
|
||||||
#include "../lib/io.h"
|
#include "../lib/io.h"
|
||||||
#include "../lib/list_box.h"
|
#include "../lib/list_box.h"
|
||||||
#include "../lib/obj/libimg.h"
|
|
||||||
#include "../lib/gui.h"
|
#include "../lib/gui.h"
|
||||||
|
|
||||||
#include "../lib/obj/box_lib.h"
|
#include "../lib/obj/box_lib.h"
|
||||||
@ -102,7 +101,6 @@ void main()
|
|||||||
|
|
||||||
load_dll(boxlib, #box_lib_init,0);
|
load_dll(boxlib, #box_lib_init,0);
|
||||||
load_dll(libini, #lib_init,1);
|
load_dll(libini, #lib_init,1);
|
||||||
load_dll(libimg, #libimg_init,1);
|
|
||||||
load_dll(Proc_lib, #OpenDialog_init,0);
|
load_dll(Proc_lib, #OpenDialog_init,0);
|
||||||
o_dialog.type = 2; //select folder
|
o_dialog.type = 2; //select folder
|
||||||
OpenDialog_init stdcall (#o_dialog);
|
OpenDialog_init stdcall (#o_dialog);
|
||||||
@ -196,8 +194,8 @@ void DrawWindowContent()
|
|||||||
|
|
||||||
tabs.w = Form.cwidth-LP-LP;
|
tabs.w = Form.cwidth-LP-LP;
|
||||||
tabs.draw();
|
tabs.draw();
|
||||||
DrawIcon16(tabs.x + TAB_PADDING, 15, sc.work, 17);
|
draw_icon_16w(tabs.x + TAB_PADDING, 15, 17);
|
||||||
DrawIcon16(strlen(T_SKINS)*8 + tabs.x + TAB_PADDING + TAB_PADDING, 15, sc.work, 6);
|
draw_icon_16w(strlen(T_SKINS)*8 + tabs.x + TAB_PADDING + TAB_PADDING, 15, 6);
|
||||||
|
|
||||||
id = select_list.cur_y;
|
id = select_list.cur_y;
|
||||||
SelectList_Init(
|
SelectList_Init(
|
||||||
|
@ -107,4 +107,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
|
|||||||
|
|
||||||
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
||||||
|
|
||||||
char version[]="WebView 3.66-2";
|
char version[]="WebView 3.66-3";
|
@ -145,7 +145,7 @@ void Draw_DriverListWindow()
|
|||||||
//RIGHT FRAME
|
//RIGHT FRAME
|
||||||
GetCurrentSectionData();
|
GetCurrentSectionData();
|
||||||
DrawBar(right_frame_x, PADDING+3, Form.cwidth - right_frame_x - PADDING, 80, sc.work);
|
DrawBar(right_frame_x, PADDING+3, Form.cwidth - right_frame_x - PADDING, 80, sc.work);
|
||||||
DrawIcon32(right_frame_x, PADDING, sc.work, cur_icon);
|
draw_icon_32(right_frame_x, PADDING, sc.work, cur_icon);
|
||||||
WriteTextB(right_frame_x+44, PADDING+3, 0x81, sc.work_text, ini_sections.get(select_list.cur_y));
|
WriteTextB(right_frame_x+44, PADDING+3, 0x81, sc.work_text, ini_sections.get(select_list.cur_y));
|
||||||
WriteText(right_frame_x+44, PADDING+23, 0x80, sc.work_text, #cur_version);
|
WriteText(right_frame_x+44, PADDING+23, 0x80, sc.work_text, #cur_version);
|
||||||
if(cur_readme_path[0]) readme_w = DrawStandartCaptButton(right_frame_x, PADDING+45, BUTTON_ID_README, T_README);
|
if(cur_readme_path[0]) readme_w = DrawStandartCaptButton(right_frame_x, PADDING+45, BUTTON_ID_README, T_README);
|
||||||
|
@ -9,9 +9,9 @@ TODO:
|
|||||||
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ABOUT_TITLE "EOLITE 5.15"
|
#define ABOUT_TITLE "EOLITE 5.15-1"
|
||||||
#define TITLE_EOLITE "Eolite File Manager 5.15"
|
#define TITLE_EOLITE "Eolite File Manager 5.15-1"
|
||||||
#define TITLE_KFM "Kolibri File Manager 2.15";
|
#define TITLE_KFM "Kolibri File Manager 2.15-1";
|
||||||
|
|
||||||
#define MEMSIZE 1024 * 250
|
#define MEMSIZE 1024 * 250
|
||||||
#include "../lib/clipboard.h"
|
#include "../lib/clipboard.h"
|
||||||
|
@ -160,7 +160,7 @@ void SaveIniSettings()
|
|||||||
void Write_Error(int error_number)
|
void Write_Error(int error_number)
|
||||||
{
|
{
|
||||||
char error_message[500];
|
char error_message[500];
|
||||||
sprintf(#error_message,"\"%s\n%s\" -%s","Eolite",get_error(error_number),"tE");
|
sprintf(#error_message,"\"Eolite\n%s\" -tE", get_error(error_number));
|
||||||
notify(#error_message);
|
notify(#error_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include "../lib/gui/child_window.h"
|
#include "../lib/gui/child_window.h"
|
||||||
#include "../lib/gui/text_view_area.h"
|
#include "../lib/gui/text_view_area.h"
|
||||||
|
#include "../lib/gui/reshare.h"
|
||||||
|
|
||||||
#ifndef INCLUDE_MENU_H
|
#ifndef INCLUDE_MENU_H
|
||||||
#include "../lib/gui/menu.h"
|
#include "../lib/gui/menu.h"
|
||||||
@ -357,7 +358,4 @@ struct block {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
45
programs/cmm/lib/gui/reshare.h
Normal file
45
programs/cmm/lib/gui/reshare.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
:bool draw_icon_32(dword _x,_y, _bg, _icon_n) {
|
||||||
|
static dword bg;
|
||||||
|
static dword shared;
|
||||||
|
static dword icon32mem;
|
||||||
|
dword size;
|
||||||
|
if (!shared) || (bg!=_bg) {
|
||||||
|
if (shared = memopen("ICONS32", NULL, SHM_READ))
|
||||||
|
{
|
||||||
|
size = EDX;
|
||||||
|
if (!icon32mem) icon32mem = malloc(size);
|
||||||
|
memmov(icon32mem, shared, size);
|
||||||
|
EDX = icon32mem + size;
|
||||||
|
EAX = bg = _bg;
|
||||||
|
for (ESI = icon32mem; ESI < EDX; ESI += 4) {
|
||||||
|
if (DSDWORD[ESI]==0x00000000) DSDWORD[ESI] = EAX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (icon32mem) {
|
||||||
|
PutPaletteImage(32*32*4*_icon_n + icon32mem, 32, 32,_x, _y, 32, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
:bool draw_icon_16(dword _x,_y, _icon_n) {
|
||||||
|
static dword shared_i16;
|
||||||
|
if (!shared_i16) shared_i16 = memopen("ICONS18", NULL, SHM_READ);
|
||||||
|
if (shared_i16) {
|
||||||
|
PutPaletteImage(18*18*4*_icon_n + shared_i16, 18, 18,_x, _y, 32, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
:bool draw_icon_16w(dword _x,_y, _icon_n) {
|
||||||
|
static dword shared_i16w;
|
||||||
|
if (!shared_i16w) shared_i16w = memopen("ICONS18W", NULL, SHM_READ);
|
||||||
|
if (shared_i16w) {
|
||||||
|
PutPaletteImage(18*18*4*_icon_n + shared_i16w, 18, 18,_x, _y, 32, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
@ -224,6 +224,8 @@ void _http::receive()
|
|||||||
case '?':
|
case '?':
|
||||||
strchr(#newurl+8, '?'); //returns EAX
|
strchr(#newurl+8, '?'); //returns EAX
|
||||||
if (EAX) ESBYTE[EAX] = '\0';
|
if (EAX) ESBYTE[EAX] = '\0';
|
||||||
|
strchr(#newurl+8, '/'); //returns EAX
|
||||||
|
if (!EAX) chrcat(#newurl, '/');
|
||||||
break;
|
break;
|
||||||
case '/':
|
case '/':
|
||||||
new_URL++;
|
new_URL++;
|
||||||
|
@ -905,11 +905,17 @@ inline signed csshexdec(dword text)
|
|||||||
:void miniprintf(dword dst, format, insert_line)
|
:void miniprintf(dword dst, format, insert_line)
|
||||||
{
|
{
|
||||||
dword in_pos = strchr(format, '%');
|
dword in_pos = strchr(format, '%');
|
||||||
if (ESBYTE[in_pos+1] == 's') {
|
EBX = ESBYTE[EAX+1];
|
||||||
strlcpy(dst, format, in_pos - format);
|
if (EBX == 's') {
|
||||||
|
strncpy(dst, format, in_pos - format);
|
||||||
strcat(dst, insert_line);
|
strcat(dst, insert_line);
|
||||||
strcat(dst, in_pos+2);
|
strcat(dst, in_pos+2);
|
||||||
}
|
}
|
||||||
|
if (EBX == 'd') || (EBX == 'i') {
|
||||||
|
strncpy(dst, format, in_pos - format);
|
||||||
|
strcat(dst, itoa(insert_line));
|
||||||
|
strcat(dst, in_pos+2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline cdecl int sprintf(dword buf, format,...)
|
inline cdecl int sprintf(dword buf, format,...)
|
||||||
|
@ -14,4 +14,4 @@ cd ..
|
|||||||
|
|
||||||
del warning.txt
|
del warning.txt
|
||||||
|
|
||||||
pause
|
rem pause
|
@ -5,7 +5,6 @@
|
|||||||
#include "../lib/copyf.h"
|
#include "../lib/copyf.h"
|
||||||
|
|
||||||
#include "../lib/obj/libini.h"
|
#include "../lib/obj/libini.h"
|
||||||
#include "../lib/obj/libimg.h"
|
|
||||||
|
|
||||||
#include "../lib/patterns/restart_process.h"
|
#include "../lib/patterns/restart_process.h"
|
||||||
|
|
||||||
@ -40,8 +39,7 @@ void main()
|
|||||||
{
|
{
|
||||||
word btn;
|
word btn;
|
||||||
load_dll(libini, #lib_init,1);
|
load_dll(libini, #lib_init,1);
|
||||||
load_dll(libimg, #libimg_init,1);
|
loop() switch(@WaitEventTimeout(300))
|
||||||
loop() switch(WaitEventTimeout(300) & 0xFF)
|
|
||||||
{
|
{
|
||||||
case evButton:
|
case evButton:
|
||||||
btn = GetButtonID();
|
btn = GetButtonID();
|
||||||
@ -89,7 +87,7 @@ void DrawIntro()
|
|||||||
|
|
||||||
void DrawInstallComplete()
|
void DrawInstallComplete()
|
||||||
{
|
{
|
||||||
DrawIcon32(WINW-32/2, 140, sc.work, 49);
|
draw_icon_32(WINW-32/2, 140, sc.work, 49);
|
||||||
WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE);
|
WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE);
|
||||||
DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_EXIT,
|
DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_EXIT,
|
||||||
0x0092D8, 0xFFFfff, T_EXIT);
|
0x0092D8, 0xFFFfff, T_EXIT);
|
||||||
|
@ -10,8 +10,6 @@
|
|||||||
#include "..\lib\gui.h"
|
#include "..\lib\gui.h"
|
||||||
#include "..\lib\random.h"
|
#include "..\lib\random.h"
|
||||||
|
|
||||||
#include "..\lib\obj\libimg.h"
|
|
||||||
|
|
||||||
#define BTN_CLOSED 0
|
#define BTN_CLOSED 0
|
||||||
#define BTN_PRESSED 1
|
#define BTN_PRESSED 1
|
||||||
#define BTN_OPEN 2
|
#define BTN_OPEN 2
|
||||||
@ -40,8 +38,8 @@ int count;
|
|||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
dword id;
|
dword id;
|
||||||
load_dll(libimg, #libimg_init,1);
|
|
||||||
|
|
||||||
|
mem_init();
|
||||||
NewGame();
|
NewGame();
|
||||||
|
|
||||||
loop() switch(@WaitEvent())
|
loop() switch(@WaitEvent())
|
||||||
@ -151,7 +149,7 @@ void ReDraw_Game_Button(int id)
|
|||||||
case BTN_OPEN:
|
case BTN_OPEN:
|
||||||
DrawBar(xx+1, yy+1, CELL_SIZE-1, CELL_SIZE-1, 0xFFFfff);//background
|
DrawBar(xx+1, yy+1, CELL_SIZE-1, CELL_SIZE-1, 0xFFFfff);//background
|
||||||
}
|
}
|
||||||
DrawIcon32(xx+6, yy+6, 0xFFFfff, bitpict[id]+51); //skip first 51 icons as they are boring for game
|
draw_icon_32(xx+6, yy+6, 0xffFFFfff, bitpict[id]+51); //skip first 51 icons as they are boring for game
|
||||||
}
|
}
|
||||||
|
|
||||||
void Draw_Panel()
|
void Draw_Panel()
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
#include "../lib/gui.h"
|
#include "../lib/gui.h"
|
||||||
#include "../lib/copyf.h"
|
#include "../lib/copyf.h"
|
||||||
|
|
||||||
#include "../lib/obj/libini.h"
|
|
||||||
#include "../lib/obj/libimg.h"
|
|
||||||
#include "../lib/obj/http.h"
|
#include "../lib/obj/http.h"
|
||||||
#include "../lib/obj/network.h"
|
#include "../lib/obj/network.h"
|
||||||
|
|
||||||
@ -12,47 +10,50 @@
|
|||||||
|
|
||||||
bool install_complete = false;
|
bool install_complete = false;
|
||||||
_http http;
|
_http http;
|
||||||
|
dword unimg_id;
|
||||||
|
|
||||||
#define WINW 460
|
#define WINW 460
|
||||||
#define WINH 380
|
#define WINH 330
|
||||||
|
|
||||||
//#define LANG_RUS 1
|
//#define LANG_RUS 1
|
||||||
|
|
||||||
#ifdef LANG_RUS
|
#ifdef LANG_RUS
|
||||||
#define T_WINDOW_TITLE "Ž« © ®¡®¢«¥¨¥ KolibriOS"
|
#define T_WINDOW_TITLE "Ž« © ®¡®¢«¥¨¥ KolibriOS"
|
||||||
#define T_TITLE_H1 "Ž<EFBFBD>‹€‰<EFBFBD> Ž<><C5BD>Ž‚‹…<E280B9>ˆ…"
|
#define T_TITLE_H1 "Ž« © ®¡®¢«¥¨¥"
|
||||||
#define T_INTRO "„ ®¥ ¯à¨«®¦¥¨¥ áª ç ¥â ¯®á«¥¤îî ¢¥àá¨î KolibriOS ¨ à ᯠªã¥â ¥¥ RAM-¤¨áª. <20>ਠí⮬ ï¤à® ¥ ¡ã¤¥â ¯¥à¥§ ¯ã饮, ¤«ï í⮣® ¥®¡å®¤¨¬® á®åà ¨âì ®¡à § ¨ ¯¥à¥§ £à㧨âáï. <20>®¦ «ã©áâ , § ªà®©â¥ ¢á¥ ®âªàëâë¥ ¯à¨«®¦¥¨ï ¯¥à¥¤ ç «®¬ ®¡®¢«¥¨ï.
|
#define T_INTRO "„ ®¥ ¯à¨«®¦¥¨¥ áª ç ¥â ¯®á«¥¤îî ¢¥àá¨î KolibriOS ¨ à ᯠªã¥â ¥¥ RAM-¤¨áª. <20>ਠí⮬ ï¤à® ¥ ¡ã¤¥â ¯¥à¥§ ¯ã饮, ¤«ï í⮣® ¥®¡å®¤¨¬® á®åà ¨âì ®¡à § ¨ ¯¥à¥§ £à㧨âáï. <20>®¦ «ã©áâ , § ªà®©â¥ ¢á¥ ®âªàëâë¥ ¯à¨«®¦¥¨ï ¯¥à¥¤ ç «®¬ ®¡®¢«¥¨ï.
|
||||||
‚<EFBFBD>ˆŒ€<EFBFBD>ˆ…: ‚ᥠ¨§¬¥ë¥ ä ©«ë RAM-¤¨áª¥ ¡ã¤ãâ ¯¥à¥§ ¯¨á ë!";
|
‚<EFBFBD>ˆŒ€<EFBFBD>ˆ…: ‚ᥠ¨§¬¥ë¥ ä ©«ë RAM-¤¨áª¥ ¡ã¤ãâ ¯¥à¥§ ¯¨á ë!";
|
||||||
#define T_INSTALL "Ž¡®¢¨âì"
|
#define T_INSTALL "Ž¡®¢¨âì"
|
||||||
#define T_COMPLETE "Ž¡®¢«¥¨¥ § ¢¥à襮"
|
#define T_DOWNLOADING "‘ª 稢 î ᢥ¦¨© ®¡à § kolibri.img..."
|
||||||
|
#define T_UNPACKING "<22> ᯠª®¢ë¢ î ¨ ª®¯¨àãî ä ©«ë..."
|
||||||
|
#define T_COMPLETE "Ž¡®¢«¥¨¥ ãá¯¥è® § ¢¥à襮."
|
||||||
#define T_EXIT "‚ë室"
|
#define T_EXIT "‚ë室"
|
||||||
#define IMG_URL "http://builds.kolibrios.org/rus/data/data/kolibri.img"
|
#define IMG_URL "http://builds.kolibrios.org/rus/data/data/kolibri.img"
|
||||||
#define KS "‘®åà ¨âì áâனª¨"
|
#define KS "‘®åà ¨âì áâனª¨"
|
||||||
#define checkbox_h 190
|
|
||||||
#else
|
#else
|
||||||
#define T_WINDOW_TITLE "KolibriOS Online Updater"
|
#define T_WINDOW_TITLE "KolibriOS Online Updater"
|
||||||
#define T_TITLE_H1 "ONLINE UPDATE"
|
#define T_TITLE_H1 "Online Updater"
|
||||||
#define T_INTRO "This app will download the latest KolibriOS dirsto and update your RAM-disk with it. Kernel won't be restarted.
|
#define T_INTRO "This app will download the latest KolibriOS dirsto and update your RAM-disk with it. Kernel won't be restarted.
|
||||||
Please close all opened apps before start.
|
Please close all opened apps before start.
|
||||||
Note that all changes on RAM-disk will be lost.";
|
Note that all changes on RAM-disk will be lost.";
|
||||||
#define T_INSTALL "Update"
|
#define T_INSTALL "Update"
|
||||||
#define T_COMPLETE "Update complete"
|
#define T_DOWNLOADING "Downloading the latest kolibri.img..."
|
||||||
|
#define T_UNPACKING "Unpacking and copying files..."
|
||||||
|
#define T_COMPLETE "Update complete successfully."
|
||||||
#define T_EXIT "Exit"
|
#define T_EXIT "Exit"
|
||||||
#define IMG_URL "http://builds.kolibrios.org/eng/data/data/kolibri.img"
|
#define IMG_URL "http://builds.kolibrios.org/eng/data/data/kolibri.img"
|
||||||
#define KS "Keep settings folder"
|
#define KS "Keep settings folder"
|
||||||
#define checkbox_h 210
|
|
||||||
#endif
|
#endif
|
||||||
char accept_language[]="en"; //not used, necessary for http.get()
|
char accept_language[]="en"; //not used, necessary for http.get()
|
||||||
void Operation_Draw_Progress(dword f) {} //not used, necessary for copyf()
|
void Operation_Draw_Progress(dword f) {} //not used, necessary for copyf()
|
||||||
|
|
||||||
checkbox keep_settings = { KS, true };
|
checkbox keep_settings = { KS, true };
|
||||||
|
sensor progress = { 40, WINH-70, WINW-80, 20 };
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
int btn;
|
int btn;
|
||||||
sensor progress;
|
|
||||||
load_dll(libimg, #libimg_init,1);
|
|
||||||
load_dll(libHTTP, #http_lib_init,1);
|
load_dll(libHTTP, #http_lib_init,1);
|
||||||
|
SetWindowLayerBehaviour(-1, ZPOS_ALWAYS_TOP);
|
||||||
@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_STACK);
|
@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_STACK);
|
||||||
loop() switch(@WaitEventTimeout(300))
|
loop() switch(@WaitEventTimeout(300))
|
||||||
{
|
{
|
||||||
@ -78,23 +79,7 @@ void main()
|
|||||||
|
|
||||||
case evReDraw:
|
case evReDraw:
|
||||||
_DRAW_WINDOW:
|
_DRAW_WINDOW:
|
||||||
sc.get();
|
draw_window();
|
||||||
DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
|
|
||||||
WINW+9,WINH+skin_height,0x34,sc.work,T_WINDOW_TITLE,0);
|
|
||||||
WriteText(30, 20, 0x81, 0xEC008C, T_TITLE_H1);
|
|
||||||
if (!install_complete) {
|
|
||||||
DrawTextViewArea(30, 50, WINW-60, WINH-80, T_INTRO, -1, sc.work_text);
|
|
||||||
progress.set_size(30, WINH-130, WINW-60, 20);
|
|
||||||
if (http.transfer<=0) {
|
|
||||||
DrawCaptButton(WINW-110/2, WINH-70, 110, 28, 9, 0x0092D8, 0xFFFfff, T_INSTALL);
|
|
||||||
keep_settings.draw(30, WINH - checkbox_h);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
DrawIcon32(WINW-32/2, 140, sc.work, 49);
|
|
||||||
WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE);
|
|
||||||
DrawCaptButton(WINW-110/2, WINH-70, 110, 28, 2,
|
|
||||||
0x0092D8, 0xFFFfff, T_EXIT);
|
|
||||||
}
|
|
||||||
|
|
||||||
case evNetwork:
|
case evNetwork:
|
||||||
if (http.transfer <= 0) break;
|
if (http.transfer <= 0) break;
|
||||||
@ -112,6 +97,37 @@ void main()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void draw_window()
|
||||||
|
{
|
||||||
|
sc.get();
|
||||||
|
DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
|
||||||
|
WINW+9,WINH+skin_height,0x34,sc.work,T_WINDOW_TITLE,0);
|
||||||
|
WriteText(30, 20, 0x91, 0xEC008C, T_TITLE_H1);
|
||||||
|
if (!install_complete) {
|
||||||
|
if (GetProcessSlot(unimg_id)) {
|
||||||
|
//UNPACKING
|
||||||
|
draw_icon_32(WINW-32/2, 140, sc.work, 89);
|
||||||
|
WriteTextCenter(0, 185, WINW, sc.work_text, T_UNPACKING);
|
||||||
|
} else if (http.transfer<=0) {
|
||||||
|
//INTRO
|
||||||
|
DrawTextViewArea(30, 65, WINW-60, WINH-80, T_INTRO, -1, sc.work_text);
|
||||||
|
DrawCaptButton(WINW-160, WINH-70, 110, 28, 9, 0x0092D8, 0xFFFfff, T_INSTALL);
|
||||||
|
keep_settings.draw(30, WINH-65);
|
||||||
|
} else {
|
||||||
|
//DOWNLOADING
|
||||||
|
draw_icon_32(WINW-32/2, 140, sc.work, 51);
|
||||||
|
WriteTextCenter(0, 185, WINW, sc.work_text, T_DOWNLOADING);
|
||||||
|
progress.draw_wrapper();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//COMPLETE
|
||||||
|
draw_icon_32(WINW-32/2, 140, sc.work, 49);
|
||||||
|
WriteTextCenter(0, 185, WINW, sc.work_text, T_COMPLETE);
|
||||||
|
DrawCaptButton(WINW-110/2, WINH-70, 110, 28, 2,
|
||||||
|
0x0092D8, 0xFFFfff, T_EXIT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dword GetFreeSpaceOfRamdisk()
|
dword GetFreeSpaceOfRamdisk()
|
||||||
{
|
{
|
||||||
dword rdempty = malloc(1440*1024);
|
dword rdempty = malloc(1440*1024);
|
||||||
@ -142,7 +158,7 @@ signed CheckFreeSpace(dword _latest, _combined)
|
|||||||
|
|
||||||
void EventDownloadComplete()
|
void EventDownloadComplete()
|
||||||
{
|
{
|
||||||
dword unimg_id, slot_n;
|
dword slot_n;
|
||||||
signed space_delta;
|
signed space_delta;
|
||||||
int i=0;
|
int i=0;
|
||||||
|
|
||||||
@ -153,18 +169,19 @@ void EventDownloadComplete()
|
|||||||
char exract_param[64];
|
char exract_param[64];
|
||||||
char backup_settings[64];
|
char backup_settings[64];
|
||||||
|
|
||||||
do { sprintf(#osupdate, "/tmp0/1/osupdate%d", i); i++;
|
do { miniprintf(#osupdate, "/tmp0/1/osupdate%d", i); i++;
|
||||||
} while (dir_exists(#osupdate));
|
} while (dir_exists(#osupdate));
|
||||||
CreateDir(#osupdate);
|
CreateDir(#osupdate);
|
||||||
|
|
||||||
sprintf(#latest, "%s/latest", #osupdate);
|
miniprintf(#latest, "%s/latest", #osupdate);
|
||||||
sprintf(#backup, "%s/rdbackup", #osupdate);
|
miniprintf(#backup, "%s/rdbackup", #osupdate);
|
||||||
sprintf(#combined, "%s/combined", #osupdate);
|
miniprintf(#combined, "%s/combined", #osupdate);
|
||||||
sprintf(#backup_settings, "%s/settings", #backup);
|
miniprintf(#backup_settings, "%s/settings", #backup);
|
||||||
sprintf(#exract_param, "/tmp0/1/latest.img %s -e", #latest);
|
miniprintf(#exract_param, "/tmp0/1/latest.img %s -e", #latest);
|
||||||
|
|
||||||
|
|
||||||
unimg_id = RunProgram("/sys/unimg", #exract_param);
|
unimg_id = RunProgram("/sys/unimg", #exract_param);
|
||||||
|
draw_window();
|
||||||
|
|
||||||
do {
|
do {
|
||||||
slot_n = GetProcessSlot(unimg_id);
|
slot_n = GetProcessSlot(unimg_id);
|
||||||
pause(10);
|
pause(10);
|
||||||
@ -172,7 +189,7 @@ void EventDownloadComplete()
|
|||||||
|
|
||||||
space_delta = CheckFreeSpace(#latest, #combined);
|
space_delta = CheckFreeSpace(#latest, #combined);
|
||||||
if (space_delta<0) {
|
if (space_delta<0) {
|
||||||
sprintf(#param, "'Not enought free space! You need %d KB more.'E", -space_delta);
|
miniprintf(#param, "'Not enought free space! You need %d KB more.'E", -space_delta);
|
||||||
notify(#param);
|
notify(#param);
|
||||||
} else {
|
} else {
|
||||||
copyf("/sys", #backup);
|
copyf("/sys", #backup);
|
||||||
|
@ -38,11 +38,12 @@ UPDATE_ICONS18WORK:
|
|||||||
$push sc.work
|
$push sc.work
|
||||||
sc.get();
|
sc.get();
|
||||||
$pop eax
|
$pop eax
|
||||||
IF (sc.work != EAX) {
|
if (sc.work != EAX) {
|
||||||
icons16w.load("/sys/icons16.png");
|
icons16w.load("/sys/icons16.png");
|
||||||
icons16w.replace_2colors(0xffFFFfff, sc.work, 0xffCACBD6, MixColors(sc.work, 0, 200));
|
icons16w.replace_2colors(0xffFFFfff, sc.work, 0xffCACBD6, MixColors(sc.work, 0, 200));
|
||||||
memmov(shared_i16w, icons16w.imgsrc, size16);
|
memmov(shared_i16w, icons16w.imgsrc, size16);
|
||||||
img_destroy stdcall(icons16w.image);
|
img_destroy stdcall(icons16w.image);
|
||||||
|
icons16w.image = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
loop() IF(WaitEvent()==evDesktop) GOTO UPDATE_ICONS18WORK;
|
loop() IF(WaitEvent()==evDesktop) GOTO UPDATE_ICONS18WORK;
|
||||||
|
@ -294,14 +294,8 @@ void MonitorTmp()
|
|||||||
|
|
||||||
void DrawIconWithText(dword _x, _y, _icon, _title)
|
void DrawIconWithText(dword _x, _y, _icon, _title)
|
||||||
{
|
{
|
||||||
static dword shared_icons_16;
|
if (draw_icon_16w(_x, _y, _icon)) _x += ICONGAP;
|
||||||
if (!shared_icons_16) shared_icons_16 = memopen("ICONS18W", NULL, SHM_READ);
|
WriteTextWithBg(_x, _y + 2, 0xD0, sc.work_text, _title, sc.work);
|
||||||
if (shared_icons_16) {
|
|
||||||
PutPaletteImage(18*18*4*_icon + shared_icons_16, 18, 18,_x, _y, 32, 0);
|
|
||||||
} else {
|
|
||||||
_x -= ICONGAP;
|
|
||||||
}
|
|
||||||
WriteTextWithBg(_x+ICONGAP, _y + 2, 0xD0, sc.work_text, _title, sc.work);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dword GetCpuLoad(dword max_h)
|
dword GetCpuLoad(dword max_h)
|
||||||
|
@ -896,13 +896,13 @@ if lang eq ru
|
|||||||
t_notes db '„Ž <20>… Œˆ ”€ ‘Ž‹œ ‹Ÿ ‘ˆ „Ž',0
|
t_notes db '„Ž <20>… Œˆ ”€ ‘Ž‹œ ‹Ÿ ‘ˆ „Ž',0
|
||||||
caption db '„¥â᪮¥ ¯¨ ¨®',0
|
caption db '„¥â᪮¥ ¯¨ ¨®',0
|
||||||
else
|
else
|
||||||
message db 'To see help click twice on the window header',0
|
message db 'Click twice on the window header to see help.',0
|
||||||
message1 db 'Press any key in English keyboard layout - ',0
|
message1 db 'Press any key in English keyboard layout - ',0
|
||||||
message2 db 'so you will hear the sound from the PC-speaker (Beeper)',0
|
message2 db 'so you will hear the sound from the PC-speaker (Beeper)',0
|
||||||
message3 db 'Note "C" is the key V,Tab,U,Enter',0
|
message3 db 'Note "C" is the key V,Tab,U,Enter',0
|
||||||
message4 db 'and when Caps Lock is on then the keys V,Q,I.',0
|
message4 db 'and when Caps Lock is on then the keys V,Q,I.',0
|
||||||
t_notes db 'C D E F G A B C ',0
|
t_notes db 'C D E F G A B C ',0
|
||||||
caption db 'Baby piano',0
|
caption db 'Toy piano',0
|
||||||
end if
|
end if
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
@ -462,9 +462,15 @@ align 4
|
|||||||
rep movsb ; copy string
|
rep movsb ; copy string
|
||||||
mov [edi],byte 0 ; store terminator
|
mov [edi],byte 0 ; store terminator
|
||||||
mcall 70,fileinfo_start ; start program
|
mcall 70,fileinfo_start ; start program
|
||||||
or [close_now],1 ; set close flag
|
|
||||||
pop edi
|
pop edi
|
||||||
|
or [close_now],1 ; set close flag
|
||||||
mov [mousemask],0
|
mov [mousemask],0
|
||||||
|
; if program run failed then start /sys/@open with param
|
||||||
|
test eax,eax
|
||||||
|
jns close
|
||||||
|
mov eax, fileinfo_start.name
|
||||||
|
mov [file_open.params], eax
|
||||||
|
mcall 70,file_open
|
||||||
jmp close
|
jmp close
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -1070,6 +1076,16 @@ fileinfo_start:
|
|||||||
.rezerved_1 dd 0x0 ; nop
|
.rezerved_1 dd 0x0 ; nop
|
||||||
.name:
|
.name:
|
||||||
times 50 db ' '
|
times 50 db ' '
|
||||||
|
;--------------------------------------
|
||||||
|
align 4
|
||||||
|
file_open:
|
||||||
|
.subfunction dd 7 ; 7=START /SYS/@OPEN APP WITH PARAM
|
||||||
|
.flags dd 0 ; flags
|
||||||
|
.params dd 0x0 ; nop
|
||||||
|
.rezerved dd 0x0 ; nop
|
||||||
|
.rezerved_1 dd 0x0 ; nop
|
||||||
|
.name:
|
||||||
|
db '/SYS/@OPEN',0
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
IM_END:
|
IM_END:
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user