Rev 8389 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8389 | Rev 8509 | ||
---|---|---|---|
1 | #define MEMSIZE 1024*160 |
1 | #define MEMSIZE 1024*160 |
2 | 2 | ||
3 | #include "../lib/io.h" |
3 | #include "../lib/io.h" |
4 | #include "../lib/gui.h" |
4 | #include "../lib/gui.h" |
5 | #include "../lib/copyf.h" |
5 | #include "../lib/copyf.h" |
6 | 6 | ||
7 | #include "../lib/obj/libini.h" |
7 | #include "../lib/obj/libini.h" |
8 | #include "../lib/obj/libimg.h" |
8 | #include "../lib/obj/libimg.h" |
9 | 9 | ||
10 | #include "../lib/patterns/restart_process.h" |
10 | #include "../lib/patterns/restart_process.h" |
11 | 11 | ||
12 | #ifndef AUTOBUILD |
12 | #ifndef AUTOBUILD |
13 | #include "lang.h--" |
13 | #include "lang.h--" |
14 | #endif |
14 | #endif |
15 | 15 | ||
16 | char logo[] = " |
16 | char logo[] = " |
17 | ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛ |
17 | ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛ |
18 | ÛÛÛÛ ÛÛ ÛÛÛ ÛÛÛ ÛÛÛ ÛÛ ÛÛÛ ÛÛ |
18 | ÛÛÛÛ ÛÛ ÛÛÛ ÛÛÛ ÛÛÛ ÛÛ ÛÛÛ ÛÛ |
19 | ÛÛÛÛÛ ÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛ ÛÛÛ ÛÛ |
19 | ÛÛÛÛÛ ÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛ ÛÛÛ ÛÛ |
20 | ÛÛ ÛÛÛ ÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛ |
20 | ÛÛ ÛÛÛ ÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛ |
21 | ÛÛ ÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛÛ |
21 | ÛÛ ÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛÛ |
22 | ÛÛ ÛÛÛÛ ÛÛÛ ÛÛÛ ÛÛÛ ÛÛÛ |
22 | ÛÛ ÛÛÛÛ ÛÛÛ ÛÛÛ ÛÛÛ ÛÛÛ |
23 | ÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛ |
23 | ÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛ |
24 | "; |
24 | "; |
25 | 25 | ||
26 | #ifdef LANG_RUS |
26 | #ifdef LANG_RUS |
27 | #define T_INTRO "®¯à®¡ã©â¥ ®¢®¥ ¢¨§ã «ì®¥ ®ä®à¬«¥¨¥ ®«¨¡à¨, ª®â®à®¥ à ìè¥ ¡ë«® ¤®áâ㯮 ⮫쪮 ¢ KolibriNext."; |
27 | #define T_INTRO "®¯à®¡ã©â¥ ®¢®¥ ¢¨§ã «ì®¥ ®ä®à¬«¥¨¥ ®«¨¡à¨, ª®â®à®¥ à ìè¥ ¡ë«® ¤®áâ㯮 ⮫쪮 ¢ KolibriNext."; |
28 | #define T_INSTALL "áâ ®¢¨âì" |
28 | #define T_INSTALL "áâ ®¢¨âì" |
29 | #define T_COMPLETE "áâ ®¢ª § ¢¥àè¥ " |
29 | #define T_COMPLETE "áâ ®¢ª § ¢¥àè¥ " |
30 | #define T_EXIT "ë室" |
30 | #define T_EXIT "ë室" |
31 | #else |
31 | #else |
32 | #define T_INTRO "Try a new visual design of KolibriOS, which previously was available only in KolibriNext."; |
32 | #define T_INTRO "Try a new visual design of KolibriOS, which previously was available only in KolibriNext."; |
33 | #define T_INSTALL "Install" |
33 | #define T_INSTALL "Install" |
34 | #define T_COMPLETE "Install complete" |
34 | #define T_COMPLETE "Install complete" |
35 | #define T_EXIT "Exit" |
35 | #define T_EXIT "Exit" |
36 | #endif |
36 | #endif |
37 | 37 | ||
38 | #define B_INSTALL 10 |
38 | #define B_INSTALL 10 |
39 | #define B_EXIT 11 |
39 | #define B_EXIT 11 |
40 | 40 | ||
41 | bool install_complete = false; |
41 | bool install_complete = false; |
42 | 42 | ||
43 | void main() |
43 | void main() |
44 | { |
44 | { |
45 | word btn; |
45 | word btn; |
46 | load_dll(libini, #lib_init,1); |
46 | load_dll(libini, #lib_init,1); |
47 | load_dll(libimg, #libimg_init,1); |
47 | load_dll(libimg, #libimg_init,1); |
48 | loop() switch(WaitEventTimeout(300) & 0xFF) |
48 | loop() switch(WaitEventTimeout(300) & 0xFF) |
49 | { |
49 | { |
50 | case evButton: |
50 | case evButton: |
51 | btn = GetButtonID(); |
51 | btn = GetButtonID(); |
52 | if (btn == 1) || (B_EXIT == btn) ExitProcess(); |
52 | if (btn == 1) || (B_EXIT == btn) ExitProcess(); |
53 | if (B_INSTALL == btn) EventInstall(); |
53 | if (B_INSTALL == btn) EventInstall(); |
54 | break; |
54 | break; |
55 | 55 | ||
56 | case evKey: |
56 | case evKey: |
57 | GetKeys(); |
57 | GetKeys(); |
58 | if (key_scancode == SCAN_CODE_ESC) ExitProcess(); |
58 | if (key_scancode == SCAN_CODE_ESC) ExitProcess(); |
59 | if (key_scancode == SCAN_CODE_ENTER) { |
59 | if (key_scancode == SCAN_CODE_ENTER) { |
60 | if (install_complete) ExitProcess(); |
60 | if (install_complete) ExitProcess(); |
61 | else EventInstall(); |
61 | else EventInstall(); |
62 | } |
62 | } |
63 | break; |
63 | break; |
64 | 64 | ||
65 | case evReDraw: |
65 | case evReDraw: |
66 | draw_window(); |
66 | draw_window(); |
67 | break; |
67 | break; |
68 | 68 | ||
69 | default: |
69 | default: |
70 | DrawLogo(); |
70 | DrawLogo(); |
71 | DrawLogo(); |
71 | DrawLogo(); |
72 | } |
72 | } |
73 | } |
73 | } |
74 | 74 | ||
75 | #define WINW 400 |
75 | #define WINW 400 |
76 | #define WINH 300 |
76 | #define WINH 300 |
77 | void draw_window() |
77 | void draw_window() |
78 | { |
78 | { |
79 | sc.get(); |
79 | sc.get(); |
80 | DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2, |
80 | DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2, |
81 | WINW+9,WINH+skin_height,0x34,sc.work,"KolibriN10",0); |
81 | WINW+9,WINH+skin_height,0x34,sc.work,"KolibriN10",0); |
82 | DrawLogo(); |
82 | DrawLogo(); |
83 | if (install_complete) DrawInstallComplete(); else DrawIntro(); |
83 | if (install_complete) DrawInstallComplete(); else DrawIntro(); |
84 | } |
84 | } |
85 | 85 | ||
86 | void DrawIntro() |
86 | void DrawIntro() |
87 | { |
87 | { |
88 | DrawTextViewArea(30, 140, WINW-60, WINH-80, |
88 | DrawTextViewArea(30, 140, WINW-60, WINH-80, |
89 | T_INTRO, -1, sc.work_text); |
89 | T_INTRO, -1, sc.work_text); |
90 | DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL, |
90 | DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL, |
91 | 0x0092D8, 0xFFFfff, T_INSTALL); |
91 | 0x0092D8, 0xFFFfff, T_INSTALL); |
92 | } |
92 | } |
93 | 93 | ||
94 | void DrawInstallComplete() |
94 | void DrawInstallComplete() |
95 | { |
95 | { |
96 | DrawIcon32(WINW-32/2, 140, sc.work, 49); |
96 | DrawIcon32(WINW-32/2, 140, sc.work, 49); |
97 | WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE); |
97 | WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE); |
98 | DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_EXIT, |
98 | DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_EXIT, |
99 | 0x0092D8, 0xFFFfff, T_EXIT); |
99 | 0x0092D8, 0xFFFfff, T_EXIT); |
100 | } |
100 | } |
101 | 101 | ||
102 | void DrawLogo() |
102 | void DrawLogo() |
103 | { |
103 | { |
104 | #define LX -46*6+WINW/2 |
104 | #define LX -46*6+WINW/2 |
105 | #define LY 25 |
105 | #define LY 25 |
106 | WriteTextLines(LX-2, LY, 0x80, 0xF497C0, #logo, 9); |
106 | WriteTextLines(LX-2, LY, 0x80, 0xF497C0, #logo, 9); |
107 | WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9); |
107 | WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9); |
108 | 108 | ||
109 | pause(1); |
109 | pause(1); |
110 | 110 | ||
111 | WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9); |
111 | WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9); |
112 | WriteTextLines(LX, LY, 0x80, 0xEC008C, #logo, 9); |
112 | WriteTextLines(LX, LY, 0x80, 0xEC008C, #logo, 9); |
113 | } |
113 | } |
114 | 114 | ||
115 | void EventInstall() |
115 | void EventInstall() |
116 | { |
116 | { |
117 | //#include "..\lib\added_sysdir.c"; |
- | |
118 | //SetAdditionalSystemDirectory("kolibrios", abspath("install/kolibrios")+1); |
- | |
119 | ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0); |
117 | ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0); |
120 | copyf("/kolibrios/KolibriNext/settings", "/sys/settings"); |
118 | copyf("/kolibrios/KolibriNext/settings", "/sys/settings"); |
121 | 119 | ||
122 | RestartProcessByName("/sys/@icon", MULTIPLE); |
120 | RestartProcessByName("/sys/@icon", MULTIPLE); |
123 | RestartProcessByName("/sys/@taskbar", SINGLE); |
121 | RestartProcessByName("/sys/@taskbar", SINGLE); |
124 | RestartProcessByName("/sys/@docky", SINGLE); |
122 | RestartProcessByName("/sys/@docky", SINGLE); |
125 | 123 | ||
126 | RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg"); |
124 | RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg"); |
127 | 125 | ||
128 | install_complete = true; |
126 | install_complete = true; |
129 | draw_window(); |
127 | draw_window(); |
130 | } |
128 | } |
131 | 129 | ||
132 | void Operation_Draw_Progress(dword filename) { } |
130 | void Operation_Draw_Progress(dword filename) { } |