Subversion Repositories Kolibri OS

Rev

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