forked from KolibriOS/kolibrios
Aelia 0.35: fix ParceHTML function, show site favicon
git-svn-id: svn://kolibrios.org@6152 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a55374019f
commit
cab4c34e5b
@ -59,6 +59,7 @@ edit_box address_box = {250,56,34,0xffffff,0x94AECE,0xffffff,0xffffff,0,UML,#add
|
|||||||
CustomCursor CursorPointer;
|
CustomCursor CursorPointer;
|
||||||
dword CursorFile = FROM "pointer.cur";
|
dword CursorFile = FROM "pointer.cur";
|
||||||
|
|
||||||
|
#include "favicon.h"
|
||||||
#include "ini.h"
|
#include "ini.h"
|
||||||
#include "gui.h"
|
#include "gui.h"
|
||||||
#include "label.h"
|
#include "label.h"
|
||||||
@ -243,6 +244,7 @@ void EventOpenDialog()
|
|||||||
void EventOpenAddress(dword _new_address)
|
void EventOpenAddress(dword _new_address)
|
||||||
{
|
{
|
||||||
char temp[UML];
|
char temp[UML];
|
||||||
|
char favicon_address[UML];
|
||||||
if (!ESBYTE[_new_address]) return;
|
if (!ESBYTE[_new_address]) return;
|
||||||
debugln("====================================");
|
debugln("====================================");
|
||||||
debug("address: ");
|
debug("address: ");
|
||||||
@ -261,6 +263,7 @@ char temp[UML];
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
io.buffer_data = 0;
|
io.buffer_data = 0;
|
||||||
|
favicon.get(NULL);
|
||||||
|
|
||||||
// - build in page
|
// - build in page
|
||||||
if (!strncmp(#address,"aelia:",6)) {
|
if (!strncmp(#address,"aelia:",6)) {
|
||||||
@ -297,6 +300,8 @@ char temp[UML];
|
|||||||
strcpy(#address,downloader.url);
|
strcpy(#address,downloader.url);
|
||||||
DrawAddressBox();
|
DrawAddressBox();
|
||||||
io.buffer_data = downloader.bufpointer;
|
io.buffer_data = downloader.bufpointer;
|
||||||
|
get_absolute_url(#favicon_address, #address, "/favicon.ico");
|
||||||
|
favicon.get(#favicon_address);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,6 +311,7 @@ char temp[UML];
|
|||||||
}
|
}
|
||||||
|
|
||||||
history.add(#address);
|
history.add(#address);
|
||||||
|
favicon.draw(address_box.left-18, address_box.top-1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Great! So we have the page in our buffer.
|
Great! So we have the page in our buffer.
|
||||||
@ -438,12 +444,14 @@ void DrawPage()
|
|||||||
|
|
||||||
void DrawAddressBox()
|
void DrawAddressBox()
|
||||||
{
|
{
|
||||||
address_box.left = 97;
|
address_box.left = 97+19;
|
||||||
address_box.top = 11;
|
address_box.top = 11;
|
||||||
address_box.width = Form.cwidth - address_box.left - 138;
|
address_box.width = Form.cwidth - address_box.left - 138;
|
||||||
DrawRectangle(address_box.left-4, address_box.top-5, address_box.width+6, 23, 0x8C8C8C);
|
DrawRectangle(address_box.left-4-19, address_box.top-5, address_box.width+6+19, 23, 0x8C8C8C);
|
||||||
DrawWideRectangle(address_box.left-3, address_box.top-3, address_box.width+5, 21, 4, address_box.color);
|
DrawWideRectangle(address_box.left-3-19, address_box.top-3, address_box.width+5+19, 21, 4, address_box.color);
|
||||||
address_box.size = address_box.pos = address_box.shift = address_box.shift_old = strlen(#address);
|
address_box.size = address_box.pos = address_box.shift = address_box.shift_old = strlen(#address);
|
||||||
address_box.offset = 0;
|
address_box.offset = 0;
|
||||||
edit_box_draw stdcall(#address_box);
|
edit_box_draw stdcall(#address_box);
|
||||||
|
favicon.draw(address_box.left-18, address_box.top-1);
|
||||||
|
DrawBar(address_box.left-2, address_box.top+1, 2, 13, 0xFFFfff);
|
||||||
}
|
}
|
Binary file not shown.
83
programs/cmm/aelia/favicon.h
Normal file
83
programs/cmm/aelia/favicon.h
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
struct _favicon
|
||||||
|
{
|
||||||
|
DOWNLOADER favget;
|
||||||
|
void get();
|
||||||
|
void draw();
|
||||||
|
} favicon;
|
||||||
|
|
||||||
|
void _favicon::get(dword url)
|
||||||
|
{
|
||||||
|
if (url==NULL) || (!favget.Start(url)) {
|
||||||
|
favget.Stop();
|
||||||
|
favget.bufpointer = NULL;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
while (favget.state!=STATE_COMPLETED) favget.MonitorProgress();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void _favicon::draw(int x,y)
|
||||||
|
{
|
||||||
|
dword favicon_data_decoded;
|
||||||
|
if (favget.bufpointer) {
|
||||||
|
img_decode stdcall (favget.bufpointer, favget.data_full_size, 0);
|
||||||
|
if (EAX==0) return;
|
||||||
|
favicon_data_decoded = EAX;
|
||||||
|
img_draw stdcall(favicon_data_decoded, x,y, 16, 16, 0, 0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_PutImage(x,y,16,16,#blank_icon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unsigned char blank_icon[768] = {
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x7B, 0x75, 0x7D, 0x65, 0x5D, 0x7D,
|
||||||
|
0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x90, 0x7B,
|
||||||
|
0x75, 0xD7, 0xD1, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xF0, 0xEB,
|
||||||
|
0xEB, 0x7D, 0x65, 0x5D, 0xD7, 0xD1, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0x7D, 0x65, 0x5D, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xD7, 0xD1, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0x7D, 0x65, 0x5D, 0x7D, 0x65,
|
||||||
|
0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x90, 0x7B, 0x75, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0xF0, 0xEB,
|
||||||
|
0xEB, 0xF0, 0xEB, 0xEB, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||||
|
0xF7, 0xF7, 0xF7, 0xF7, 0xF0, 0xEB, 0xEB, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x65, 0x5D, 0xD9, 0xD9, 0xD9, 0xD9,
|
||||||
|
0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9,
|
||||||
|
0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0x7D, 0x65, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x7B, 0x75, 0x7D, 0x65, 0x5D, 0x7D,
|
||||||
|
0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65,
|
||||||
|
0x5D, 0x7D, 0x65, 0x5D, 0x7D, 0x65, 0x5D, 0x90, 0x7B, 0x75, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||||
|
};
|
@ -187,8 +187,8 @@ dword DOM_pos;
|
|||||||
label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
|
label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
|
||||||
}
|
}
|
||||||
WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);
|
WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);
|
||||||
stroka_x+=char_width[' '];
|
|
||||||
}
|
}
|
||||||
|
stroka_x+=char_width[' '];
|
||||||
ESBYTE[line_break] >< zeroch; //restore line
|
ESBYTE[line_break] >< zeroch; //restore line
|
||||||
text.start = line_break;
|
text.start = line_break;
|
||||||
stroka_x = HTML_PADDING_X;
|
stroka_x = HTML_PADDING_X;
|
||||||
@ -200,8 +200,8 @@ dword DOM_pos;
|
|||||||
label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
|
label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
|
||||||
}
|
}
|
||||||
WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);
|
WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);
|
||||||
stroka_x+=char_width[' '];
|
|
||||||
}
|
}
|
||||||
|
stroka_x+=char_width[' '];
|
||||||
stroka_x += get_label_len(text.start);
|
stroka_x += get_label_len(text.start);
|
||||||
}
|
}
|
||||||
if (ch=='>') {
|
if (ch=='>') {
|
||||||
|
@ -40,7 +40,8 @@ DONE:
|
|||||||
inline fastcall void debugln( EDX)
|
inline fastcall void debugln( EDX)
|
||||||
{
|
{
|
||||||
debug( EDX);
|
debug( EDX);
|
||||||
debugch('\n');
|
debugch(10);
|
||||||
|
debugch(13);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void debugi(dword d_int)
|
inline void debugi(dword d_int)
|
||||||
|
@ -316,7 +316,7 @@ void StartPlayingMp3()
|
|||||||
char item_path[4096];
|
char item_path[4096];
|
||||||
char notify_message[512];
|
char notify_message[512];
|
||||||
StopPlayingMp3();
|
StopPlayingMp3();
|
||||||
if (!list.count) { NotifyAndBackFocus("'Pixie Player\nPress O key to open file' -St"); return; }
|
if (!list.count) { NotifyAndBackFocus("'Pixie Player\nPress O key to open MP3 file' -St"); return; }
|
||||||
if (current_playing_file_n > list.count) { current_playing_file_n = list.count; return; }
|
if (current_playing_file_n > list.count) { current_playing_file_n = list.count; return; }
|
||||||
if (current_playing_file_n < 0) { current_playing_file_n = 0; return; }
|
if (current_playing_file_n < 0) { current_playing_file_n = 0; return; }
|
||||||
playback_mode = PLAYBACK_MODE_PLAYING;
|
playback_mode = PLAYBACK_MODE_PLAYING;
|
||||||
|
Loading…
Reference in New Issue
Block a user