summaryrefslogtreecommitdiffstats
path: root/src/schemes/about/marquee.c
blob: 9b21d6281b57a2acd02968be5529ae4f0247bc9e (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
75
76
/*
 * 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 "paths.h"

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

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

#define 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")));
	}
}