summaryrefslogtreecommitdiff
path: root/beos
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-03-22 09:34:34 +0000
committerVincent Sanders <vince@netsurf-browser.org>2012-03-22 09:34:34 +0000
commit1490b52a6b96b6a69a0c4fe9e0515dc717425128 (patch)
tree8caba44a9da98e6cebf4f188e3232534b1596a4d /beos
parent0797bf5a5731b2c8d55105b453530584ea4e1f5b (diff)
downloadnetsurf-1490b52a6b96b6a69a0c4fe9e0515dc717425128.tar.gz
netsurf-1490b52a6b96b6a69a0c4fe9e0515dc717425128.tar.bz2
NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
Diffstat (limited to 'beos')
-rw-r--r--beos/beos_font.cpp10
-rw-r--r--beos/beos_gui.cpp83
-rw-r--r--beos/beos_options.cpp227
-rw-r--r--beos/beos_plotters.cpp16
-rw-r--r--beos/beos_scaffolding.cpp35
-rw-r--r--beos/beos_window.cpp2
-rw-r--r--beos/options.h22
-rw-r--r--beos/system_colour.cpp56
8 files changed, 118 insertions, 333 deletions
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 <View.h>
#include <Window.h>
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<NSBrowserWindow *> 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 <http://www.gnu.org/licenses/>.
*/
+#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
},