summaryrefslogtreecommitdiffstats
path: root/src/schemes/about/marquee.c
blob: 1ecbe08116c8efa89137a9d6005b3cf585873c2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
 * about:marquee
 *
 * Copyright (C) 2017  Patrick McDermott
 *
 * This file is part of Marquee.
 *
 * Marquee is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Marquee is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Marquee.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <glib.h>
#include <webkit2/webkit2.h>

#include "../../application.h"
#include "../about.h"
#include "../paths.h"

static const gchar *document =
	"<!doctype html>"
	"<html dir=\"%s\">"
		"<head>"
			"<meta charset=\"utf-8\">"
			"<title>%s</title>"
			"<style>"
				"form {"
					"text-align: center;"
				"}"
				"form > input[type=submit] {"
					"margin: 32px;"
					"padding: 16px;"
					"background-color: #FF0000;"
					"color: #FFFFFF;"
					"font-weight: bold;"
					"font-size: 64px;"
				"}"
			"</style>"
		"</head>"
		"<body>"
			"<form>"
				"<input type=\"submit\" name=\"toggle\""
					"value=\"%s\">"
			"</form>"
		"</body>"
	"</html>";

void
mq_about_marquee_response(MqApplication *application, GHashTable *query,
	WebKitURISchemeRequest *request)
{
	if (query && g_hash_table_lookup(query, "toggle")) {
		if (mq_application_marquee_mode_on(application)) {
			mq_application_marquee_mode_deactivate(application);
		} else {
			mq_application_marquee_mode_activate(application);
		}
		mq_about_redirect(request, "mq-about:marquee");
	} else {
		mq_about_response(request, g_strdup_printf(document,
				gtk_widget_get_default_direction() ==
					GTK_TEXT_DIR_RTL ? "rtl" : "ltr",
				"DANGER", "DO NOT PRESS"));
	}
}