This commit is contained in:
Mauro Baladés
2024-09-14 15:25:04 -07:00
7 changed files with 75 additions and 18 deletions

View File

@@ -211,6 +211,12 @@ jobs:
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-${{ inputs.profile-data-path-archive }}
path: ./zen.win64-pgo-stage-1.zip
- name: Remove symlinks from obj folder
if: ${{ !inputs.generate-gpo }}
run: |
set -x
find engine/obj-x86_64-pc-windows-msvc/ -type l -delete
- name: Upload dist object
if: ${{ !inputs.generate-gpo }}
uses: actions/upload-artifact@v4

2
l10n

Submodule l10n updated: 33d46aa0a2...57a77d3dc9

View File

@@ -10,7 +10,7 @@ copy_browser_locales() {
fi
rm -rf $browser_locales/$langId/
# TODO: Copy the rest of the l10n directories to their respective locations
rsync -av --exclude=.git ./l10n/$langId/browser/ $browser_locales/$langId/
rsync -av --exclude=.git ./l10n/$langId/ $browser_locales/$langId/
}
LANG=$1

View File

@@ -100,18 +100,24 @@ var gZenMarketplaceManager = {
},
async disableTheme(themeId) {
let themes = await this._getThemes();
let theme = themes[themeId];
theme.disabled = true;
const themes = await this._getThemes();
const theme = themes[themeId];
theme.enabled = false;
await IOUtils.writeJSON(this.themesDataFile, themes);
this._doNotRebuildThemesList = true;
this.triggerThemeUpdate();
},
async enableTheme(themeId) {
let themes = await this._getThemes();
let theme = themes[themeId];
theme.disabled = false;
const themes = await this._getThemes();
const theme = themes[themeId];
theme.enabled = true;
await IOUtils.writeJSON(this.themesDataFile, themes);
this._doNotRebuildThemesList = true;
this.triggerThemeUpdate();
},
@@ -194,20 +200,26 @@ var gZenMarketplaceManager = {
async _buildThemesList() {
if (!this.themesList) return;
if (this._doNotRebuildThemesList) {
this._doNotRebuildThemesList = false;
return;
}
console.log('ZenThemeMarketplaceParent(settings): Building themes list');
let themes = await this._getThemes();
this.themesList.innerHTML = '';
const browser = this._getBrowser();
const themeList = document.createElement("div");
for (let theme of Object.values(themes)) {
const fragment = window.MozXULElement.parseXULToFragment(`
<vbox class="zenThemeMarketplaceItem" align="center">
<vbox class="zenThemeMarketplaceItemContent" flex="1">
<label><h3 class="zenThemeMarketplaceItemTitle"></h3></label>
<vbox class="zenThemeMarketplaceItem">
<vbox class="zenThemeMarketplaceItemContent">
<hbox flex="1" id="zenThemeMarketplaceItemContentHeader">
<label><h3 class="zenThemeMarketplaceItemTitle"></h3></label>
</hbox>
<description class="description-deemphasized zenThemeMarketplaceItemDescription"></description>
</vbox>
<hbox class="zenThemeMarketplaceItemActions">
@@ -220,6 +232,7 @@ var gZenMarketplaceManager = {
const themeName = `${theme.name} (v${theme.version || '1.0.0'})`;
const base = fragment.querySelector('.zenThemeMarketplaceItem');
const baseHeader = fragment.querySelector('#zenThemeMarketplaceItemContentHeader');
const dialog = document.createElement('dialog');
const mainDialogDiv = document.createElement('div');
@@ -227,6 +240,7 @@ var gZenMarketplaceManager = {
const headerTitle = document.createElement('h3');
const closeButton = document.createElement('button');
const contentDiv = document.createElement('div');
const mozToggle = document.createElement('moz-toggle');
mainDialogDiv.className = 'zenThemeMarketplaceItemPreferenceDialog';
headerDiv.className = 'zenThemeMarketplaceItemPreferenceDialogTopBar';
@@ -236,6 +250,12 @@ var gZenMarketplaceManager = {
closeButton.textContent = 'Close';
contentDiv.id = `${theme.name}-preferences-content`;
contentDiv.className = 'zenThemeMarketplaceItemPreferenceDialogContent';
mozToggle.className = 'zenThemeMarketplaceItemPreferenceToggle';
mozToggle.pressed = theme.enabled;
mozToggle.title = theme.enabled ? 'Disable theme': 'Enable theme';
baseHeader.appendChild(mozToggle);
headerDiv.appendChild(headerTitle);
headerDiv.appendChild(closeButton);
@@ -249,6 +269,18 @@ var gZenMarketplaceManager = {
dialog.close();
});
mozToggle.addEventListener('toggle', async (event) => {
const themeId = event.target.closest('.zenThemeMarketplaceItem')
.querySelector('.zenThemeMarketplaceItemUninstallButton')
.getAttribute('zen-theme-id');
if (!event.target.hasAttribute('pressed')) {
await this.disableTheme(themeId);
} else {
await this.enableTheme(themeId);
}
});
fragment.querySelector('.zenThemeMarketplaceItemTitle').textContent = themeName;
fragment.querySelector('.zenThemeMarketplaceItemDescription').textContent = theme.description;
fragment.querySelector('.zenThemeMarketplaceItemUninstallButton').addEventListener('click', async (event) => {
@@ -263,7 +295,7 @@ var gZenMarketplaceManager = {
dialog.showModal();
});
if (theme.preferences) {
if (theme.enabled && theme.preferences) {
fragment.querySelector('.zenThemeMarketplaceItemConfigureButton').removeAttribute('hidden');
}
@@ -398,8 +430,11 @@ var gZenMarketplaceManager = {
}
contentDiv.appendChild(preferencesWrapper);
}
this.themesList.appendChild(fragment);
themeList.appendChild(fragment);
}
this.themesList.replaceChildren(...themeList.children);
themeList.remove();
},
};

View File

@@ -4,7 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
@namespace html "http://www.w3.org/1999/xhtml";
@namespace html 'http://www.w3.org/1999/xhtml';
:root {
--zen-settings-secondary-background: light-dark(#f2f4f4, color-mix(in srgb, var(--zen-colors-tertiary) 50%, #0f0f0f 50%));
@@ -383,6 +383,10 @@ groupbox h2 {
padding: var(--space-medium);
position: relative;
overflow-x: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.zenThemeMarketplaceItemConfigureButton {
@@ -422,6 +426,7 @@ groupbox h2 {
.zenThemeMarketplaceItemContent {
max-width: 100%;
width: 100%;
}
.zenThemeMarketplaceItemTitle,
@@ -475,6 +480,17 @@ groupbox h2 {
flex-direction: row;
}
#zenThemeMarketplaceItemContentHeader {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
& moz-toggle {
margin-left: 10px;
}
}
/* Disable mozilla's settings */
#dataCollectionCategory,

View File

@@ -18,7 +18,7 @@
"brandShortName": "Zen Browser",
"brandFullName": "Zen Browser",
"release": {
"displayVersion": "1.0.1-a.0",
"displayVersion": "1.0.1-a",
"github": {
"repo": "zen-browser/desktop"
},