mirror of
https://github.com/zen-browser/desktop.git
synced 2026-04-21 23:05:47 +00:00
Merge branch 'main' of https://github.com/zen-browser/desktop
This commit is contained in:
6
.github/workflows/windows-alpha-build.yml
vendored
6
.github/workflows/windows-alpha-build.yml
vendored
@@ -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
2
l10n
Submodule l10n updated: 33d46aa0a2...57a77d3dc9
@@ -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
|
||||
|
||||
Submodule src/browser/base/content/zen-components updated: 4d8d109e78...d7715eb754
@@ -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();
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user