From 0e04059f539891e741a4b64d3a7fc41a1ffc2ed7 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Tue, 7 Apr 2020 21:16:07 +0100 Subject: about fetcher: Add about:nscolour.css generated colour stylesheet. --- content/fetchers/about.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'content/fetchers/about.c') diff --git a/content/fetchers/about.c b/content/fetchers/about.c index e553cb43e..02eb79d3e 100644 --- a/content/fetchers/about.c +++ b/content/fetchers/about.c @@ -36,6 +36,7 @@ #include "utils/log.h" #include "testament.h" #include "utils/corestrings.h" +#include "utils/nscolour.h" #include "utils/nsoption.h" #include "utils/utils.h" #include "utils/messages.h" @@ -786,6 +787,51 @@ fetch_about_config_handler_aborted: } +/** + * Handler to generate the nscolours stylesheet + * + * \param ctx The fetcher context. + * \return true if handled false if aborted. + */ +static bool fetch_about_nscolours_handler(struct fetch_about_context *ctx) +{ + nserror res; + const char *stylesheet; + + /* content is going to return ok */ + fetch_set_http_code(ctx->fetchh, 200); + + /* content type */ + if (fetch_about_send_header(ctx, "Content-Type: text/css; charset=utf-8")) { + goto aborted; + } + + res = nscolour_get_stylesheet(&stylesheet); + if (res != NSERROR_OK) { + goto aborted; + } + + res = ssenddataf(ctx, + "html {\n" + "\tbackground-color: #%06x;\n" + "}\n" + "%s", + colour_rb_swap(nscolours[NSCOLOUR_WIN_ODD_BG]), + stylesheet); + if (res != NSERROR_OK) { + goto aborted; + } + + fetch_about_send_finished(ctx); + + return true; + +aborted: + + return false; +} + + /** * Generate the text of a Choices file which represents the current * in use options. -- cgit v1.2.3