summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/preferences/fonts.js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2019-12-14 14:37:24 -0500
committerMatt A. Tobin <email@mattatobin.com>2019-12-14 14:37:24 -0500
commit4e34c57467a8d38d593c6fbb7c0d63c3257e99f0 (patch)
treeff5ee62f90cebe34f23f734669e2c526d783caf0 /application/palemoon/components/preferences/fonts.js
parentdacb3da00bd17e69f1a8f1080668808a5f3fe431 (diff)
downloadUXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar.gz
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar.lz
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar.xz
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.zip
Remove Pale Moon from the Unified XUL Platform repository
Development will proceed at https://github.com/MoonchildProductions/Pale-Moon
Diffstat (limited to 'application/palemoon/components/preferences/fonts.js')
-rw-r--r--application/palemoon/components/preferences/fonts.js144
1 files changed, 0 insertions, 144 deletions
diff --git a/application/palemoon/components/preferences/fonts.js b/application/palemoon/components/preferences/fonts.js
deleted file mode 100644
index e9f93a2d1..000000000
--- a/application/palemoon/components/preferences/fonts.js
+++ /dev/null
@@ -1,144 +0,0 @@
-/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// browser.display.languageList LOCK ALL when LOCKED
-
-const kDefaultFontType = "font.default.%LANG%";
-const kFontNameFmtSerif = "font.name.serif.%LANG%";
-const kFontNameFmtSansSerif = "font.name.sans-serif.%LANG%";
-const kFontNameFmtMonospace = "font.name.monospace.%LANG%";
-const kFontNameListFmtSerif = "font.name-list.serif.%LANG%";
-const kFontNameListFmtSansSerif = "font.name-list.sans-serif.%LANG%";
-const kFontNameListFmtMonospace = "font.name-list.monospace.%LANG%";
-const kFontSizeFmtVariable = "font.size.variable.%LANG%";
-const kFontSizeFmtFixed = "font.size.fixed.%LANG%";
-const kFontMinSizeFmt = "font.minimum-size.%LANG%";
-
-var gFontsDialog = {
- _selectLanguageGroup: function (aLanguageGroup)
- {
- var prefs = [{ format: kDefaultFontType, type: "string", element: "defaultFontType", fonttype: null},
- { format: kFontNameFmtSerif, type: "fontname", element: "serif", fonttype: "serif" },
- { format: kFontNameFmtSansSerif, type: "fontname", element: "sans-serif", fonttype: "sans-serif" },
- { format: kFontNameFmtMonospace, type: "fontname", element: "monospace", fonttype: "monospace" },
- { format: kFontNameListFmtSerif, type: "unichar", element: null, fonttype: "serif" },
- { format: kFontNameListFmtSansSerif, type: "unichar", element: null, fonttype: "sans-serif" },
- { format: kFontNameListFmtMonospace, type: "unichar", element: null, fonttype: "monospace" },
- { format: kFontSizeFmtVariable, type: "int", element: "sizeVar", fonttype: null },
- { format: kFontSizeFmtFixed, type: "int", element: "sizeMono", fonttype: null },
- { format: kFontMinSizeFmt, type: "int", element: "minSize", fonttype: null }];
- var preferences = document.getElementById("fontPreferences");
- for (var i = 0; i < prefs.length; ++i) {
- var preference = document.getElementById(prefs[i].format.replace(/%LANG%/, aLanguageGroup));
- if (!preference) {
- preference = document.createElement("preference");
- var name = prefs[i].format.replace(/%LANG%/, aLanguageGroup);
- preference.id = name;
- preference.setAttribute("name", name);
- preference.setAttribute("type", prefs[i].type);
- preferences.appendChild(preference);
- }
-
- if (!prefs[i].element)
- continue;
-
- var element = document.getElementById(prefs[i].element);
- if (element) {
- element.setAttribute("preference", preference.id);
-
- if (prefs[i].fonttype)
- FontBuilder.buildFontList(aLanguageGroup, prefs[i].fonttype, element);
-
- preference.setElementValue(element);
- }
- }
- },
-
- readFontLanguageGroup: function ()
- {
- var languagePref = document.getElementById("font.language.group");
- this._selectLanguageGroup(languagePref.value);
- return undefined;
- },
-
- readFontSelection: function (aElement)
- {
- // Determine the appropriate value to select, for the following cases:
- // - there is no setting
- // - the font selected by the user is no longer present (e.g. deleted from
- // fonts folder)
- var preference = document.getElementById(aElement.getAttribute("preference"));
- if (preference.value) {
- var fontItems = aElement.getElementsByAttribute("value", preference.value);
-
- // There is a setting that actually is in the list. Respect it.
- if (fontItems.length > 0)
- return undefined;
- }
-
- var defaultValue = aElement.firstChild.firstChild.getAttribute("value");
- var languagePref = document.getElementById("font.language.group");
- preference = document.getElementById("font.name-list." + aElement.id + "." + languagePref.value);
- if (!preference || !preference.hasUserValue)
- return defaultValue;
-
- var fontNames = preference.value.split(",");
- var stripWhitespace = /^\s*(.*)\s*$/;
-
- for (var i = 0; i < fontNames.length; ++i) {
- var fontName = fontNames[i].replace(stripWhitespace, "$1");
- fontItems = aElement.getElementsByAttribute("value", fontName);
- if (fontItems.length)
- break;
- }
- if (fontItems.length)
- return fontItems[0].getAttribute("value");
- return defaultValue;
- },
-
- readUseDocumentFonts: function ()
- {
- var preference = document.getElementById("browser.display.use_document_fonts");
- return preference.value == 1;
- },
-
- writeUseDocumentFonts: function ()
- {
- var useDocumentFonts = document.getElementById("useDocumentFonts");
- return useDocumentFonts.checked ? 1 : 0;
- },
-
- onBeforeAccept: function ()
- {
- // Only care in in-content prefs
- if (!window.frameElement) {
- return true;
- }
-
- let preferences = document.querySelectorAll("preference[id*='font.minimum-size']");
- // It would be good if we could avoid touching languages the pref pages won't use, but
- // unfortunately the language group APIs (deducing language groups from language codes)
- // are C++ - only. So we just check all the things the user touched:
- // Don't care about anything up to 24px, or if this value is the same as set previously:
- preferences = Array.filter(preferences, prefEl => {
- return prefEl.value > 24 && prefEl.value != prefEl.valueFromPreferences;
- });
- if (!preferences.length) {
- return;
- }
-
- let strings = document.getElementById("bundlePreferences");
- let title = strings.getString("veryLargeMinimumFontTitle");
- let confirmLabel = strings.getString("acceptVeryLargeMinimumFont");
- let warningMessage = strings.getString("veryLargeMinimumFontWarning");
- let {Services} = Components.utils.import("resource://gre/modules/Services.jsm", {});
- let flags = Services.prompt.BUTTON_POS_1 * Services.prompt.BUTTON_TITLE_CANCEL |
- Services.prompt.BUTTON_POS_0 * Services.prompt.BUTTON_TITLE_IS_STRING |
- Services.prompt.BUTTON_POS_1_DEFAULT;
- let buttonChosen = Services.prompt.confirmEx(window, title, warningMessage, flags, confirmLabel, null, "", "", {});
- return buttonChosen == 0;
- },
-};
-