Subversion Repositories Kolibri OS

Rev

Rev 8013 | 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/libio.h"
9
#include "../lib/obj/libimg.h"
10
 
7660 leency 11
#include "../lib/patterns/restart_process.h"
7654 leency 12
 
7661 leency 13
#ifndef AUTOBUILD
14
#include "lang.h--"
15
#endif
16
 
7660 leency 17
char logo[] = "
18
лллл   лллл лллллллллл лллл   лллл ллллллллллл
19
 лллл   лл   ллл         ллл ллл   лл  ллл  лл
20
 ллллл  лл   ллл          ллллл    лл  ллл  лл
21
 лл ллл лл   ллллллл       ллл         ллл
22
 лл  ллллл   ллл          ллллл        ллл
23
 лл   лллл   ллл         ллл ллл       ллл
24
лллл   ллл  лллллллллл лллл   лллл    ллллл
25
";
5548 leency 26
 
7661 leency 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"
37
#endif
7660 leency 38
 
39
#define B_INSTALL 10
8278 leency 40
#define B_EXIT 11
7660 leency 41
 
7661 leency 42
bool install_complete = false;
43
 
4113 leency 44
void main()
45
{
7660 leency 46
	word btn;
47
	load_dll(libini, #lib_init,1);
7661 leency 48
	load_dll(libio, #libio_init,1);
49
	load_dll(libimg, #libimg_init,1);
7660 leency 50
	loop() switch(WaitEventTimeout(300) & 0xFF)
51
	{
52
		case evButton:
53
			btn = GetButtonID();
8278 leency 54
			if (btn == 1) || (B_EXIT == btn) ExitProcess();
55
			if (B_INSTALL == btn) EventInstall();
7660 leency 56
			break;
57
 
58
		case evKey:
59
			GetKeys();
60
			if (key_scancode == SCAN_CODE_ESC) ExitProcess();
7661 leency 61
			if (key_scancode == SCAN_CODE_ENTER) {
62
				if (install_complete) ExitProcess();
63
				else EventInstall();
64
			}
7660 leency 65
			break;
66
 
67
		case evReDraw:
68
			draw_window();
69
			break;
70
 
71
		default:
72
			DrawLogo();
73
			DrawLogo();
74
	}
75
}
76
 
77
#define WINW 400
78
#define WINH 300
79
void draw_window()
80
{
7806 leency 81
	sc.get();
7660 leency 82
	DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
7806 leency 83
		WINW+9,WINH+skin_height,0x34,sc.work,"KolibriN10",0);
7660 leency 84
	DrawLogo();
7661 leency 85
	if (install_complete) DrawInstallComplete(); else DrawIntro();
86
}
7660 leency 87
 
7661 leency 88
void DrawIntro()
89
{
7660 leency 90
	DrawTextViewArea(30, 140, WINW-60, WINH-80,
7806 leency 91
		T_INTRO, -1, sc.work_text);
7660 leency 92
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL,
7661 leency 93
		0x0092D8, 0xFFFfff, T_INSTALL);
7660 leency 94
}
95
 
7661 leency 96
void DrawInstallComplete()
97
{
7806 leency 98
	DrawIcon32(WINW-32/2, 140, sc.work, 49);
99
	WriteTextCenter(0,185, WINW, sc.work_text, T_COMPLETE);
8278 leency 100
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_EXIT,
7661 leency 101
		0x0092D8, 0xFFFfff, T_EXIT);
102
}
103
 
7660 leency 104
void DrawLogo()
105
{
106
	#define LX -46*6+WINW/2
107
	#define LY 25
7661 leency 108
	WriteTextLines(LX-2, LY, 0x80, 0xF497C0, #logo, 9);
7660 leency 109
	WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9);
110
 
111
	pause(1);
112
 
113
	WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9);
114
	WriteTextLines(LX,   LY, 0x80, 0xEC008C, #logo, 9);
115
}
116
 
117
void EventInstall()
118
{
7654 leency 119
	//#include "..\lib\added_sysdir.c";
7422 leency 120
	//SetAdditionalSystemDirectory("kolibrios", abspath("install/kolibrios")+1);
7654 leency 121
	ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0);
7660 leency 122
	copyf("/kolibrios/KolibriNext/settings", "/sys/settings");
5651 pavelyakov 123
 
7654 leency 124
	RestartProcessByName("/sys/@icon", MULTIPLE);
125
	RestartProcessByName("/sys/@taskbar", SINGLE);
126
	RestartProcessByName("/sys/@docky", SINGLE);
7422 leency 127
 
7654 leency 128
	RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg");
7661 leency 129
 
130
	install_complete = true;
131
	draw_window();
4113 leency 132
}
133
 
8013 leency 134
void Operation_Draw_Progress(dword filename) { }