From 1490b52a6b96b6a69a0c4fe9e0515dc717425128 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 22 Mar 2012 09:34:34 +0000 Subject: NetSurf options rework (a=vince r=daniels,jmb) svn path=/trunk/netsurf/; revision=13548 --- beos/beos_font.cpp | 10 +- beos/beos_gui.cpp | 83 ++++++++--------- beos/beos_options.cpp | 227 +--------------------------------------------- beos/beos_plotters.cpp | 16 ++-- beos/beos_scaffolding.cpp | 35 ++++--- beos/beos_window.cpp | 2 +- beos/options.h | 22 +++-- beos/system_colour.cpp | 56 ++++++------ 8 files changed, 118 insertions(+), 333 deletions(-) (limited to 'beos') diff --git a/beos/beos_font.cpp b/beos/beos_font.cpp index eca2fab9e..5c7d1caf8 100644 --- a/beos/beos_font.cpp +++ b/beos/beos_font.cpp @@ -296,20 +296,20 @@ void nsbeos_style_to_font(BFont &font, const plot_font_style_t *fstyle) switch (fstyle->family) { case PLOT_FONT_FAMILY_SERIF: - family = option_font_serif; + family = nsoption_charp(font_serif); break; case PLOT_FONT_FAMILY_MONOSPACE: - family = option_font_mono; + family = nsoption_charp(font_mono); break; case PLOT_FONT_FAMILY_CURSIVE: - family = option_font_cursive; + family = nsoption_charp(font_cursive); break; case PLOT_FONT_FAMILY_FANTASY: - family = option_font_fantasy; + family = nsoption_charp(font_fantasy); break; case PLOT_FONT_FAMILY_SANS_SERIF: default: - family = option_font_sans; + family = nsoption_charp(font_sans); break; } diff --git a/beos/beos_gui.cpp b/beos/beos_gui.cpp index e535b3658..f6abd43a5 100644 --- a/beos/beos_gui.cpp +++ b/beos/beos_gui.cpp @@ -436,8 +436,8 @@ static void gui_init2(int argc, char** argv) CALLED(); const char *addr = NETSURF_HOMEPAGE; - if (option_homepage_url != NULL && option_homepage_url[0] != '\0') - addr = option_homepage_url; + if (nsoption_charp(homepage_url) != NULL) + addr = nsoption_charp(homepage_url); if (argc > 1) addr = argv[1]; if (gFirstRefsReceived) addr = NULL; @@ -544,78 +544,79 @@ void gui_init(int argc, char** argv) find_resource(buf, "Choices", "%/Choices"); LOG(("Using '%s' as Preferences file", buf)); options_file_location = strdup(buf); - options_read(buf); + nsoption_read(buf); /* check what the font settings are, setting them to a default font * if they're not set - stops Pango whinging */ -#define SETFONTDEFAULT(x,y) (x) = ((x) != NULL) ? (x) : strdup((y)) + //XXX: use be_plain_font & friends, when we can check if font is serif or not. /* font_family family; font_style style; be_plain_font->GetFamilyAndStyle(&family, &style); - SETFONTDEFAULT(option_font_sans, family); - SETFONTDEFAULT(option_font_serif, family); - SETFONTDEFAULT(option_font_mono, family); - SETFONTDEFAULT(option_font_cursive, family); - SETFONTDEFAULT(option_font_fantasy, family); + nsoption_setnull_charp(font_sans, family); + nsoption_setnull_charp(font_serif, family); + nsoption_setnull_charp(font_mono, family); + nsoption_setnull_charp(font_cursive, family); + nsoption_setnull_charp(font_fantasy, family); */ #ifdef __HAIKU__ - SETFONTDEFAULT(option_font_sans, "DejaVu Sans"); - SETFONTDEFAULT(option_font_serif, "DejaVu Serif"); - SETFONTDEFAULT(option_font_mono, "DejaVu Mono"); - SETFONTDEFAULT(option_font_cursive, "DejaVu Sans"); - SETFONTDEFAULT(option_font_fantasy, "DejaVu Sans"); + nsoption_setnull_charp(font_sans, "DejaVu Sans"); + nsoption_setnull_charp(font_serif, "DejaVu Serif"); + nsoption_setnull_charp(font_mono, "DejaVu Mono"); + nsoption_setnull_charp(font_cursive, "DejaVu Sans"); + nsoption_setnull_charp(font_fantasy, "DejaVu Sans"); #else - SETFONTDEFAULT(option_font_sans, "Bitstream Vera Sans"); - SETFONTDEFAULT(option_font_serif, "Bitstream Vera Serif"); - SETFONTDEFAULT(option_font_mono, "Bitstream Vera Sans Mono"); - SETFONTDEFAULT(option_font_cursive, "Bitstream Vera Serif"); - SETFONTDEFAULT(option_font_fantasy, "Bitstream Vera Serif"); + nsoption_setnull_charp(font_sans, "Bitstream Vera Sans"); + nsoption_setnull_charp(font_serif, "Bitstream Vera Serif"); + nsoption_setnull_charp(font_mono, "Bitstream Vera Sans Mono"); + nsoption_setnull_charp(font_cursive, "Bitstream Vera Serif"); + nsoption_setnull_charp(font_fantasy, "Bitstream Vera Serif"); #if 0 - SETFONTDEFAULT(option_font_sans, "Swis721 BT"); - SETFONTDEFAULT(option_font_serif, "Dutch801 Rm BT"); - //SETFONTDEFAULT(option_font_mono, "Monospac821 BT"); - SETFONTDEFAULT(option_font_mono, "Courier10 BT"); - SETFONTDEFAULT(option_font_cursive, "Swis721 BT"); - SETFONTDEFAULT(option_font_fantasy, "Swis721 BT"); + nsoption_setnull_charp(font_sans, "Swis721 BT"); + nsoption_setnull_charp(font_serif, "Dutch801 Rm BT"); + //nsoption_setnull_charp(font_mono, "Monospac821 BT"); + nsoption_setnull_charp(font_mono, "Courier10 BT"); + nsoption_setnull_charp(font_cursive, "Swis721 BT"); + nsoption_setnull_charp(font_fantasy, "Swis721 BT"); #endif #endif nsbeos_options_init(); - if (!option_cookie_file) { + if (nsoption_charp(cookie_file) == NULL) { find_resource(buf, "Cookies", "%/Cookies"); LOG(("Using '%s' as Cookies file", buf)); - option_cookie_file = strdup(buf); + nsoption_set_charp(cookie_file, strdup(buf)); } - if (!option_cookie_jar) { + if (nsoption_charp(cookie_jar) == NULL) { find_resource(buf, "Cookies", "%/Cookies"); LOG(("Using '%s' as Cookie Jar file", buf)); - option_cookie_jar = strdup(buf); + nsoption_set_charp(cookie_jar, strdup(buf)); } - if (!option_cookie_file || !option_cookie_jar) + if ((nsoption_charp(cookie_file) == NULL) || + (nsoption_charp(cookie_jar) == NULL)) die("Failed initialising cookie options"); - if (!option_url_file) { + if (nsoption_charp(url_file) == NULL) { find_resource(buf, "URLs", "%/URLs"); LOG(("Using '%s' as URL file", buf)); - option_url_file = strdup(buf); + onsption_set_charp(url_file, strdup(buf)); } - if (!option_ca_path) { + if (nsoption_charp(ca_path) == NULL) { find_resource(buf, "certs", "/etc/ssl/certs"); LOG(("Using '%s' as certificate path", buf)); - option_ca_path = strdup(buf); + nsoption_set_charp(ca_path, strdup(buf)); } //find_resource(buf, "mime.types", "/etc/mime.types"); beos_fetch_filetype_init(); - urldb_load(option_url_file); - urldb_load_cookies(option_cookie_file); + urldb_load(nsoption_charp(url_file)); + urldb_load_cookies(nsoption_charp(cookie_file)); //nsbeos_download_initialise(); @@ -736,12 +737,12 @@ void gui_poll(bool active) void gui_quit(void) { CALLED(); - urldb_save_cookies(option_cookie_jar); - urldb_save(option_url_file); - //options_save_tree(hotlist,option_hotlist_file,messages_get("TreeHotlist")); + urldb_save_cookies(nsoption_charp(cookie_jar)); + urldb_save(nsoption_charp(url_file)); + //options_save_tree(hotlist,nsoption_charp(hotlist_file),messages_get("TreeHotlist")); - free(option_cookie_file); - free(option_cookie_jar); + free(nsoption_charp(cookie_file)); + free(nsoption_charp(cookie_jar)); beos_fetch_filetype_fin(); fetch_rsrc_unregister(); } diff --git a/beos/beos_options.cpp b/beos/beos_options.cpp index 6e492a6a4..ff88349b7 100644 --- a/beos/beos_options.cpp +++ b/beos/beos_options.cpp @@ -29,247 +29,22 @@ extern "C" { #include "beos/beos_gui.h" #include "beos/beos_scaffolding.h" #include "beos/beos_options.h" -//#include "beos/beos_window.h" + #include #include BWindow *wndPreferences; -#if 0 /* GTK */ -GtkWindow *wndPreferences; - -static GtkWidget *entryHomePageURL, - *checkHideAdverts, - *checkDisablePopups, - *checkDisablePlugins, - *spinHistoryAge, - *checkHoverURLs, - *checkRequestOverwrite, - *checkDisplayRecentURLs, - *checkSendReferer, - - *comboProxyType, - *entryProxyHost, - *entryProxyPort, - *entryProxyUser, - *entryProxyPassword, - *spinMaxFetchers, - *spinFetchesPerHost, - *spinCachedConnections, - - *checkUseCairo, - *checkResampleImages, - *spinAnimationSpeed, - *checkDisableAnimations, - - *fontSansSerif, - *fontSerif, - *fontMonospace, - *fontCursive, - *fontFantasy, - *comboDefault, - *spinDefaultSize, - *spinMinimumSize, - - *spinMemoryCacheSize, - *spinDiscCacheAge; - -#define FIND_WIDGET(x) (x) = glade_xml_get_widget(gladeWindows, #x); if ((x) == NULL) LOG(("Unable to find widget '%s'!", #x)) -#endif - void nsbeos_options_init(void) { -#if 0 /* GTK */ - wndPreferences = GTK_WINDOW(glade_xml_get_widget(gladeWindows, - "wndPreferences")); - - /* get widget objects */ - FIND_WIDGET(entryHomePageURL); - FIND_WIDGET(checkHideAdverts); - FIND_WIDGET(checkDisablePopups); - FIND_WIDGET(checkDisablePlugins); - FIND_WIDGET(spinHistoryAge); - FIND_WIDGET(checkHoverURLs); - FIND_WIDGET(checkRequestOverwrite); - FIND_WIDGET(checkDisplayRecentURLs); - FIND_WIDGET(checkSendReferer); - - FIND_WIDGET(comboProxyType); - FIND_WIDGET(entryProxyHost); - FIND_WIDGET(entryProxyPort); - FIND_WIDGET(entryProxyUser); - FIND_WIDGET(entryProxyPassword); - FIND_WIDGET(spinMaxFetchers); - FIND_WIDGET(spinFetchesPerHost); - FIND_WIDGET(spinCachedConnections); - - FIND_WIDGET(checkUseCairo); - FIND_WIDGET(checkResampleImages); - FIND_WIDGET(spinAnimationSpeed); - FIND_WIDGET(checkDisableAnimations); - - FIND_WIDGET(fontSansSerif); - FIND_WIDGET(fontSerif); - FIND_WIDGET(fontMonospace); - FIND_WIDGET(fontCursive); - FIND_WIDGET(fontFantasy); - FIND_WIDGET(comboDefault); - FIND_WIDGET(spinDefaultSize); - FIND_WIDGET(spinMinimumSize); - - FIND_WIDGET(spinMemoryCacheSize); - FIND_WIDGET(spinDiscCacheAge); - -#endif /* set the widgets to reflect the current options */ nsbeos_options_load(); } -#if 0 /* GTK */ -#define SET_ENTRY(x, y) gtk_entry_set_text(GTK_ENTRY((x)), (y)) -#define SET_SPIN(x, y) gtk_spin_button_set_value(GTK_SPIN_BUTTON((x)), (y)) -#define SET_CHECK(x, y) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON((x)), (y)) -#define SET_COMBO(x, y) gtk_combo_box_set_active(GTK_COMBO_BOX((x)), (y)) -#define SET_FONT(x, y) gtk_font_button_set_font_name(GTK_FONT_BUTTON((x)), (y)) -#endif - void nsbeos_options_load(void) { #warning WRITEME -#if 0 /* GTK */ - char b[20]; - int proxytype = 0; - - SET_ENTRY(entryHomePageURL, - option_homepage_url ? option_homepage_url : ""); - SET_CHECK(checkHideAdverts, option_block_ads); - SET_CHECK(checkDisplayRecentURLs, option_url_suggestion); - SET_CHECK(checkSendReferer, option_send_referer); - - switch (option_http_proxy_auth) { - case OPTION_HTTP_PROXY_AUTH_NONE: - proxytype = 1; - break; - case OPTION_HTTP_PROXY_AUTH_BASIC: - proxytype = 2; - break; - case OPTION_HTTP_PROXY_AUTH_NTLM: - proxytype = 3; - break; - } - - if (option_http_proxy == false) - proxytype = 0; - - SET_COMBO(comboProxyType, proxytype); - SET_ENTRY(entryProxyHost, - option_http_proxy_host ? option_http_proxy_host : ""); - snprintf(b, 20, "%d", option_http_proxy_port); - SET_ENTRY(entryProxyPort, b); - SET_ENTRY(entryProxyUser, option_http_proxy_auth_user ? - option_http_proxy_auth_user : ""); - SET_ENTRY(entryProxyPassword, option_http_proxy_auth_pass ? - option_http_proxy_auth_pass : ""); - - SET_SPIN(spinMaxFetchers, option_max_fetchers); - SET_SPIN(spinFetchesPerHost, option_max_fetchers_per_host); - SET_SPIN(spinCachedConnections, option_max_cached_fetch_handles); - - SET_CHECK(checkUseCairo, option_render_cairo); - SET_CHECK(checkResampleImages, option_render_resample); - SET_SPIN(spinAnimationSpeed, option_minimum_gif_delay / 100); - SET_CHECK(checkDisableAnimations, !option_animate_images); - - SET_FONT(fontSansSerif, option_font_sans); - SET_FONT(fontSerif, option_font_serif); - SET_FONT(fontMonospace, option_font_mono); - SET_FONT(fontCursive, option_font_cursive); - SET_FONT(fontFantasy, option_font_fantasy); - SET_COMBO(comboDefault, option_font_default - 1); - SET_SPIN(spinDefaultSize, option_font_size / 10); - SET_SPIN(spinMinimumSize, option_font_min_size / 10); - - SET_SPIN(spinMemoryCacheSize, option_memory_cache_size >> 20); - SET_SPIN(spinDiscCacheAge, option_disc_cache_age); -#endif } -#if 0 /* GTK */ -#define GET_ENTRY(x, y) if ((y)) free((y)); \ - (y) = strdup(gtk_entry_get_text(GTK_ENTRY((x)))) -#define GET_CHECK(x, y) (y) = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON((x))) -#define GET_SPIN(x, y) (y) = gtk_spin_button_get_value(GTK_SPIN_BUTTON((x))) -#define GET_COMBO(x, y) (y) = gtk_combo_box_get_active(GTK_COMBO_BOX((x))) -#define GET_FONT(x, y) if ((y)) free((y)); \ - (y) = strdup(gtk_font_button_get_font_name(GTK_FONT_BUTTON((x)))) -#endif void nsbeos_options_save(void) { #warning WRITEME -#if 0 /* GTK */ - char *b = NULL; - int i; - - GET_ENTRY(entryHomePageURL, option_homepage_url); - GET_CHECK(checkDisplayRecentURLs, option_url_suggestion); - - GET_COMBO(comboProxyType, i); - LOG(("proxy type: %d", i)); - switch (i) - { - case 0: - option_http_proxy = false; - option_http_proxy_auth = OPTION_HTTP_PROXY_AUTH_NONE; - break; - case 1: - option_http_proxy = true; - option_http_proxy_auth = OPTION_HTTP_PROXY_AUTH_NONE; - break; - case 2: - option_http_proxy = true; - option_http_proxy_auth = OPTION_HTTP_PROXY_AUTH_BASIC; - break; - case 3: - option_http_proxy = true; - option_http_proxy_auth = OPTION_HTTP_PROXY_AUTH_NTLM; - break; - default: - option_http_proxy = false; - option_http_proxy_auth = OPTION_HTTP_PROXY_AUTH_NONE; - break; - } - - GET_ENTRY(entryProxyHost, option_http_proxy_host); - GET_ENTRY(entryProxyPort, b); - option_http_proxy_port = atoi(b); - free(b); - GET_ENTRY(entryProxyUser, option_http_proxy_auth_user); - GET_ENTRY(entryProxyPassword, option_http_proxy_auth_pass); - - GET_SPIN(spinMaxFetchers, option_max_fetchers); - GET_SPIN(spinFetchesPerHost, option_max_fetchers_per_host); - GET_SPIN(spinCachedConnections, option_max_cached_fetch_handles); - - GET_CHECK(checkUseCairo, option_render_cairo); - GET_CHECK(checkResampleImages, option_render_resample); - GET_SPIN(spinAnimationSpeed, option_minimum_gif_delay); - option_minimum_gif_delay *= 100; - - GET_FONT(fontSansSerif, option_font_sans); - GET_FONT(fontSerif, option_font_serif); - GET_FONT(fontMonospace, option_font_mono); - GET_FONT(fontCursive, option_font_cursive); - GET_FONT(fontFantasy, option_font_fantasy); - GET_COMBO(comboDefault, option_font_default); - option_font_default++; - - GET_SPIN(spinDefaultSize, option_font_size); - option_font_size *= 10; - GET_SPIN(spinMinimumSize, option_font_min_size); - option_font_min_size *= 10; - - GET_SPIN(spinMemoryCacheSize, option_memory_cache_size); - option_memory_cache_size <<= 20; - - options_write(options_file_location); - nsgtk_reflow_all_windows(); -#endif } diff --git a/beos/beos_plotters.cpp b/beos/beos_plotters.cpp index ee8d312d2..adc9588b3 100644 --- a/beos/beos_plotters.cpp +++ b/beos/beos_plotters.cpp @@ -155,7 +155,7 @@ bool nsbeos_plot_rectangle(int x0, int y0, int x1, int y1, const plot_style_t *s nsbeos_set_colour(style->fill_colour); nsbeos_set_solid(); #ifdef CAIRO_VERSION - if (option_render_cairo) { + if (nsoption_bool(render_cairo)) { cairo_set_line_width(current_cr, 0); cairo_rectangle(current_cr, x0, y0, x1 - x0, y1 - y0); cairo_fill(current_cr); @@ -206,7 +206,7 @@ bool nsbeos_plot_rectangle(int x0, int y0, int x1, int y1, const plot_style_t *s #if 0 /* GTK */ #ifdef CAIRO_VERSION - if (option_render_cairo) { + if (nsoption_bool(render_cairo)) { if (line_width == 0) line_width = 1; @@ -267,7 +267,7 @@ bool nsbeos_plot_line(int x0, int y0, int x1, int y1, const plot_style_t *style) #if 0 /* GTK */ #ifdef CAIRO_VERSION - if (option_render_cairo) { + if (nsoption_bool(render_cairo)) { if (width == 0) width = 1; @@ -337,7 +337,7 @@ bool nsbeos_plot_clip(const struct rect *ns_clip) #if 0 /* GTK */ #ifdef CAIRO_VERSION - if (option_render_cairo) { + if (nsoption_bool(render_cairo)) { cairo_reset_clip(current_cr); cairo_rectangle(current_cr, clip->x0, clip->y0, clip->x1 - clip->x0, clip->y1 - clip->y0); @@ -385,7 +385,7 @@ bool nsbeos_plot_disc(int x, int y, int radius, const plot_style_t *style) nsbeos_set_colour(c); nsbeos_set_solid(); #ifdef CAIRO_VERSION - if (option_render_cairo) { + if (nsoption_bool(render_cairo)) { if (filled) cairo_set_line_width(current_cr, 0); else @@ -432,7 +432,7 @@ bool nsbeos_plot_arc(int x, int y, int radius, int angle1, int angle2, const plo nsbeos_set_colour(style->fill_colour); nsbeos_set_solid(); #ifdef CAIRO_VERSION - if (option_render_cairo) { + if (nsoption_bool(render_cairo)) { cairo_set_line_width(current_cr, 1); cairo_arc(current_cr, x, y, radius, (angle1 + 90) * (M_PI / 180), @@ -516,7 +516,7 @@ static bool nsbeos_plot_bbitmap(int x, int y, int width, int height, GdkPixbuf *scaled; scaled = gdk_pixbuf_scale_simple(pixbuf, width, height, - option_render_resample ? GDK_INTERP_BILINEAR + nsoption_bool(render_resample) ? GDK_INTERP_BILINEAR : GDK_INTERP_NEAREST); if (!scaled) return false; @@ -772,7 +772,7 @@ void nsbeos_set_colour(colour c) &colour); gdk_gc_set_foreground(current_gc, &colour); #ifdef CAIRO_VERSION - if (option_render_cairo) + if (nsoption_bool(render_cairo)) cairo_set_source_rgba(current_cr, r / 255.0, g / 255.0, b / 255.0, 1.0); #endif diff --git a/beos/beos_scaffolding.cpp b/beos/beos_scaffolding.cpp index ba0ded909..0ba2004d9 100644 --- a/beos/beos_scaffolding.cpp +++ b/beos/beos_scaffolding.cpp @@ -824,8 +824,8 @@ void nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m { static const char *addr = NETSURF_HOMEPAGE; - if (option_homepage_url != NULL && option_homepage_url[0] != '\0') - addr = option_homepage_url; + if (nsoption_charp(homepage_url) != NULL) + addr = nsoption_charp(homepage_url); browser_window_go(bw, addr, 0, true); break; @@ -1261,14 +1261,19 @@ MENUHANDLER(downloads) MENUHANDLER(save_window_size) { struct beos_scaffolding *gw = (struct beos_scaffolding *)g; + int x,y,w,h; - option_toolbar_status_width = beos_paned_get_position(gw->status_pane); - beos_window_get_position(gw->window, &option_window_x, &option_window_y); - beos_window_get_size(gw->window, &option_window_width, - &option_window_height); + nsoption_set_int(toolbar_status_width, + beos_paned_get_position(gw->status_pane)); + beos_window_get_position(gw->window, &x, &y); + beos_window_get_size(gw->window, &w, &h); + nsoption_set_int(window_x, x); + nsoption_set_int(window_y, y); + nsoption_set_int(window_width, w); + nsoption_set_int(window_height, h); - options_write(options_file_location); + nsoption_write(options_file_location); return TRUE; } @@ -1690,9 +1695,9 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel) if (!replicant_view) { BRect frame(0, 0, 600-1, 500-1); - if (option_window_width > 0) { - frame.Set(0, 0, option_window_width - 1, option_window_height - 1); - frame.OffsetToSelf(option_window_x, option_window_y); + if (nsoption_int(window_width) > 0) { + frame.Set(0, 0, nsoption_int(window_width) - 1, nsoption_int(window_height) - 1); + frame.OffsetToSelf(nsoption_int(window_x), nsoption_int(window_y)); } else { BPoint pos(50, 50); // XXX: use last BApplication::WindowAt()'s dynamic_cast Frame() @@ -2158,16 +2163,16 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel) /* set this window's size and position to what's in the options, or * or some sensible default if they're not set yet. */ - if (option_window_width > 0) { - beos_window_move(g->window, option_window_x, option_window_y); - beos_window_resize(g->window, option_window_width, - option_window_height); + if (nsoption_int(window_width) > 0) { + beos_window_move(g->window, nsoption_int(window_x), nsoption_int(window_y)); + beos_window_resize(g->window, nsoption_int(window_width), + nsoption_int(window_height)); } else { beos_window_set_default_size(g->window, 600, 600); } /* set the size of the hpane with status bar and h scrollbar */ - beos_paned_set_position(g->status_pane, option_toolbar_status_width); + beos_paned_set_position(g->status_pane, nsoption_int(toolbar_status_width)); /* set the URL entry box to expand, as we can't do this from within * glade because of the way it emulates toolbars. diff --git a/beos/beos_window.cpp b/beos/beos_window.cpp index 2e4db7e4c..9c608d50d 100644 --- a/beos/beos_window.cpp +++ b/beos/beos_window.cpp @@ -384,7 +384,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, if (clone != NULL) bw->scale = clone->scale; else - bw->scale = (float) option_scale / 100; + bw->scale = (float) nsoption_int(scale) / 100; g->careth = 0; g->pending_resizes = 0; diff --git a/beos/options.h b/beos/options.h index 9ea69ac92..9b8a3d109 100644 --- a/beos/options.h +++ b/beos/options.h @@ -17,19 +17,23 @@ * along with this program. If not, see . */ +#ifndef _NETSURF_DESKTOP_OPTIONS_INCLUDING_ +#error "Frontend options header cannot be included directly" +#endif + #ifndef _NETSURF_BEOS_OPTIONS_H_ #define _NETSURF_BEOS_OPTIONS_H_ -#include "desktop/options.h" +#define NSOPTION_EXTRA_DEFINE \ + bool render_resample; \ + char *url_file -extern bool option_render_resample; -extern char *option_url_file; +#define NSOPTION_EXTRA_DEFAULTS \ + .render_resample = false, \ + .url_file = 0 -#define EXTRA_OPTION_DEFINE \ -bool option_render_resample = false; \ -char *option_url_file = 0; +#define NSOPTION_EXTRA_TABLE \ + { "render_resample", OPTION_BOOL, &nsoptions.render_resample }, \ + { "url_file", OPTION_STRING, &nsoptions.url_file } -#define EXTRA_OPTION_TABLE \ -{ "render_resample", OPTION_BOOL, &option_render_resample }, \ -{ "url_file", OPTION_STRING, &option_url_file }, #endif diff --git a/beos/system_colour.cpp b/beos/system_colour.cpp index 9acf89757..1d03b35e6 100644 --- a/beos/system_colour.cpp +++ b/beos/system_colour.cpp @@ -85,189 +85,189 @@ static struct gui_system_colour_ctx colour_list[] = { "ActiveBorder", SLEN("ActiveBorder"), 0xff000000, - &option_sys_colour_ActiveBorder, + &nsoption_colour(sys_colour_ActiveBorder), NULL, NOCOL }, { "ActiveCaption", SLEN("ActiveCaption"), 0xffdddddd, - &option_sys_colour_ActiveCaption, + &nsoption_colour(sys_colour_ActiveCaption), NULL, B_WINDOW_TAB_COLOR }, { "AppWorkspace", SLEN("AppWorkspace"), 0xffeeeeee, - &option_sys_colour_AppWorkspace, + &nsoption_colour(sys_colour_AppWorkspace), NULL, B_PANEL_BACKGROUND_COLOR }, { "Background", SLEN("Background"), 0xff0000aa, - &option_sys_colour_Background, + &nsoption_colour(sys_colour_Background), NULL, B_DESKTOP_COLOR }, { "ButtonFace", SLEN("ButtonFace"), 0xffaaaaaa, - &option_sys_colour_ButtonFace, + &nsoption_colour(sys_colour_ButtonFace), NULL, B_CONTROL_BACKGROUND_COLOR }, { "ButtonHighlight", SLEN("ButtonHighlight"), 0xffdddddd, - &option_sys_colour_ButtonHighlight, + &nsoption_colour(sys_colour_ButtonHighlight), NULL, B_CONTROL_HIGHLIGHT_COLOR }, { "ButtonShadow", SLEN("ButtonShadow"), 0xffbbbbbb, - &option_sys_colour_ButtonShadow, + &nsoption_colour(sys_colour_ButtonShadow), NULL, NOCOL }, { "ButtonText", SLEN("ButtonText"), 0xff000000, - &option_sys_colour_ButtonText, + &nsoption_colour(sys_colour_ButtonText), NULL, B_CONTROL_TEXT_COLOR }, { "CaptionText", SLEN("CaptionText"), 0xff000000, - &option_sys_colour_CaptionText, + &nsoption_colour(sys_colour_CaptionText), NULL, NOCOL }, { "GrayText", SLEN("GrayText"), 0xffcccccc, - &option_sys_colour_GrayText, + &nsoption_colour(sys_colour_GrayText), NULL, NOCOL }, { "Highlight", SLEN("Highlight"), 0xff0000ee, - &option_sys_colour_Highlight, + &nsoption_colour(sys_colour_Highlight), NULL, NOCOL }, { "HighlightText", SLEN("HighlightText"), 0xff000000, - &option_sys_colour_HighlightText, + &nsoption_colour(sys_colour_HighlightText), NULL, NOCOL }, { "InactiveBorder", SLEN("InactiveBorder"), 0xffffffff, - &option_sys_colour_InactiveBorder, + &nsoption_colour(sys_colour_InactiveBorder), NULL, NOCOL }, { "InactiveCaption", SLEN("InactiveCaption"), 0xffffffff, - &option_sys_colour_InactiveCaption, + &nsoption_colour(sys_colour_InactiveCaption), NULL, NOCOL }, { "InactiveCaptionText", SLEN("InactiveCaptionText"), 0xffcccccc, - &option_sys_colour_InactiveCaptionText, + &nsoption_colour(sys_colour_InactiveCaptionText), NULL, NOCOL }, { "InfoBackground", SLEN("InfoBackground"), 0xffaaaaaa, - &option_sys_colour_InfoBackground, + &nsoption_colour(sys_colour_InfoBackground), NULL, B_TOOLTIP_BACKGROUND_COLOR }, { "InfoText", SLEN("InfoText"), 0xff000000, - &option_sys_colour_InfoText, + &nsoption_colour(sys_colour_InfoText), NULL, B_TOOLTIP_TEXT_COLOR }, { "Menu", SLEN("Menu"), 0xffaaaaaa, - &option_sys_colour_Menu, + &nsoption_colour(sys_colour_Menu), NULL, B_MENU_BACKGROUND_COLOR }, { "MenuText", SLEN("MenuText"), 0xff000000, - &option_sys_colour_MenuText, + &nsoption_colour(sys_colour_MenuText), NULL, B_MENU_ITEM_TEXT_COLOR }, { "Scrollbar", SLEN("Scrollbar"), 0xffaaaaaa, - &option_sys_colour_Scrollbar, + &nsoption_colour(sys_colour_Scrollbar), NULL, NOCOL }, { "ThreeDDarkShadow", SLEN("ThreeDDarkShadow"), 0xff555555, - &option_sys_colour_ThreeDDarkShadow, + &nsoption_colour(sys_colour_ThreeDDarkShadow), NULL, NOCOL }, { "ThreeDFace", SLEN("ThreeDFace"), 0xffdddddd, - &option_sys_colour_ThreeDFace, + &nsoption_colour(sys_colour_ThreeDFace), NULL, NOCOL }, { "ThreeDHighlight", SLEN("ThreeDHighlight"), 0xffaaaaaa, - &option_sys_colour_ThreeDHighlight, + &nsoption_colour(sys_colour_ThreeDHighlight), NULL, NOCOL }, { "ThreeDLightShadow", SLEN("ThreeDLightShadow"), 0xff999999, - &option_sys_colour_ThreeDLightShadow, + &nsoption_colour(sys_colour_ThreeDLightShadow), NULL, NOCOL }, { "ThreeDShadow", SLEN("ThreeDShadow"), 0xff777777, - &option_sys_colour_ThreeDShadow, + &nsoption_colour(sys_colour_ThreeDShadow), NULL, NOCOL }, { "Window", SLEN("Window"), 0xffaaaaaa, - &option_sys_colour_Window, + &nsoption_colour(sys_colour_Window), NULL, B_DOCUMENT_BACKGROUND_COLOR }, { "WindowFrame", SLEN("WindowFrame"), 0xff000000, - &option_sys_colour_WindowFrame, + &nsoption_colour(sys_colour_WindowFrame), NULL, NOCOL }, { @@ -275,7 +275,7 @@ static struct gui_system_colour_ctx colour_list[] = { "WindowText", SLEN("WindowText"), 0xff000000, - &option_sys_colour_WindowText, + &nsoption_colour(sys_colour_WindowText), NULL, B_DOCUMENT_TEXT_COLOR }, -- cgit v1.2.3