forked from KolibriOS/kolibrios
HTML: trying to divide network code form GUI and various fixes
git-svn-id: svn://kolibrios.org@5685 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
88b64ba405
commit
507d835895
@ -30,14 +30,14 @@
|
|||||||
char homepage[] = FROM "html\\homepage.htm";
|
char homepage[] = FROM "html\\homepage.htm";
|
||||||
|
|
||||||
#ifdef LANG_RUS
|
#ifdef LANG_RUS
|
||||||
char version[]=" ’¥ªáâ®¢ë© ¡à 㧥à 1.14";
|
char version[]=" ’¥ªáâ®¢ë© ¡à 㧥à 1.15";
|
||||||
?define IMAGES_CACHE_CLEARED "Šíè ª à⨮ª ®ç¨é¥"
|
?define IMAGES_CACHE_CLEARED "Šíè ª à⨮ª ®ç¨é¥"
|
||||||
?define T_LAST_SLIDE "<EFBFBD>â® ¯®á«¥¤¨© á« ©¤"
|
?define T_LAST_SLIDE "<EFBFBD>â® ¯®á«¥¤¨© á« ©¤"
|
||||||
char loading[] = "‡ £à㧪 áâà ¨æë...<br>";
|
char loading[] = "‡ £à㧪 áâà ¨æë...<br>";
|
||||||
char page_not_found[] = FROM "html\page_not_found_ru.htm";
|
char page_not_found[] = FROM "html\page_not_found_ru.htm";
|
||||||
char accept_language[]= "Accept-Language: ru\n";
|
char accept_language[]= "Accept-Language: ru\n";
|
||||||
#else
|
#else
|
||||||
char version[]=" Text-based Browser 1.12";
|
char version[]=" Text-based Browser 1.15";
|
||||||
?define IMAGES_CACHE_CLEARED "Images cache cleared"
|
?define IMAGES_CACHE_CLEARED "Images cache cleared"
|
||||||
?define T_LAST_SLIDE "This slide is the last"
|
?define T_LAST_SLIDE "This slide is the last"
|
||||||
char loading[] = "Loading...<br>";
|
char loading[] = "Loading...<br>";
|
||||||
@ -77,6 +77,7 @@ byte souce_mode = false;
|
|||||||
#include "menu_rmb.h"
|
#include "menu_rmb.h"
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
#include "show_src.h"
|
#include "show_src.h"
|
||||||
|
#include "network_get.h"
|
||||||
#include "downloader.h"
|
#include "downloader.h"
|
||||||
|
|
||||||
char editURL[sizeof(URL)];
|
char editURL[sizeof(URL)];
|
||||||
|
@ -17,12 +17,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
proc_info DL_Form;
|
proc_info DL_Form;
|
||||||
char DL_URL[10000];
|
|
||||||
dword DL_bufpointer, DL_bufsize, DL_http_transfer, DL_http_buffer;
|
|
||||||
char filepath[4096];
|
char filepath[4096];
|
||||||
int downloaded_size, full_size;
|
|
||||||
int mouse_twbi;
|
int mouse_twbi;
|
||||||
edit_box DL_address_box = {250,20,20,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(DL_URL),#DL_URL,#mouse_twbi,2,19,19};
|
edit_box dl_edit = {250,20,20,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(DL_URL),#DL_URL,#mouse_twbi,2,19,19};
|
||||||
progress_bar DL_progress_bar = {0, 170, 51, 225, 12, 0, 0, 100, 0xFFFfff, 0x74DA00, 0x9F9F9F};
|
progress_bar DL_progress_bar = {0, 170, 51, 225, 12, 0, 0, 100, 0xFFFfff, 0x74DA00, 0x9F9F9F};
|
||||||
|
|
||||||
char save_to[4096] = "/tmp0/1/Downloads/";
|
char save_to[4096] = "/tmp0/1/Downloads/";
|
||||||
@ -30,26 +27,19 @@ byte cleft = 15;
|
|||||||
|
|
||||||
byte downloader_opened;
|
byte downloader_opened;
|
||||||
|
|
||||||
byte download_state;
|
|
||||||
enum { STATE_NOT_STARTED, STATE_IN_PROGRESS, STATE_COMPLETED };
|
|
||||||
|
|
||||||
|
|
||||||
void Downloader()
|
void Downloader()
|
||||||
{
|
{
|
||||||
int key, btn;
|
int key;
|
||||||
|
|
||||||
char notify_message[4296];
|
char notify_message[4296];
|
||||||
|
|
||||||
if (DL_URL[0]) {
|
|
||||||
StartDownloading();
|
|
||||||
}
|
|
||||||
else strcpy(#DL_URL, "http://");
|
|
||||||
DL_address_box.size = DL_address_box.pos = DL_address_box.shift = DL_address_box.shift_old = strlen(#DL_URL);
|
|
||||||
|
|
||||||
downloaded_size = full_size = 0;
|
|
||||||
downloader_opened = 1;
|
downloader_opened = 1;
|
||||||
|
|
||||||
SetEventMask(0x27);
|
SetEventMask(0x27);
|
||||||
|
|
||||||
|
if (DL_URL[0]) StartDownloading(); else strcpy(#DL_URL, "http://");
|
||||||
|
dl_edit.size = dl_edit.pos = dl_edit.shift = dl_edit.shift_old = strlen(#DL_URL);
|
||||||
|
|
||||||
|
Downloading_SetDefaults();
|
||||||
|
|
||||||
loop()
|
loop()
|
||||||
{
|
{
|
||||||
WaitEventTimeout(40);
|
WaitEventTimeout(40);
|
||||||
@ -57,18 +47,17 @@ void Downloader()
|
|||||||
{
|
{
|
||||||
CASE evMouse:
|
CASE evMouse:
|
||||||
if (!CheckActiveProcess(DL_Form.ID)) break;
|
if (!CheckActiveProcess(DL_Form.ID)) break;
|
||||||
if (DL_http_transfer <= 0) edit_box_mouse stdcall (#DL_address_box);
|
edit_box_mouse stdcall (#dl_edit);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evButton:
|
case evButton:
|
||||||
btn=GetButtonID();
|
DL_Scan(GetButtonID());
|
||||||
DL_Scan(btn);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evKey:
|
case evKey:
|
||||||
key = GetKey();
|
key = GetKey();
|
||||||
EAX=key<<8;
|
EAX=key<<8;
|
||||||
edit_box_key stdcall(#DL_address_box);
|
edit_box_key stdcall(#dl_edit);
|
||||||
if (key==13) DL_Scan(301);
|
if (key==13) DL_Scan(301);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -95,28 +84,20 @@ void Downloader()
|
|||||||
}
|
}
|
||||||
$pop EAX
|
$pop EAX
|
||||||
if (EAX == 0) {
|
if (EAX == 0) {
|
||||||
ESI = DL_http_transfer;
|
Downloading_Completed();
|
||||||
DL_bufpointer = ESI.http_msg.content_ptr;
|
|
||||||
DL_bufsize = ESI.http_msg.content_received;
|
|
||||||
http_free stdcall (DL_http_transfer);
|
|
||||||
DL_http_transfer=0;
|
|
||||||
strcpy(#filepath, #save_to);
|
strcpy(#filepath, #save_to);
|
||||||
strcat(#filepath, #DL_URL+strrchr(#DL_URL, '/'));
|
strcat(#filepath, #DL_URL+strrchr(#DL_URL, '/'));
|
||||||
if (WriteFile(DL_bufsize, DL_bufpointer, #filepath)==0)
|
if (WriteFile(DL_bufsize, DL_bufpointer, #filepath)==0)
|
||||||
{
|
{
|
||||||
strcpy(#notify_message, FILE_SAVED_AS);
|
sprintf(#notify_message, "%s%s%s",FILE_SAVED_AS,#filepath,"' -Dt");
|
||||||
strcat(#notify_message, #filepath);
|
|
||||||
strcat(#notify_message, "' -Dt");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strcpy(#notify_message, "'Download manager\nError! Can\96t save file as ");
|
sprintf(#notify_message, "%s%s%s","'Download manager\nError! Can\96t save file as ",#filepath,"' -Et");
|
||||||
strcat(#notify_message, #filepath);
|
|
||||||
strcat(#notify_message, "' -Et");
|
|
||||||
}
|
}
|
||||||
notify(#notify_message);
|
notify(#notify_message);
|
||||||
DL_address_box.color = DL_address_box.blur_border_color = DL_address_box.focus_border_color = 0xFFFfff;
|
dl_edit.blur_border_color = 0xFFFfff;
|
||||||
download_state = STATE_COMPLETED;
|
dl_edit.flags = 10b;
|
||||||
DL_Draw_Window();
|
DL_Draw_Window();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -149,13 +130,13 @@ void DL_Draw_Window()
|
|||||||
DrawCaptButton(cleft+140, 50, 110, 27, 305, system.color.work_button, system.color.work_button_text, SHOW_IN_FOLDER);
|
DrawCaptButton(cleft+140, 50, 110, 27, 305, system.color.work_button, system.color.work_button_text, SHOW_IN_FOLDER);
|
||||||
DrawCaptButton(cleft+260, 50, 120, 27, 306, system.color.work_button, system.color.work_button_text, OPEN_FILE);
|
DrawCaptButton(cleft+260, 50, 120, 27, 306, system.color.work_button, system.color.work_button_text, OPEN_FILE);
|
||||||
}
|
}
|
||||||
WriteText(cleft, DL_address_box.top + 4, 0x80, system.color.work_text, "URL:");
|
WriteText(cleft, dl_edit.top + 4, 0x80, system.color.work_text, "URL:");
|
||||||
DL_address_box.left = strlen("URL:")*6 + 10 + cleft;
|
dl_edit.left = strlen("URL:")*6 + 10 + cleft;
|
||||||
DL_address_box.width = DL_Form.cwidth - DL_address_box.left - cleft - 3;
|
dl_edit.width = DL_Form.cwidth - dl_edit.left - cleft - 3;
|
||||||
DL_address_box.offset=0;
|
dl_edit.offset=0;
|
||||||
edit_box_draw stdcall(#DL_address_box);
|
edit_box_draw stdcall(#dl_edit);
|
||||||
DrawRectangle(DL_address_box.left-1, DL_address_box.top-1, DL_address_box.width+2, 16, DL_address_box.color);
|
DrawRectangle(dl_edit.left-1, dl_edit.top-1, dl_edit.width+2, 16, dl_edit.blur_border_color);
|
||||||
DrawRectangle(DL_address_box.left-2, DL_address_box.top-2, DL_address_box.width+4, 18, border_color);
|
DrawRectangle(dl_edit.left-2, dl_edit.top-2, dl_edit.width+4, 18, border_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -191,22 +172,9 @@ void DL_Scan(int id)
|
|||||||
|
|
||||||
void StopDownloading()
|
void StopDownloading()
|
||||||
{
|
{
|
||||||
download_state = STATE_NOT_STARTED;
|
Downloading_Stop();
|
||||||
if (DL_http_transfer<>0)
|
dl_edit.blur_border_color = 0xFFFfff;
|
||||||
{
|
dl_edit.flags = 10b;
|
||||||
EAX = DL_http_transfer;
|
|
||||||
EAX = EAX.http_msg.content_ptr; // get pointer to data
|
|
||||||
$push EAX // save it on the stack
|
|
||||||
http_free stdcall (DL_http_transfer); // abort connection
|
|
||||||
$pop EAX
|
|
||||||
mem_Free(EAX); // free data
|
|
||||||
DL_http_transfer=0;
|
|
||||||
DL_bufsize = 0;
|
|
||||||
DL_bufpointer = mem_Free(DL_bufpointer);
|
|
||||||
downloaded_size = full_size = 0;
|
|
||||||
}
|
|
||||||
DL_address_box.color = DL_address_box.blur_border_color = 0xFFFfff;
|
|
||||||
DL_address_box.flags = 10b;
|
|
||||||
DL_Draw_Window();
|
DL_Draw_Window();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,11 +183,9 @@ void StartDownloading()
|
|||||||
StopDownloading();
|
StopDownloading();
|
||||||
if (strncmp(#DL_URL,"http:",5)==0)
|
if (strncmp(#DL_URL,"http:",5)==0)
|
||||||
{
|
{
|
||||||
download_state = STATE_IN_PROGRESS;
|
Downloading_Start();
|
||||||
DL_address_box.color = DL_address_box.blur_border_color = 0xCACACA;
|
dl_edit.blur_border_color = 0xCACACA;
|
||||||
DL_address_box.flags = 100000000000b;
|
dl_edit.flags = 100000000000b;
|
||||||
http_get stdcall (#DL_URL, 0, 0, #accept_language);
|
|
||||||
DL_http_transfer = EAX;
|
|
||||||
DL_progress_bar.value = 0;
|
DL_progress_bar.value = 0;
|
||||||
DL_Draw_Window();
|
DL_Draw_Window();
|
||||||
if (DL_http_transfer == 0)
|
if (DL_http_transfer == 0)
|
||||||
|
@ -18,7 +18,7 @@ ShowHistory()
|
|||||||
strcat(history_pointer, BrowserHistory.GetUrl(i));
|
strcat(history_pointer, BrowserHistory.GetUrl(i));
|
||||||
strcat(history_pointer, "</a><br>");
|
strcat(history_pointer, "</a><br>");
|
||||||
}
|
}
|
||||||
strcat(history_pointer, "</blockquote><h2>Cached images</h2><br>");
|
strcat(history_pointer, "</blockquote><h2>Cached images</h2>");
|
||||||
for (i=1; i<ImgCache.pics_count; i++)
|
for (i=1; i<ImgCache.pics_count; i++)
|
||||||
{
|
{
|
||||||
strcat(history_pointer, "<img src='");
|
strcat(history_pointer, "<img src='");
|
||||||
|
51
programs/cmm/browser/network_get.h
Normal file
51
programs/cmm/browser/network_get.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
char DL_URL[10000];
|
||||||
|
dword DL_bufpointer, DL_bufsize, DL_http_transfer, DL_http_buffer;
|
||||||
|
|
||||||
|
int downloaded_size, full_size;
|
||||||
|
|
||||||
|
byte download_state;
|
||||||
|
enum { STATE_NOT_STARTED, STATE_IN_PROGRESS, STATE_COMPLETED };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Downloading_SetDefaults()
|
||||||
|
{
|
||||||
|
downloaded_size = full_size = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Downloading_Stop()
|
||||||
|
{
|
||||||
|
download_state = STATE_NOT_STARTED;
|
||||||
|
if (DL_http_transfer<>0)
|
||||||
|
{
|
||||||
|
EAX = DL_http_transfer;
|
||||||
|
EAX = EAX.http_msg.content_ptr; // get pointer to data
|
||||||
|
$push EAX // save it on the stack
|
||||||
|
http_free stdcall (DL_http_transfer); // abort connection
|
||||||
|
$pop EAX
|
||||||
|
mem_Free(EAX); // free data
|
||||||
|
DL_http_transfer=0;
|
||||||
|
DL_bufsize = 0;
|
||||||
|
DL_bufpointer = mem_Free(DL_bufpointer);
|
||||||
|
Downloading_SetDefaults();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Downloading_Start()
|
||||||
|
{
|
||||||
|
download_state = STATE_IN_PROGRESS;
|
||||||
|
http_get stdcall (#DL_URL, 0, 0, #accept_language);
|
||||||
|
DL_http_transfer = EAX;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Downloading_Completed()
|
||||||
|
{
|
||||||
|
ESI = DL_http_transfer;
|
||||||
|
DL_bufpointer = ESI.http_msg.content_ptr;
|
||||||
|
DL_bufsize = ESI.http_msg.content_received;
|
||||||
|
http_free stdcall (DL_http_transfer);
|
||||||
|
DL_http_transfer=0;
|
||||||
|
download_state = STATE_COMPLETED;
|
||||||
|
}
|
@ -103,8 +103,8 @@
|
|||||||
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
||||||
enum { CREATE_FILE=1, CREATE_FOLDER, RENAME_ITEM }; //NewElement
|
enum { CREATE_FILE=1, CREATE_FOLDER, RENAME_ITEM }; //NewElement
|
||||||
|
|
||||||
#define TITLE "Eolite File Manager v2.91"
|
#define TITLE "Eolite File Manager v2.92"
|
||||||
#define ABOUT_TITLE "Eolite v2.91"
|
#define ABOUT_TITLE "Eolite 2.92"
|
||||||
dword col_padding, col_selec, col_lpanel;
|
dword col_padding, col_selec, col_lpanel;
|
||||||
|
|
||||||
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
||||||
|
@ -50,18 +50,18 @@ void about_dialog()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case evReDraw:
|
case evReDraw:
|
||||||
DefineAndDrawWindow(Form.left+Form.width/2,Form.top+Form.height/2-114,300,228+GetSkinHeight(),0x34,system.color.work,INTRO_TEXT_1);
|
DefineAndDrawWindow(Form.left+Form.width/2,Form.top+Form.height/2-114,300,248+GetSkinHeight(),0x34,system.color.work,INTRO_TEXT_1);
|
||||||
GetProcessInfo(#about_form, SelfInfo);
|
GetProcessInfo(#about_form, SelfInfo);
|
||||||
if (Form.status_window>2) break;
|
if (Form.status_window>2) break;
|
||||||
DrawBar(0,0,about_form.cwidth,50,0x8494C4);
|
DrawBar(0,0,about_form.cwidth,50,0x8494C4);
|
||||||
PutPaletteImage(#logo,85,85,about_form.width/2-43,7,8,#logo_pal);
|
PutPaletteImage(#logo,85,85,about_form.cwidth/2-43,7,8,#logo_pal);
|
||||||
WriteTextB(about_form.width/2-46,100,0x90,0xBF40BF,ABOUT_TITLE);
|
WriteTextB(about_form.cwidth/2-66,100,0x81,0xBF40BF,ABOUT_TITLE);
|
||||||
WriteTextCenter(0,120,about_form.cwidth,0,INTRO_TEXT_2);
|
WriteTextCenter(0,130,about_form.cwidth,0,INTRO_TEXT_2);
|
||||||
WriteTextCenter(0,130,about_form.cwidth,0,"Leency Veliant PunkJoker Pavelyakov");
|
WriteTextCenter(0,143,about_form.cwidth,0,"Leency Veliant PunkJoker Pavelyakov");
|
||||||
WriteTextCenter(0,140,about_form.cwidth,0,"KolibriOS Team");
|
WriteTextCenter(0,156,about_form.cwidth,0,"KolibriOS Team");
|
||||||
WriteTextCenter(0,150,about_form.cwidth,0,"2008-2015");
|
WriteTextCenter(0,169,about_form.cwidth,0,"2008-2015");
|
||||||
WriteTextCenter(10,170,about_form.width-125,0,INTRO_TEXT_3);
|
WriteTextCenter(10,182,about_form.width-125,0,INTRO_TEXT_3);
|
||||||
DrawLink(about_form.width/2-15,170,0x80,23, "kolibri-n.org");
|
DrawLink(about_form.cwidth/2-15,182,0x80,23, "kolibri-n.org");
|
||||||
DrawFlatButton(about_form.width/2-35,about_form.height-60,70,22,10,0xE4DFE1, INTRO_TEXT_4);
|
DrawFlatButton(about_form.cwidth/2-35,about_form.cheight-35,70,22,10,0xE4DFE1, INTRO_TEXT_4);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -145,8 +145,25 @@ struct menu_data
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct edit_box{
|
struct edit_box{
|
||||||
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
|
dword width,
|
||||||
text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
|
left,
|
||||||
|
top,
|
||||||
|
color,
|
||||||
|
shift_color,
|
||||||
|
focus_border_color,
|
||||||
|
blur_border_color,
|
||||||
|
text_color,
|
||||||
|
max,
|
||||||
|
text,
|
||||||
|
mouse_variable,
|
||||||
|
flags,
|
||||||
|
size,
|
||||||
|
pos,
|
||||||
|
offset,
|
||||||
|
cl_curs_x,
|
||||||
|
cl_curs_y,
|
||||||
|
shift,
|
||||||
|
shift_old;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct checkbox2
|
struct checkbox2
|
||||||
|
Loading…
Reference in New Issue
Block a user