From b60935b5861ebcf02a02ab4ffc9bad39661e08ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Wed, 22 Dec 2021 15:54:21 +0100 Subject: [PATCH] new about menu --- assets/patches.txt | 1 - patches/about-dialog.patch | 12 -- themes/browser/base/content/aboutDialog.css | 55 ++++++++ themes/browser/base/content/aboutDialog.js | 124 ++++++++++++++++++ themes/browser/base/content/aboutDialog.xhtml | 56 ++++++++ .../librewolf/content/about-background.png | Bin 39974 -> 0 bytes .../branding/librewolf/content/about-logo.png | Bin 272 -> 0 bytes .../librewolf/content/about-wordmark.svg | 22 ---- .../branding/librewolf/content/about.png | Bin 6139 -> 0 bytes .../librewolf/content/aboutDialog.css | 56 -------- .../browser/branding/librewolf/content/jar.mn | 6 +- .../branding/librewolf/content/logo.svg | 90 +++++++++++++ 12 files changed, 326 insertions(+), 96 deletions(-) delete mode 100644 patches/about-dialog.patch create mode 100644 themes/browser/base/content/aboutDialog.css create mode 100644 themes/browser/base/content/aboutDialog.js create mode 100644 themes/browser/base/content/aboutDialog.xhtml delete mode 100644 themes/browser/branding/librewolf/content/about-background.png delete mode 100644 themes/browser/branding/librewolf/content/about-logo.png delete mode 100644 themes/browser/branding/librewolf/content/about-wordmark.svg delete mode 100644 themes/browser/branding/librewolf/content/about.png delete mode 100644 themes/browser/branding/librewolf/content/aboutDialog.css create mode 100644 themes/browser/branding/librewolf/content/logo.svg diff --git a/assets/patches.txt b/assets/patches.txt index 428759f..c66e8e9 100644 --- a/assets/patches.txt +++ b/assets/patches.txt @@ -1,4 +1,3 @@ -patches/about-dialog.patch patches/allow-ubo-private-mode.patch patches/context-menu.patch patches/megabar.patch diff --git a/patches/about-dialog.patch b/patches/about-dialog.patch deleted file mode 100644 index 556d7b5..0000000 --- a/patches/about-dialog.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml ---- a/browser/base/content/aboutDialog.xhtml -+++ b/browser/base/content/aboutDialog.xhtml -@@ -147,7 +147,7 @@ - - - -- - diff --git a/themes/browser/base/content/aboutDialog.css b/themes/browser/base/content/aboutDialog.css new file mode 100644 index 0000000..b79d5b3 --- /dev/null +++ b/themes/browser/base/content/aboutDialog.css @@ -0,0 +1,55 @@ +/* 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/. */ + +#aboutDialog { + border-bottom: #00acff 2px solid; +} + +#grid { + display: flex; + justify-content: center; + align-items: center; + padding: 10px; + height: 250px; + min-width: 400px; + transform: translateY(calc(50vh - 50%)); +} + +#left { + width: 150px; + flex-shrink: 0.5; + height: 150px; + margin: 25px; + background-image: url("chrome://branding/content/logo.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} + +#right { + width: 300px; + flex-shrink: 1; + display: flex; + flex-direction: column; + align-items: flex-start; +} + +#wordmark { + color: #00acff; + font-size: 30px; + font-weight: bold; + line-height: 1em; +} + +#version { + font-weight: bold; + margin-bottom: 4px; + user-select: text; + -moz-user-focus: normal; + cursor: text; +} + +#aboutText { + margin-top: 4px; +} diff --git a/themes/browser/base/content/aboutDialog.js b/themes/browser/base/content/aboutDialog.js new file mode 100644 index 0000000..bad9f10 --- /dev/null +++ b/themes/browser/base/content/aboutDialog.js @@ -0,0 +1,124 @@ +/* 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/. */ + + "use strict"; + + /* import-globals-from aboutDialog-appUpdater.js */ + + // Services = object with smart getters for common XPCOM services + var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); + var { AppConstants } = ChromeUtils.import( + "resource://gre/modules/AppConstants.jsm" + ); + if (AppConstants.MOZ_UPDATER) { + Services.scriptloader.loadSubScript( + "chrome://browser/content/aboutDialog-appUpdater.js", + this + ); + } + + async function init(aEvent) { + if (aEvent.target != document) { + return; + } + + var distroId = Services.prefs.getCharPref("distribution.id", ""); + if (distroId) { + var distroAbout = Services.prefs.getStringPref("distribution.about", ""); + // If there is about text, we always show it. + if (distroAbout) { + var distroField = document.getElementById("distribution"); + distroField.value = distroAbout; + distroField.style.display = "block"; + } + // If it's not a mozilla distribution, show the rest, + // unless about text exists, then we always show. + if (!distroId.startsWith("mozilla-") || distroAbout) { + var distroVersion = Services.prefs.getCharPref( + "distribution.version", + "" + ); + if (distroVersion) { + distroId += " - " + distroVersion; + } + + var distroIdField = document.getElementById("distributionId"); + distroIdField.value = distroId; + distroIdField.style.display = "block"; + } + } + + // Include the build ID and display warning if this is an "a#" (nightly or aurora) build + let versionId = "aboutDialog-version"; + let versionAttributes = { + version: AppConstants.MOZ_APP_VERSION_DISPLAY, + bits: Services.appinfo.is64Bit ? 64 : 32, + }; + + let version = Services.appinfo.version; + if (/a\d+$/.test(version)) { + versionId = "aboutDialog-version-nightly"; + let buildID = Services.appinfo.appBuildID; + let year = buildID.slice(0, 4); + let month = buildID.slice(4, 6); + let day = buildID.slice(6, 8); + versionAttributes.isodate = `${year}-${month}-${day}`; + + document.getElementById("experimental").hidden = false; + document.getElementById("communityDesc").hidden = true; + } + + // Use Fluent arguments for append version and the architecture of the build + let versionField = document.getElementById("version"); + + document.l10n.setAttributes(versionField, versionId, versionAttributes); + + await document.l10n.translateElements([versionField]); + + // Show a release notes link if we have a URL. + let relNotesLink = document.getElementById("releasenotes"); + let relNotesPrefType = Services.prefs.getPrefType( + "app.releaseNotesURL.aboutDialog" + ); + if (relNotesPrefType != Services.prefs.PREF_INVALID) { + let relNotesURL = Services.urlFormatter.formatURLPref( + "app.releaseNotesURL.aboutDialog" + ); + if (relNotesURL != "about:blank") { + relNotesLink.href = relNotesURL; + relNotesLink.hidden = false; + } + } + + if (AppConstants.MOZ_UPDATER) { + gAppUpdater = new appUpdater({ buttonAutoFocus: true }); + + let channelLabel = document.getElementById("currentChannel"); + let currentChannelText = document.getElementById("currentChannelText"); + channelLabel.value = UpdateUtils.UpdateChannel; + let hasWinPackageId = false; + try { + hasWinPackageId = Services.sysinfo.getProperty("hasWinPackageId"); + } catch (_ex) { + // The hasWinPackageId property doesn't exist; assume it should be false. + } + if (/^release($|\-)/.test(channelLabel.value) || hasWinPackageId) { + currentChannelText.hidden = true; + } + } + + if (AppConstants.IS_ESR) { + document.getElementById("release").hidden = false; + } + + window.sizeToContent(); + + if (AppConstants.platform == "macosx") { + window.moveTo( + screen.availWidth / 2 - window.outerWidth / 2, + screen.availHeight / 5 + ); + } + } + \ No newline at end of file diff --git a/themes/browser/base/content/aboutDialog.xhtml b/themes/browser/base/content/aboutDialog.xhtml new file mode 100644 index 0000000..3d03f46 --- /dev/null +++ b/themes/browser/base/content/aboutDialog.xhtml @@ -0,0 +1,56 @@ + + +# 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/. + + + + + + +#ifdef XP_MACOSX +#include macWindow.inc.xhtml +#else +