Rev 7746 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7592 | leency | 1 | |
2 | |||
3 | |||
4 | #include "..\lib\gui.h" |
||
5 | #include "..\lib\draw_buf.h" |
||
6 | #include "..\lib\list_box.h" |
||
7 | #include "..\lib\cursor.h" |
||
8 | #include "..\lib\collection.h" |
||
9 | #include "..\lib\random.h" |
||
10 | #include "..\lib\clipboard.h" |
||
11 | |||
12 | |||
13 | #include "..\lib\obj\box_lib.h" |
||
14 | #include "..\lib\obj\libio.h" |
||
15 | #include "..\lib\obj\libimg.h" |
||
16 | #include "..\lib\obj\http.h" |
||
17 | #include "..\lib\obj\iconv.h" |
||
18 | |||
19 | |||
20 | #include "..\lib\patterns\http_downloader.h" |
||
21 | |||
22 | |||
23 | |||
24 | |||
25 | char page_not_found[] = FROM "html\\page_not_found_en.htm""\0"; |
||
26 | |||
27 | |||
28 | char accept_language[]= "Accept-Language: en\n"; |
||
29 | |||
30 | |||
31 | |||
32 | |||
33 | |||
34 | |||
35 | |||
36 | dword STATUSBAR_H = 0; |
||
37 | |||
38 | |||
39 | dword panel_color = 0xE3E2E2; |
||
40 | dword border_color = 0x8C8C8C; |
||
41 | |||
42 | |||
43 | |||
44 | |||
45 | |||
46 | |||
47 | REFRESH_BUTTON, |
||
48 | EDIT_SOURCE, |
||
49 | }; |
||
50 | |||
51 | |||
52 | #include "show_src.h" |
||
53 | |||
54 | |||
55 | int mouse_twb; |
||
56 | edit_box address_box = {250,60,30,0xffffff,0x94AECE,0xffffff,0xffffff,0x10000000,sizeof(URL),#editURL,#mouse_twb,2,19,19}; |
||
57 | |||
58 | |||
59 | |||
60 | |||
61 | { |
||
62 | int i; |
||
63 | int id; |
||
64 | load_dll(boxlib, #box_lib_init,0); |
||
65 | load_dll(libio, #libio_init,1); |
||
66 | load_dll(libimg, #libimg_init,1); |
||
67 | load_dll(iconv_lib, #iconv_open,0); |
||
68 | if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME); |
||
69 | WB1.list.SetFont(8, 14, 10011000b); |
||
70 | WB1.list.no_selection = true; |
||
71 | SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER); |
||
72 | loop() switch(WaitEvent()) |
||
73 | { |
||
74 | case evMouse: |
||
75 | edit_box_mouse stdcall (#address_box); |
||
76 | mouse.get(); |
||
77 | if (WB1.list.MouseScroll(mouse.vert)) WB1.DrawPage(); |
||
78 | scrollbar_v_mouse (#scroll_wv); |
||
79 | if (WB1.list.first != scroll_wv.position) |
||
80 | { |
||
81 | WB1.list.first = scroll_wv.position; |
||
82 | WB1.DrawPage(); |
||
83 | break; |
||
84 | } |
||
85 | break; |
||
86 | |||
87 | |||
88 | id=GetButtonID(); |
||
89 | if (1==id) ExitProcess(); |
||
90 | break; |
||
91 | |||
92 | |||
93 | GetKeys(); |
||
94 | |||
95 | |||
96 | OpenPage(); |
||
97 | } |
||
98 | if (SCAN_CODE_F3 == key_scancode) { |
||
99 | RunProgram("/rd/1/tinypad", #URL); |
||
100 | } |
||
101 | |||
102 | |||
103 | { |
||
104 | if (key_ascii == ASCII_KEY_ENTER) EventGoToPage(); |
||
105 | else { |
||
106 | EAX = key_editbox; |
||
107 | edit_box_key stdcall(#address_box); |
||
108 | } |
||
109 | } |
||
110 | else |
||
111 | { |
||
112 | #define KEY_SCROLL_N 11 |
||
113 | if (SCAN_CODE_UP == key_scancode) for (i=0;i |
||
114 | if (SCAN_CODE_DOWN == key_scancode) for (i=0;i |
||
115 | if (WB1.list.ProcessKey(key_scancode)) WB1.DrawPage(); |
||
116 | } |
||
117 | break; |
||
118 | |||
119 | |||
120 | DefineAndDrawWindow(GetScreenWidth()-800/2-random(80),GetScreenHeight()-600/2-random(80),800,600,0x73,col_bg,0,0); |
||
121 | GetProcessInfo(#Form, SelfInfo); |
||
122 | if (Form.status_window>2) { DrawTitle(#header); break; } |
||
123 | if (Form.height<120) { MoveSize(OLD,OLD,OLD,120); break; } |
||
124 | if (Form.width<280) { MoveSize(OLD,OLD,280,OLD); break; } |
||
125 | Draw_Window(); |
||
126 | break; |
||
127 | } |
||
128 | } |
||
129 | |||
130 | |||
131 | { |
||
132 | address_box.top = TOOLBAR_H/2-10; |
||
133 | basic_line_h = calc(WB1.list.font_h * 130) / 100; |
||
134 | address_box.left = address_box.top; |
||
135 | address_box.width = Form.cwidth - address_box.left - address_box.left -14; |
||
136 | WB1.list.SetSizes(0, TOOLBAR_H, Form.width - 10 - scroll_wv.size_x, |
||
137 | Form.cheight - TOOLBAR_H - STATUSBAR_H, basic_line_h); |
||
138 | WB1.list.wheel_size = 7 * basic_line_h; |
||
139 | WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w; |
||
140 | WB1.list.visible = WB1.list.h; |
||
141 | if (WB1.list.w!=WB1.DrawBuf.bufw) { |
||
142 | WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, 32700); |
||
143 | OpenPage(); |
||
144 | } |
||
145 | } |
||
146 | |||
147 | |||
148 | { |
||
149 | DrawBar(0,0, Form.cwidth,TOOLBAR_H-2, panel_color); |
||
150 | DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3); |
||
151 | DrawBar(0,TOOLBAR_H-1, Form.cwidth,1, border_color); |
||
152 | SetElementSizes(); |
||
153 | DrawRectangle(address_box.left-3, address_box.top-3, address_box.width+4, 25,border_color); |
||
154 | DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, col_bg); |
||
155 | DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, border_color); |
||
156 | DrawEditBoxWebView(); |
||
157 | if (!header) |
||
158 | OpenPage(); |
||
159 | else { |
||
160 | WB1.DrawPage(); |
||
161 | DrawEditBoxWebView(); |
||
162 | } |
||
163 | DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col); |
||
164 | } |
||
165 | |||
166 | |||
167 | { |
||
168 | if (!editURL[0]) { |
||
169 | strcpy(#URL, URL_SERVICE_HOME); |
||
170 | } |
||
171 | else |
||
172 | { |
||
173 | strcpy(#URL, #editURL); |
||
174 | } |
||
175 | OpenPage(); |
||
176 | } |
||
177 | |||
178 | |||
179 | |||
180 | { |
||
181 | strcpy(#header, #version); |
||
182 | WB1.list.count = WB1.list.first = 0; |
||
183 | cur_encoding = CH_NULL; |
||
184 | if (o_bufpointer) o_bufpointer = free(o_bufpointer); |
||
185 | } |
||
186 | |||
187 | |||
188 | { |
||
189 | char getUrl[sizeof(URL)]; |
||
190 | strcpy(#editURL, #URL); |
||
191 | history.add(#URL); |
||
192 | if (!strncmp(#URL,"CodeView:",8)) |
||
193 | { |
||
194 | SetPageDefaults(); |
||
195 | if (!strcmp(#URL, URL_SERVICE_HOME)) LoadInternalPage(#homepage, sizeof(homepage)); |
||
7750 | leency | 196 | DrawEditBoxWebView(); |
7592 | leency | 197 | return; |
198 | } |
||
199 | else |
||
200 | { |
||
201 | file_size stdcall (#URL); |
||
202 | bufsize = EBX; |
||
203 | if (bufsize) |
||
204 | { |
||
205 | free(bufpointer); |
||
206 | bufpointer = malloc(bufsize); |
||
207 | SetPageDefaults(); |
||
208 | ReadFile(0, bufsize, bufpointer, #URL); |
||
209 | ShowCodeSource(); |
||
210 | LoadInternalPage(bufpointer, bufsize); |
||
7750 | leency | 211 | } |
7592 | leency | 212 | ShowPage(); |
213 | } |
||
214 | } |
||
215 | |||
216 | |||
217 | { |
||
218 | int skin_x_offset; |
||
219 | DrawBar(address_box.left-2, address_box.top-2, address_box.width+3, 2, address_box.color); |
||
220 | DrawBar(address_box.left-2, address_box.top, 2, 22, address_box.color); |
||
221 | address_box.size = address_box.pos = address_box.shift = address_box.shift_old = strlen(#editURL); |
||
222 | address_box.offset = 0; |
||
223 | edit_box_draw stdcall(#address_box); |
||
224 | skin_x_offset = 51; |
||
225 | img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-3, 17, skin.h, skin_x_offset, SKIN_Y); |
||
226 | } |
||
227 | |||
228 | |||
7750 | leency | 229 | bufsize = in_filesize; |
230 | bufpointer = bufpos; |
||
231 | ShowPage(); |
||
232 | } |
||
233 | |||
7592 | leency | 234 | |
235 | { |
||
236 | DrawEditBoxWebView(); |
||
237 | if (!bufsize) LoadInternalPage(#page_not_found, sizeof(page_not_found)); |
||
7750 | leency | 238 | WB1.Prepare(); |
239 | } |
||
7592 | leency | 240 | |
241 | |||
242 | void EventClickLink() {return;}; |
||
7742 | leency | 243 | void EventShowLinkMenu() {return;}; |
7592 | leency | 244 | |
245 | |||
246 | |||
247 | |||
248 |