summaryrefslogtreecommitdiff
path: root/beos/gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'beos/gui.cpp')
-rw-r--r--beos/gui.cpp52
1 files changed, 36 insertions, 16 deletions
diff --git a/beos/gui.cpp b/beos/gui.cpp
index ffaccc83b..04a52bbd7 100644
--- a/beos/gui.cpp
+++ b/beos/gui.cpp
@@ -38,6 +38,7 @@
#include <Mime.h>
#include <Path.h>
#include <Roster.h>
+#include <Screen.h>
#include <String.h>
extern "C" {
@@ -440,20 +441,23 @@ set_colour_from_ui(struct nsoption_s *opts,
enum nsoption_e option,
colour def_colour)
{
- if (ui != NOCOL) {
- rgb_color c;
- if (ui == B_DESKTOP_COLOR) {
+ if (ui != NOCOL) {
+ rgb_color c;
+ if (ui == B_DESKTOP_COLOR) {
BScreen s;
c = s.DesktopColor();
- } else {
- c = ui_color(ui);
- }
+ } else {
+ c = ui_color(ui);
+ }
- def_colour = ((((uint32_t)c.blue << 16) & 0xff0000) |
- ((c.green << 8) & 0x00ff00) |
- ((c.red) & 0x0000ff));
- }
- return def_colour;
+ def_colour = ((((uint32_t)c.blue << 16) & 0xff0000) |
+ ((c.green << 8) & 0x00ff00) |
+ ((c.red) & 0x0000ff));
+ }
+
+ opts[option].value.c = def_colour;
+
+ return NSERROR_OK;
}
/**
@@ -544,8 +548,8 @@ int main(int argc, char** argv)
die("NetSurf failed to initialise");
}
- gui_init(argc, argv);
- gui_init2(argc, argv);
+ gui_init(argc, argv);
+ gui_init2(argc, argv);
netsurf_main_loop();
@@ -557,6 +561,7 @@ int main(int argc, char** argv)
/** called when replicated from NSBaseView::Instantiate() */
int gui_init_replicant(int argc, char** argv)
{
+ nserror ret;
BPath options;
if (find_directory(B_USER_SETTINGS_DIRECTORY, &options, true) == B_OK) {
options.Append("x-vnd.NetSurf");
@@ -569,8 +574,22 @@ int gui_init_replicant(int argc, char** argv)
*/
nslog_init(nslog_stream_configure, &argc, argv);
- /* initialise netsurf */
- netsurf_init(&argc, &argv, options.Path(), messages);
+ // FIXME: use options as readonly for replicants
+ /* user options setup */
+ ret = nsoption_init(set_defaults, &nsoptions, &nsoptions_default);
+ if (ret != NSERROR_OK) {
+ // FIXME: must not die when in replicant!
+ die("Options failed to initialise");
+ }
+ nsoption_read(options.Path(), NULL);
+ nsoption_commandline(&argc, argv, NULL);
+
+ /* common initialisation */
+ ret = netsurf_init(messages);
+ if (ret != NSERROR_OK) {
+ // FIXME: must not die when in replicant!
+ die("NetSurf failed to initialise");
+ }
gui_init(argc, argv);
gui_init2(argc, argv);
@@ -593,7 +612,8 @@ void gui_init(int argc, char** argv)
}
// ui_color() gives hardcoded values before BApplication is created.
- nsbeos_update_system_ui_colors();
+ //FIXME:
+ //nsbeos_update_system_ui_colors();
fetch_rsrc_register();