diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-10-22 20:01:51 +0100 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-10-22 20:01:51 +0100 |
commit | bcd43d3f5989b236f696773ab523f56cac54cd8a (patch) | |
tree | dc1d00799cc93d9c7e3f7298b3fdcabb92bd28e7 /atari | |
parent | 094b866388f504bbbecec6290c286f8b6cb008fb (diff) | |
parent | 9629e428a55961106fcd15fd9e0ad9de0649f314 (diff) | |
download | netsurf-bcd43d3f5989b236f696773ab523f56cac54cd8a.tar.gz netsurf-bcd43d3f5989b236f696773ab523f56cac54cd8a.tar.bz2 |
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
Diffstat (limited to 'atari')
-rwxr-xr-x | atari/browser_win.c | 29 | ||||
-rwxr-xr-x | atari/findfile.c | 5 | ||||
-rwxr-xr-x | atari/gui.c | 24 | ||||
-rwxr-xr-x | atari/statusbar.c | 44 | ||||
-rwxr-xr-x | atari/statusbar.h | 12 |
5 files changed, 87 insertions, 27 deletions
diff --git a/atari/browser_win.c b/atari/browser_win.c index 8beb39645..f6daf37c4 100755 --- a/atari/browser_win.c +++ b/atari/browser_win.c @@ -103,6 +103,9 @@ int window_create( struct gui_window * gw, }
if( inflags & WIDGET_RESIZE ){
flags |= ( SIZER );
+ } + if( inflags & WIDGET_STATUSBAR ){
+ flags |= ( INFO );
}
gw->root = malloc( sizeof(struct s_gui_win_root) );
@@ -141,8 +144,10 @@ int window_create( struct gui_window * gw, /* create statusbar component: */
if( sb ) {
- gw->root->statusbar = sb_create( gw );
- mt_CompAttach( &app, gw->root->cmproot, gw->root->statusbar->comp );
+ gw->root->statusbar = sb_create( gw ); +#ifdef WITH_COMOPONENT_STATUSBAR
+ mt_CompAttach( &app, gw->root->cmproot, gw->root->statusbar->comp ); +#endif
} else {
gw->root->statusbar = NULL;
}
@@ -231,7 +236,7 @@ void window_open( struct gui_window * gw, GRECT pos ) plot_set_dimensions(br.g_x, br.g_y, br.g_w, br.g_h);
gw->browser->attached = true;
if( gw->root->statusbar != NULL ){
- gw->root->statusbar->attached = true;
+ sb_attach(gw->root->statusbar, gw);
}
tb_adjust_size( gw );
/*TBD: get already present content and set size? */
@@ -247,7 +252,7 @@ void window_update_back_forward( struct gui_window * gw) tb_update_buttons( gw, -1 );
}
-void window_set_stauts( struct gui_window * gw , char * text )
+void window_set_stauts(struct gui_window * gw , char * text )
{
if( gw->root == NULL )
return;
@@ -428,13 +433,11 @@ static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data ) if( !strncmp( ext, "ARGS", 4) && dd_msg > 0)
{
ddreply(dd_hdl, DD_OK);
- buff = (char*)alloca(sizeof(char)*(size+1));
- if( buff != NULL )
+ buff = (char*)malloc(sizeof(char)*(size+1));
+ if (buff != NULL)
{
- if( Fread(dd_hdl, size, buff ) == size)
- {
+ if (Fread(dd_hdl, size, buff ) == size)
buff[size] = 0;
- }
LOG(("file: %s, ext: %s, size: %d dropped at: %d,%d\n",
(char*)buff, (char*)&ext,
size, mx, my
@@ -451,8 +454,9 @@ static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data ) utf8_convert_ret ret;
char *utf8_fn;
- ret = utf8_from_local_encoding( buff, 0, &utf8_fn);
- if (ret != UTF8_CONVERT_OK) {
+ ret = utf8_from_local_encoding(buff, 0, &utf8_fn);
+ if (ret != UTF8_CONVERT_OK) { + free(buff);
/* A bad encoding should never happen */
LOG(("utf8_from_local_encoding failed"));
assert(ret != UTF8_CONVERT_BADENC);
@@ -463,7 +467,8 @@ static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data ) mx+gw->browser->scroll.current.x,
my+gw->browser->scroll.current.y,
utf8_fn );
- free( utf8_fn );
+ free(utf8_fn); + free(buff);
}
}
}
diff --git a/atari/findfile.c b/atari/findfile.c index 3a06f61e9..93bf4638e 100755 --- a/atari/findfile.c +++ b/atari/findfile.c @@ -41,7 +41,7 @@ char * local_file_to_url( const char * filename ) return( NULL ); } - char * fname_local = alloca( strlen(filename)+1 ); + char * fname_local = malloc( strlen(filename)+1 ); char * start = (char*)fname_local; strcpy( start, filename ); @@ -72,6 +72,9 @@ char * local_file_to_url( const char * filename ) url = malloc( strlen(start) + FILE_SCHEME_PREFIX_LEN + 1); strcpy( url, FILE_SCHEME_PREFIX ); strcat( url, start ); + + free(fname_local); + return( url ); #undef BACKSLASH } diff --git a/atari/gui.c b/atari/gui.c index a2dac21d3..c2158e05e 100755 --- a/atari/gui.c +++ b/atari/gui.c @@ -553,12 +553,12 @@ gui_window_remove_caret(struct gui_window *w) void
gui_window_set_icon(struct gui_window *g, hlcache_handle *icon)
-{ - struct bitmap *bmp_icon; +{
+ struct bitmap *bmp_icon;
+
+ bmp_icon = (icon != NULL) ? content_get_bitmap(icon) : NULL;
- bmp_icon = (icon != NULL) ? content_get_bitmap(icon) : NULL; - - window_set_icon(g, bmp_icon); + window_set_icon(g, bmp_icon);
}
void
@@ -911,6 +911,17 @@ nsurl *gui_get_resource_url(const char *path) return url;
}
+/* Documented in desktop/options.h */
+void gui_options_init_defaults(void)
+{
+ /* Set defaults for absent option strings */
+ nsoption_setnull_charp(cookie_file, strdup("cookies"));
+
+ if (nsoption_charp(cookie_file) == NULL) {
+ die("Failed initialising string options");
+ }
+}
+
static void gui_init(int argc, char** argv)
{
char buf[PATH_MAX];
@@ -961,9 +972,6 @@ static void gui_init(int argc, char** argv) urldb_load(nsoption_charp(url_file));
}
- if (nsoption_charp(cookie_file) == NULL ){
- nsoption_set_charp(cookie_file, (char*)"cookies");
- }
LOG(("Loading cookies from: %s", nsoption_charp(cookie_file) ));
if( strlen(nsoption_charp(cookie_file)) ){
urldb_load_cookies(nsoption_charp(cookie_file));
diff --git a/atari/statusbar.c b/atari/statusbar.c index f4dbbe578..08a62c55d 100755 --- a/atari/statusbar.c +++ b/atari/statusbar.c @@ -44,7 +44,8 @@ #include "atari/res/netsurf.rsh"
#include "atari/plot/plot.h"
#include "atari/osspec.h"
-
+ +#ifdef WITH_CUSTOM_STATUSBAR
extern int atari_plot_vdi_handle;
static
@@ -182,7 +183,8 @@ void sb_destroy( CMP_STATUSBAR s ) }
void sb_set_text( CMP_STATUSBAR sb , char * text )
-{
+{ +
LGRECT work;
assert( sb != NULL );
assert( sb->comp != NULL );
@@ -197,4 +199,42 @@ void sb_set_text( CMP_STATUSBAR sb , char * text ) work.g_x, work.g_y, work.g_w, work.g_h );
}
}
+} + +#else + +CMP_STATUSBAR sb_create( struct gui_window * gw )
+{
+ CMP_STATUSBAR s = malloc( sizeof(struct s_statusbar) );
+ s->attached = false;
+ sb_set_text( s, (char*)"" );
+ return( s );
}
+
+void sb_destroy( CMP_STATUSBAR s )
+{
+ LOG(("%s\n", __FUNCTION__ ));
+ if( s ) {
+ free( s );
+ }
+} + +void sb_attach(CMP_STATUSBAR sb, struct gui_window * gw) +{ + sb->aes_win = gw->root->handle->handle; + sb->attached = true; +}
+
+void sb_set_text(CMP_STATUSBAR sb, char * text )
+{
+ LGRECT work;
+ assert( sb != NULL );
+ strncpy(sb->text, text, STATUSBAR_MAX_SLEN);
+ sb->text[STATUSBAR_MAX_SLEN]=0;
+ sb->textlen = strlen(sb->text);
+ if(sb->attached){ + wind_set_str(sb->aes_win, WF_INFO, sb->text);
+ }
+} + +#endif diff --git a/atari/statusbar.h b/atari/statusbar.h index fd01a0c79..fc6749e91 100755 --- a/atari/statusbar.h +++ b/atari/statusbar.h @@ -23,15 +23,19 @@ #define STATUSBAR_MAX_SLEN 255
struct s_statusbar
-{
- COMPONENT * comp;
+{ +#ifdef WITH_COMPONENT_STATUSBAR
+ COMPONENT * comp; +#endif
char text[STATUSBAR_MAX_SLEN+1];
size_t textlen;
- bool attached;
+ bool attached; + short aes_win;
};
CMP_STATUSBAR sb_create( struct gui_window * gw );
void sb_destroy( CMP_STATUSBAR s );
-void sb_set_text( CMP_STATUSBAR sb , char * text );
+void sb_set_text( CMP_STATUSBAR sb , char * text ); +void sb_attach(CMP_STATUSBAR sb, struct gui_window * gw);
#endif
|