summaryrefslogtreecommitdiffstats
path: root/src/about
diff options
context:
space:
mode:
Diffstat (limited to 'src/about')
-rw-r--r--src/about/local.mk4
-rw-r--r--src/about/marquee.c74
-rw-r--r--src/about/paths.h41
-rw-r--r--src/about/preferences.c260
-rw-r--r--src/about/version.c73
5 files changed, 0 insertions, 452 deletions
diff --git a/src/about/local.mk b/src/about/local.mk
deleted file mode 100644
index f2825f4..0000000
--- a/src/about/local.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-marquee_SOURCES += \
- %reldir%/version.c \
- %reldir%/preferences.c \
- %reldir%/marquee.c
diff --git a/src/about/marquee.c b/src/about/marquee.c
deleted file mode 100644
index 8c46f0f..0000000
--- a/src/about/marquee.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 "paths.h"
-#include "../application.h"
-#include "../about.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"));
- }
-}
diff --git a/src/about/paths.h b/src/about/paths.h
deleted file mode 100644
index 2c9c0ad..0000000
--- a/src/about/paths.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * about: URI paths
- *
- * 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/>.
- */
-
-#ifndef MQ_ABOUT_PATHS_H
-#define MQ_ABOUT_PATHS_H
-
-#include <glib.h>
-
-#include "../application.h"
-
-void
-mq_about_version_response(MqApplication *application, GHashTable *query,
- WebKitURISchemeRequest *request);
-
-void
-mq_about_preferences_response(MqApplication *application, GHashTable *query,
- WebKitURISchemeRequest *request);
-
-void
-mq_about_marquee_response(MqApplication *application, GHashTable *query,
- WebKitURISchemeRequest *request);
-
-#endif
diff --git a/src/about/preferences.c b/src/about/preferences.c
deleted file mode 100644
index f68aa8a..0000000
--- a/src/about/preferences.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * about:preferences
- *
- * 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 "paths.h"
-#include "../about.h"
-#include "../application.h"
-#include "../config.h"
-#include "../utils/html.h"
-
-static void
-save_pref(gchar *key, gchar *value, MqConfig *config)
-{
- if (key[0] != '_') {
- mq_config_set(config, key, value);
- }
-}
-
-#define GEN_BOOL(NAME, LABEL) mq_html_input_checkbox(NAME, LABEL, \
- mq_config_get_boolean(config, NAME))
-#define GEN_INT( NAME, LABEL, MIN, STEP, MAX) mq_html_input_number_i( \
- NAME, LABEL, MIN, STEP, MAX, mq_config_get_integer(config, NAME))
-#define GEN_DBL( NAME, LABEL, MIN, STEP, MAX) mq_html_input_number_d( \
- NAME, LABEL, MIN, STEP, MAX, mq_config_get_double(config, NAME))
-#define GEN_STR( NAME, LABEL) mq_html_input_text(NAME, LABEL, \
- mq_config_get_string(config, NAME))
-#define GEN_STRL(NAME, LABEL) mq_html_input_text(NAME, LABEL, \
- mq_config_get_string(config, NAME))
-#define GEN_SLCT(NAME, LABEL, ...) mq_html_input_select(NAME, LABEL, \
- mq_config_get_string(config, NAME), NULL, NULL, __VA_ARGS__, NULL)
-
-static gchar *
-gen_page_general(MqConfig *config)
-{
- return mq_html_container("div",
- mq_html_h3("Web Browsing"),
- GEN_SLCT("tabs.new",
- "New Tab Page",
- "home", "Home Page",
- "blank", "Blank Page"),
- GEN_STR ("tabs.home",
- "Home Page"),
- GEN_BOOL("tabs.background",
- "Open New Tabs in the Background"),
- GEN_BOOL("tabs.warn-on-close",
- "Warn When Closing Multiple Tabs or Windows"),
-
- mq_html_h3("Navigation and Accessibility"),
- GEN_BOOL("navigation.smooth-scrolling",
- "Enable Smooth Scrolling"),
- GEN_BOOL("navigation.tabbing",
- "Enable Tabbing Navigation (Cycling Focus by Tab Key)"),
- GEN_BOOL("navigation.caret",
- "Enable Caret (Text Cursor) Navigation"),
- GEN_BOOL("navigation.spatial",
- "Enable Spatial Navigation Between Elements By Arrow "
- "Keys"),
-
- mq_html_h3("Spell Checking"),
- GEN_BOOL("spell.enable",
- "Enable Spell Checking"),
- GEN_STRL("spell.langs",
- "Spell Checking Languages"),
-
- mq_html_h3("Miscellaneous"),
- GEN_BOOL("display.textarea.resize.enable",
- "Enable Resizable Text Areas"),
- GEN_BOOL("devtools.enable",
- "Enable Developer Tools"),
-
- mq_html_h3("Compatibility"),
- GEN_STR ("compatibility.user-agent",
- "User Agent Identity"),
- GEN_BOOL("compatibility.quirks",
- "Enable Site-Specific Quirks"),
- NULL);
-}
-
-static gchar *
-gen_page_display(MqConfig *config)
-{
- return mq_html_container("div",
- mq_html_h3("Fonts"),
- GEN_STR ("font.family.default",
- "Default Font Family"),
- GEN_STR ("font.family.monospace",
- "Default Monospace Font Family"),
- GEN_STR ("font.family.serif",
- "Default Serif Font Family"),
- GEN_STR ("font.family.sans-serif",
- "Default Sans-serif Font Family"),
- GEN_STR ("font.family.cursive",
- "Cursive Font Family"),
- GEN_STR ("font.family.fantasy",
- "Fantasy Font Family"),
- GEN_STR ("font.family.pictograph",
- "Pictograph Font Family"),
- GEN_INT ("font.size.default",
- "Default Font Size", 5, 1, 72),
- GEN_INT ("font.size.monospace-default",
- "Default Monospace Font Size", 5, 1, 72),
- GEN_INT ("font.size.minimum",
- "Minimum Font Size", 0, 1, 72),
-
- mq_html_h3("Languages"),
- GEN_STRL("intl.accept-languages",
- "Preferred Web Site Languages"),
- GEN_STR ("intl.default-charset",
- "Default Character Set"),
-
- mq_html_h3("Zoom"),
- GEN_DBL ("zoom.default",
- "Default Zoom Level", 0.00, 0.10, 10.00),
- GEN_BOOL("zoom.text-only",
- "Zoom Text Only"),
- NULL);
-}
-
-static gchar *
-gen_page_permissions(MqConfig *config)
-{
- return mq_html_container("div",
- mq_html_h3("General"),
- GEN_BOOL("permissions.images.auto-load",
- "Automatically Load Images"),
- GEN_BOOL("permissions.images.favicons.override",
- "Always Load Icons Irrespective of Automatic Image "
- "Loading"),
- GEN_BOOL("permissions.java.enable",
- "Enable Java"),
- GEN_BOOL("permissions.javascript.enable",
- "Enable JavaScript"),
- GEN_BOOL("permissions.plugins.enable",
- "Enable Plugins"),
-
- mq_html_h3("JavaScript"),
- GEN_BOOL("permissions.javascript.open-windows",
- "Enable JavaScript to Open Windows"),
- GEN_BOOL("permissions.javascript.fullscreen",
- "Enable JavaScript to Display Elements Fullscreen"),
- GEN_BOOL("permissions.javascript.modal-dialogs",
- "Enable JavaScript to Show Modal Dialogs"),
- GEN_BOOL("permissions.javascript.clipboard",
- "Enable JavaScript to Access the Clipboard"),
-
- mq_html_h3("Data Storage"),
- GEN_BOOL("permissions.javascript.database",
- "Enable Web Database"),
- GEN_BOOL("permissions.javascript.storage",
- "Enable Web Storage"),
- GEN_BOOL("permissions.appcache",
- "Enable Application Cache"),
-
- mq_html_h3("Graphics and Multimedia"),
- GEN_BOOL("canvas.acceleration.enable",
- "Enable Hardware-Accelerated 2-D Canvas Drawing"),
- GEN_BOOL("permissions.javascript.webgl",
- "Enable JavaScript WebGL 3-D Graphics Rendering"),
- GEN_BOOL("permissions.javascript.audio",
- "Enable JavaScript to Process and Synthesize Audio"),
- GEN_BOOL("media.autoplay",
- "Enable Automatic Media Playback and Loading"),
- GEN_BOOL("media.force-fullscreen",
- "Force Media to Play Fullscreen"),
- GEN_BOOL("permissions.javascript.mediastream.enable",
- "Enable JavaScript to Access Audio and Video Devices"),
- GEN_BOOL("permissions.javascript.mediasource.enable",
- "Enable JavaScript to Generate Media Streams"),
- NULL);
-}
-
-static gchar *
-gen_page_sec_and_priv(MqConfig *config)
-{
- return mq_html_container("div",
- mq_html_h3("History"),
- GEN_BOOL("privacy.private-browsing.enabled",
- "Enable Private Prowsing (Disables History, Cache, and "
- "Form Auto-Filling)"),
- GEN_BOOL("privacy.remember.history",
- "Remember Browsing History"),
- GEN_BOOL("privacy.remember.downloads",
- "Remember Download History"),
-
- mq_html_h3("Cookies"),
- GEN_SLCT("cookies.accept",
- "Accept Cookies",
- "always", "Always",
- "never", "Never",
- "no-third-party", "No Third-Party"),
-
- mq_html_h3("Security"),
- GEN_BOOL("security.xss-auditor.enable",
- "Attempt to Detect and Block Cross-Site Scripting "
- "Attacks"),
-
- mq_html_h3("Network"),
- GEN_BOOL("dns.prefetch.enable",
- "Prefetch Domain Name Resolutions for Better "
- "Performance"),
- NULL);
-}
-
-#undef GEN_BOOL
-#undef GEN_INT
-#undef GEN_DBL
-#undef GEN_STR
-#undef GEN_STRL
-
-void
-mq_about_preferences_response(MqApplication *application, GHashTable *query,
- WebKitURISchemeRequest *request)
-{
- MqConfig *config;
- gchar *document;
-
- config = mq_application_get_config(application);
-
- if (query) {
- g_hash_table_foreach(query, (GHFunc) save_pref, config);
- mq_config_save(config);
- mq_about_redirect(request, "mq-about:preferences");
- } else {
- document = mq_html_document("Preferences",
- mq_html_form("Save", "Cancel",
- mq_html_notebook(FALSE, "notebook1", 0,
- gen_page_general(config),
- "General",
- gen_page_display(config),
- "Display",
- gen_page_permissions(config),
- "Permissions",
- gen_page_sec_and_priv(config),
- "Security and Privacy",
- NULL),
- NULL),
- NULL);
- mq_about_response(request, document);
- }
-}
diff --git a/src/about/version.c b/src/about/version.c
deleted file mode 100644
index ff6a5cc..0000000
--- a/src/about/version.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * about:version
- *
- * 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/>.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <glib.h>
-#include <webkit2/webkit2.h>
-
-#include "../about.h"
-#include "../application.h"
-#include "../utils/html.h"
-#include "paths.h"
-
-extern const char *PACKAGE_VERSION_GIT;
-
-void
-mq_about_version_response(MqApplication G_GNUC_UNUSED *application,
- GHashTable G_GNUC_UNUSED *query,
- WebKitURISchemeRequest *request)
-{
- gchar *title;
- gchar *document;
-
- title = g_strdup_printf("About %s", PACKAGE_NAME);
- document = mq_html_document(title,
- mq_html_notebook(FALSE, "notebook1", 0,
- mq_html_container("div",
- mq_html_h3(PACKAGE_NAME),
- mq_html_p_free(g_strconcat(PACKAGE_VERSION,
- PACKAGE_VERSION_GIT, NULL)),
- /* TODO: Comments */
- /* TODO: Web site link */
- mq_html_p("Copyright &copy; 2017 "
- "Patrick McDermott"),
- mq_html_p("This program comes with "
- "ABSOLUTELY NO WARRANTY. "
- "See the license text for details."),
- NULL),
- "About",
- mq_html_container("div",
- mq_html_h3("Authors"),
- mq_html_p("Patrick McDermott "
- "&lt;pj@pehjota.net&gt;"),
- NULL),
- "Credits",
- mq_html_input_iframe("mq-about:resources/"
- "gpl-3.0-standalone.html"),
- "License",
- NULL),
- NULL);
- g_free(title);
- mq_about_response(request, document);
-}