Subversion Repositories Kolibri OS

Rev

Rev 9459 | Rev 9536 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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