Subversion Repositories Kolibri OS

Rev

Rev 6686 | Rev 6724 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6686 Rev 6698
Line 6... Line 6...
6
#ifndef AUTOBUILD
6
#ifndef AUTOBUILD
7
	#include "lang.h--"
7
	#include "lang.h--"
8
#endif
8
#endif
Line 9... Line 9...
9
 
9
 
10
//libraries
10
//libraries
11
#define MEMSIZE 1060000
11
#define MEMSIZE 4096 * 256
12
#include "..\lib\gui.h"
12
#include "..\lib\gui.h"
13
#include "..\lib\draw_buf.h"
13
#include "..\lib\draw_buf.h"
14
#include "..\lib\list_box.h"
14
#include "..\lib\list_box.h"
15
#include "..\lib\cursor.h"
15
#include "..\lib\cursor.h"
16
#include "..\lib\collection.h"
-
 
17
#include "..\lib\font.h"
16
#include "..\lib\collection.h"
Line 18... Line 17...
18
#include "..\lib\menu.h"
17
#include "..\lib\menu.h"
19
 
18
 
20
//*.obj libraries
19
//*.obj libraries
Line 26... Line 25...
26
//useful patterns
25
//useful patterns
27
#include "..\lib\patterns\libimg_load_skin.h"
26
#include "..\lib\patterns\libimg_load_skin.h"
28
#include "..\lib\patterns\history.h"
27
#include "..\lib\patterns\history.h"
29
#include "..\lib\patterns\http_downloader.h"
28
#include "..\lib\patterns\http_downloader.h"
Line 30... Line 29...
30
 
29
 
Line 31... Line 30...
31
char homepage[] = FROM "html\\homepage.htm";
30
char homepage[] = FROM "html\\homepage.htm""\0";
32
 
31
 
33
#ifdef LANG_RUS
32
#ifdef LANG_RUS
34
char version[]=" ’¥ªáâ®¢ë© ¡à ã§¥à 1.49";
33
char version[]="’¥ªáâ®¢ë© ¡à ã§¥à 1.5";
35
?define IMAGES_CACHE_CLEARED "Šíè ª à⨭®ª ®ç¨é¥­"
34
?define IMAGES_CACHE_CLEARED "Šíè ª à⨭®ª ®ç¨é¥­"
36
?define T_LAST_SLIDE "â® ¯®á«¥¤­¨© á« ©¤"
35
?define T_LAST_SLIDE "â® ¯®á«¥¤­¨© á« ©¤"
37
char loading[] = "‡ £à㧪  áâà ­¨æë...
";
36
char loading[] = "‡ £à㧪  áâà ­¨æë...
";
38
char page_not_found[] = FROM "html\page_not_found_ru.htm";
37
char page_not_found[] = FROM "html\\page_not_found_ru.htm""\0";
39
char accept_language[]= "Accept-Language: ru\n";
38
char accept_language[]= "Accept-Language: ru\n";
40
char rmb_menu[] = 
39
char rmb_menu[] = 
41
"®á¬®âà¥âì ¨á室­¨ª
40
"®á¬®âà¥âì ¨á室­¨ª
42
¥¤ ªâ¨à®¢ âì ¨á室­¨ª
41
¥¤ ªâ¨à®¢ âì ¨á室­¨ª
43
ˆáâ®à¨ï
42
ˆáâ®à¨ï
44
Žç¨áâ¨âì ªíè ª à⨭®ª
43
Žç¨áâ¨âì ªíè ª à⨭®ª
45
Œ¥­¥¤¦¥à § £à㧮ª";
44
Œ¥­¥¤¦¥à § £à㧮ª";
46
#else
45
#else
47
char version[]=" Text-based Browser 1.49";
46
char version[]="Text-based Browser 1.5";
48
?define IMAGES_CACHE_CLEARED "Images cache cleared"
47
?define IMAGES_CACHE_CLEARED "Images cache cleared"
49
?define T_LAST_SLIDE "This slide is the last"
48
?define T_LAST_SLIDE "This slide is the last"
50
char loading[] = "Loading...
";
49
char loading[] = "Loading...
";
51
char page_not_found[] = FROM "html\page_not_found_en.htm";
50
char page_not_found[] = FROM "html\\page_not_found_en.htm""\0";
52
char accept_language[]= "Accept-Language: en\n";
51
char accept_language[]= "Accept-Language: en\n";
53
char rmb_menu[] =
52
char rmb_menu[] =
54
"View source
53
"View source
Line 109... Line 108...
109
edit_box address_box = {250,56,34,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(URL),#editURL,#mouse_twb,2,19,19};
108
edit_box address_box = {250,56,34,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(URL),#editURL,#mouse_twb,2,19,19};
Line 110... Line 109...
110
 
109
 
111
 
110
 
112
void main()
-
 
113
{
-
 
114
	dword btn;
-
 
115
	int half_scroll_size;
111
void main()
116
	int scroll_used=0, show_menu;
112
{
117
	CursorPointer.Load(#CursorFile);
113
	CursorPointer.Load(#CursorFile);
118
	load_dll(boxlib, #box_lib_init,0);
114
	load_dll(boxlib, #box_lib_init,0);
119
	load_dll(libio, #libio_init,1);
115
	load_dll(libio, #libio_init,1);
Line 125... Line 121...
125
	CreateDir("/tmp0/1/downloads");
121
	CreateDir("/tmp0/1/downloads");
126
	if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME);
122
	if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME);
127
	WB1.DrawBuf.zoom = 1;
123
	WB1.DrawBuf.zoom = 1;
128
	WB1.list.SetFont(8, 14, 10011000b);
124
	WB1.list.SetFont(8, 14, 10011000b);
129
	WB1.list.no_selection = true;
125
	WB1.list.no_selection = true;
130
	label.init(DEFAULT_FONT);
-
 
131
	SetEventMask(0xa7);
126
	SetEventMask(0xa7);
132
	BEGIN_LOOP_APPLICATION:
127
	BEGIN_LOOP_APPLICATION:
133
		WaitEventTimeout(2);
128
		WaitEventTimeout(2);
134
		switch(EAX & 0xFF)
129
		switch(EAX & 0xFF)
135
		{
130
		{
Line 154... Line 149...
154
					break;
149
					break;
155
				}
150
				}
156
				break;
151
				break;
Line 157... Line 152...
157
 
152
 
158
			case evButton:
153
			case evButton:
159
				btn=GetButtonID();
-
 
160
				if (btn==1)	ExitProcess();
-
 
161
				Scan(btn);
154
				ProcessEvent(GetButtonID());
Line 162... Line 155...
162
				break;
155
				break;
163
 
156
 
164
			case evKey:
157
			case evKey:
165
				GetKeys();
158
				GetKeys();
166
				if (address_box.flags & 0b10)  
159
				if (address_box.flags & 0b10)  
167
				{
160
				{
168
					if (key_ascii == ASCII_KEY_ENTER) Scan(key_scancode); else {
161
					if (key_ascii == ASCII_KEY_ENTER) ProcessEvent(key_scancode); else {
169
						EAX = key_editbox; 
162
						EAX = key_editbox; 
170
						edit_box_key stdcall(#address_box);
163
						edit_box_key stdcall(#address_box);
171
					}
164
					}
172
				}
165
				}
-
 
166
				else 
173
				else 
167
				{
174
				{
168
					if (WB1.list.ProcessKey(key_scancode)) WB1.DrawPage();
175
					Scan(key_scancode);
169
					else ProcessEvent(key_scancode);
Line 176... Line 170...
176
				}
170
				}
177
				break;
171
				break;
178
 
172
 
179
			case evReDraw:
173
			case evReDraw:
180
				if (menu.list.cur_y) {
174
				if (menu.list.cur_y) {
181
					Scan(menu.list.cur_y);
175
					ProcessEvent(menu.list.cur_y);
182
					menu.list.cur_y = 0;
176
					menu.list.cur_y = 0;
183
				}
177
				}
Line 214... Line 208...
214
									ESI = EAX;
208
									ESI = EAX;
215
									EDI = #URL;
209
									EDI = #URL;
216
									do {
210
									do {
217
										$lodsb;
211
										$lodsb;
218
										$stosb;
212
										$stosb;
219
									} while (AL != 0) && (AL != 13) && (AL != 10));
213
									} while (AL != 0) && (AL != 13) && (AL != 10);
220
									DSBYTE[EDI-1]='\0';
214
									DSBYTE[EDI-1]='\0';
221
								}
215
								}
222
							}
216
							}
223
							else
217
							else
224
							{
218
							{
Line 267... Line 261...
267
		Form.cheight - TOOLBAR_H - STATUSBAR_H, WB1.list.font_h + WB1.DrawBuf.zoom + WB1.DrawBuf.zoom * WB1.DrawBuf.zoom);
261
		Form.cheight - TOOLBAR_H - STATUSBAR_H, WB1.list.font_h + WB1.DrawBuf.zoom + WB1.DrawBuf.zoom * WB1.DrawBuf.zoom);
268
	WB1.list.wheel_size = 7;
262
	WB1.list.wheel_size = 7;
269
	WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w;
263
	WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w;
270
	WB1.list.visible = WB1.list.h - 5 / WB1.list.item_h;
264
	WB1.list.visible = WB1.list.h - 5 / WB1.list.item_h;
271
	if (WB1.list.w!=WB1.DrawBuf.bufw) {
265
	if (WB1.list.w!=WB1.DrawBuf.bufw) {
272
		WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, 4096 * 7400 / WB1.list.w);
266
		if (WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, 2048 * WB1.list.item_h) == false)
-
 
267
		die("Memory allocation error! Seems to be too little RAM.");
273
		Scan(REFRESH_BUTTON);
268
		ProcessEvent(REFRESH_BUTTON);
274
	}
269
	}
275
}
270
}
Line 276... Line 271...
276
 
271
 
277
 
272
 
278
 
-
 
279
void Draw_Window()
273
 
280
{
274
void Draw_Window()
281
	int list__w, list__h;
275
{
282
	DrawBar(0,0, Form.cwidth,TOOLBAR_H-2, panel_color);
276
	DrawBar(0,0, Form.cwidth,TOOLBAR_H-2, panel_color);
283
	DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3);
277
	DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3);
Line 293... Line 287...
293
	DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, col_bg);
287
	DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, col_bg);
294
	DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, border_color);
288
	DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, border_color);
295
	if (!header) OpenPage(); else { WB1.DrawPage(); DrawEditBoxWebView(); }
289
	if (!header) OpenPage(); else { WB1.DrawPage(); DrawEditBoxWebView(); }
296
	DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col);
290
	DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col);
297
	DrawProgress();
291
	DrawProgress();
298
 
-
 
299
	/*
-
 
300
	list__w = 200;
-
 
301
	list__h = 200;
-
 
302
	label.raw_size = 0;
-
 
303
	label.write_buf(10,10, list__w, list__h, 0xFFFFFF, 0, 11, "Hello World!");
-
 
304
	label.write_buf(10,23, list__w, list__h, 0xFFFFFF, 0xFF00FF, 12, "How are you?");
-
 
305
	label.write_buf(11,40, list__w, list__h, 0xFFFFFF, 0x2E74BB, 15, "Fine");
-
 
306
	label.apply_smooth();
-
 
307
	label.show_buf(0,0);
-
 
308
	*/
-
 
309
}
292
}
Line 310... Line 293...
310
 
293
 
311
 
294
 
312
void Scan(dword id__)
-
 
313
{
-
 
314
	action_buf=0;
295
void ProcessEvent(dword id__)
315
	if (WB1.list.ProcessKey(id__)) WB1.DrawPage();
296
{
-
 
297
	switch (id__)
-
 
298
	{
-
 
299
		case 1:
316
	else switch (id__)
300
			ExitProcess();
317
	{
301
			return;
318
		case SCAN_CODE_BS:
302
		case SCAN_CODE_BS:
319
		case BACK_BUTTON:
303
		case BACK_BUTTON:
320
			if (history.back()) {
304
			if (history.back()) {