Subversion Repositories Kolibri OS

Rev

Rev 9453 | Rev 9505 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7660 leency 1
#define MEMSIZE 1024*160
4113 leency 2
 
7660 leency 3
#include "../lib/gui.h"
4
#include "../lib/copyf.h"
7661 leency 5
 
7660 leency 6
#include "../lib/obj/libini.h"
7661 leency 7
 
7660 leency 8
#include "../lib/patterns/restart_process.h"
7654 leency 9
 
7660 leency 10
char logo[] = "
11
лллл   лллл лллллллллл лллл   лллл ллллллллллл
12
 лллл   лл   ллл         ллл ллл   лл  ллл  лл
13
 ллллл  лл   ллл          ллллл    лл  ллл  лл
14
 лл ллл лл   ллллллл       ллл         ллл
15
 лл  ллллл   ллл          ллллл        ллл
16
 лл   лллл   ллл         ллл ллл       ллл
17
лллл   ллл  лллллллллл лллл   лллл    ллллл
18
";
5548 leency 19
 
7661 leency 20
#ifdef LANG_RUS
21
#define T_INTRO "ЎЏрЎЁуЉтЅ ­ЎЂЎЅ ЂЈЇу Ћь­ЎЅ ЎфЎрЌЋЅ­ЈЅ ŠЎЋЈЁрЈ, ЊЎтЎрЎЅ р ­ьшЅ ЁыЋЎ ЄЎстуЏ­Ў тЎЋьЊЎ Ђ KolibriNext.";
22
#define T_INSTALL "“ст ­ЎЂЈть"
23
#define T_COMPLETE "“ст ­ЎЂЊ  Ї ЂЅршЅ­ "
24
#define T_EXIT "‚ыхЎЄ"
25
#else
26
#define T_INTRO "Try a new visual design of KolibriOS, which previously was available only in KolibriNext.";
27
#define T_INSTALL "Install"
28
#define T_COMPLETE "Install complete"
29
#define T_EXIT "Exit"
30
#endif
7660 leency 31
 
32
#define B_INSTALL 10
8278 leency 33
#define B_EXIT 11
7660 leency 34
 
7661 leency 35
bool install_complete = false;
36
 
4113 leency 37
void main()
38
{
7660 leency 39
	word btn;
40
	load_dll(libini, #lib_init,1);
9439 leency 41
	loop() switch(@WaitEventTimeout(300))
7660 leency 42
	{
43
		case evButton:
44
			btn = GetButtonID();
8278 leency 45
			if (btn == 1) || (B_EXIT == btn) ExitProcess();
46
			if (B_INSTALL == btn) EventInstall();
7660 leency 47
			break;
48
 
49
		case evKey:
50
			GetKeys();
51
			if (key_scancode == SCAN_CODE_ESC) ExitProcess();
7661 leency 52
			if (key_scancode == SCAN_CODE_ENTER) {
53
				if (install_complete) ExitProcess();
54
				else EventInstall();
55
			}
7660 leency 56
			break;
57
 
58
		case evReDraw:
59
			draw_window();
60
			break;
61
 
62
		default:
63
			DrawLogo();
64
			DrawLogo();
65
	}
66
}
67
 
68
#define WINW 400
69
#define WINH 300
70
void draw_window()
71
{
7806 leency 72
	sc.get();
7660 leency 73
	DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
7806 leency 74
		WINW+9,WINH+skin_height,0x34,sc.work,"KolibriN10",0);
7660 leency 75
	DrawLogo();
7661 leency 76
	if (install_complete) DrawInstallComplete(); else DrawIntro();
77
}
7660 leency 78
 
7661 leency 79
void DrawIntro()
80
{
7660 leency 81
	DrawTextViewArea(30, 140, WINW-60, WINH-80,
7806 leency 82
		T_INTRO, -1, sc.work_text);
7660 leency 83
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL,
7661 leency 84
		0x0092D8, 0xFFFfff, T_INSTALL);
7660 leency 85
}
86
 
7661 leency 87
void DrawInstallComplete()
88
{
9439 leency 89
	draw_icon_32(WINW-32/2, 140, sc.work, 49);
7806 leency 90
	WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE);
8278 leency 91
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_EXIT,
7661 leency 92
		0x0092D8, 0xFFFfff, T_EXIT);
93
}
94
 
7660 leency 95
void DrawLogo()
96
{
97
	#define LX -46*6+WINW/2
98
	#define LY 25
7661 leency 99
	WriteTextLines(LX-2, LY, 0x80, 0xF497C0, #logo, 9);
7660 leency 100
	WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9);
101
 
102
	pause(1);
103
 
104
	WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9);
105
	WriteTextLines(LX,   LY, 0x80, 0xEC008C, #logo, 9);
106
}
107
 
108
void EventInstall()
109
{
7654 leency 110
	ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0);
7660 leency 111
	copyf("/kolibrios/KolibriNext/settings", "/sys/settings");
8823 leency 112
	copyf("/kolibrios/KolibriNext", "/sys");
5651 pavelyakov 113
 
7654 leency 114
	RestartProcessByName("/sys/@icon", MULTIPLE);
115
	RestartProcessByName("/sys/@taskbar", SINGLE);
116
	RestartProcessByName("/sys/@docky", SINGLE);
7422 leency 117
 
7654 leency 118
	RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg");
7661 leency 119
 
120
	install_complete = true;
9341 leency 121
 
122
	pause(150);
123
	ActivateWindow_Self();
4113 leency 124
}
125
 
8013 leency 126
void Operation_Draw_Progress(dword filename) { }