diff options
author | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2010-09-24 23:08:24 +0200 |
---|---|---|
committer | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2010-09-24 23:08:24 +0200 |
commit | b66ff3ea295863bebe2d062df0c235891f9a597b (patch) | |
tree | 9ca2de7d57b2e340d947b3b20c40e2bd23c498ad | |
parent | add402b9774dd3a8d0a097e4d40a650e360022e4 (diff) |
bring back bg_color dillorc option
-rw-r--r-- | dillorc | 5 | ||||
-rw-r--r-- | dw/widget.cc | 4 | ||||
-rw-r--r-- | src/html.cc | 2 | ||||
-rw-r--r-- | src/plain.cc | 4 | ||||
-rw-r--r-- | src/prefs.c | 1 | ||||
-rw-r--r-- | src/prefs.h | 1 | ||||
-rw-r--r-- | src/prefsparser.cc | 7 |
7 files changed, 21 insertions, 3 deletions
@@ -46,6 +46,11 @@ # RENDERING SECTION #------------------------------------------------------------------------- +# Set the background color +# bg_color=gray +# bg_color=0xd6d6c0 +#bg_color=0xdcd1ba + # Default fonts: # # If FLTK2 has been configured with Xft enabled (the default), you can diff --git a/dw/widget.cc b/dw/widget.cc index ded963fc..ee8cb17c 100644 --- a/dw/widget.cc +++ b/dw/widget.cc @@ -337,9 +337,7 @@ style::Color *Widget::getBgColor () widget = widget->parent; } - MSG_WARN("No background color found!\n"); - return NULL; - + return layout->getBgColor (); } diff --git a/src/html.cc b/src/html.cc index c46ec4af..91b8ac99 100644 --- a/src/html.cc +++ b/src/html.cc @@ -1785,6 +1785,8 @@ static void Html_tag_open_body(DilloHtml *html, const char *tag, int tagsize) */ if (!bgColor) bgColor = html->styleEngine->style ()->backgroundColor; + if (!bgColor) + bgColor = style::Color::create (HT2LT(html), prefs.bg_color); HT2LT(html)->setBgColor(bgColor); diff --git a/src/plain.cc b/src/plain.cc index 4da618e4..b5b2dc0a 100644 --- a/src/plain.cc +++ b/src/plain.cc @@ -85,6 +85,8 @@ void a_Plain_free(void *data); */ DilloPlain::DilloPlain(BrowserWindow *p_bw) { + style::Color *bgColor; + /* Init event receiver */ plainReceiver.plain = this; @@ -95,6 +97,8 @@ DilloPlain::DilloPlain(BrowserWindow *p_bw) state = ST_SeekingEol; Layout *layout = (Layout*) bw->render_layout; + bgColor = style::Color::create (layout, prefs.bg_color); + layout->setBgColor(bgColor); StyleEngine styleEngine (layout); styleEngine.startElement ("body"); diff --git a/src/prefs.c b/src/prefs.c index 5514c01a..f968710a 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -36,6 +36,7 @@ DilloPrefs prefs; void a_Prefs_init(void) { prefs.allow_white_bg = TRUE; + prefs.bg_color = 0xdcd1ba; prefs.buffered_drawing = 1; prefs.contrast_visited_color = TRUE; prefs.enterpress_forces_submit = FALSE; diff --git a/src/prefs.h b/src/prefs.h index 684262ed..4009925c 100644 --- a/src/prefs.h +++ b/src/prefs.h @@ -46,6 +46,7 @@ struct _DilloPrefs { DilloUrl *start_page; DilloUrl *home; bool_t allow_white_bg; + int32_t bg_color; bool_t contrast_visited_color; bool_t show_tooltip; int panel_size; diff --git a/src/prefsparser.cc b/src/prefsparser.cc index 78cade0b..95f98c16 100644 --- a/src/prefsparser.cc +++ b/src/prefsparser.cc @@ -16,11 +16,13 @@ #include "prefs.h" #include "misc.h" #include "msg.h" +#include "colors.h" #include "prefsparser.hh" typedef enum { PREFS_BOOL, + PREFS_COLOR, PREFS_STRING, PREFS_URL, PREFS_INT32, @@ -43,10 +45,12 @@ int PrefsParser::parseOption(char *name, char *value) { const SymNode_t *node; uint_t i; + int st; /* Symbol array, sorted alphabetically */ const SymNode_t symbols[] = { { "allow_white_bg", &prefs.allow_white_bg, PREFS_BOOL }, + { "bg_color", &prefs.bg_color, PREFS_COLOR }, { "buffered_drawing", &prefs.buffered_drawing, PREFS_INT32 }, { "contrast_visited_color", &prefs.contrast_visited_color, PREFS_BOOL }, { "enterpress_forces_submit", &prefs.enterpress_forces_submit, @@ -122,6 +126,9 @@ int PrefsParser::parseOption(char *name, char *value) *(bool_t *)node->pref = (!dStrcasecmp(value, "yes") || !dStrcasecmp(value, "true")); break; + case PREFS_COLOR: + *(int32_t *)node->pref = a_Color_parse(value, *(int32_t*)node->pref,&st); + break; case PREFS_STRING: dFree(*(char **)node->pref); *(char **)node->pref = dStrdup(value); |