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