feat: Changed 'expand folder' to 'unpack folder' and fixed pressing TAB on the URL while in compact mode, b=no-bug, c=folders, common, compact-mode

This commit is contained in:
mr. m
2025-08-17 03:56:06 +02:00
parent 129b8efb39
commit bf66df57b1
5 changed files with 27 additions and 54 deletions

View File

@@ -5,8 +5,8 @@ zen-folders-search-placeholder =
zen-folders-panel-rename-folder = zen-folders-panel-rename-folder =
.label = Rename Folder .label = Rename Folder
zen-folders-panel-expand-folder = zen-folders-panel-unpack-folder =
.label = Expand Folder .label = Unpack Folder
zen-folders-panel-delete-folder = zen-folders-panel-delete-folder =
.label = Delete Folder .label = Delete Folder

View File

@@ -35,7 +35,7 @@
<menupopup id="zenFolderActions"> <menupopup id="zenFolderActions">
<menuitem id="context_zenFolderRename" data-l10n-id="zen-folders-panel-rename-folder"/> <menuitem id="context_zenFolderRename" data-l10n-id="zen-folders-panel-rename-folder"/>
<menuitem id="context_zenFolderChangeIcon" data-l10n-id="zen-folders-panel-change-icon-folder"/> <menuitem id="context_zenFolderChangeIcon" data-l10n-id="zen-folders-panel-change-icon-folder"/>
<menuitem id="context_zenFolderExpand" data-l10n-id="zen-folders-panel-expand-folder"/> <menuitem id="context_zenFolderExpand" data-l10n-id="zen-folders-panel-unpack-folder"/>
<menuseparator /> <menuseparator />
<menu id="context_zenChangeFolderSpace" <menu id="context_zenChangeFolderSpace"
data-l10n-id="zen-folders-panel-change-folder-space"> data-l10n-id="zen-folders-panel-change-folder-space">

View File

@@ -4,54 +4,15 @@
{ {
// prettier-ignore // prettier-ignore
const SVG_ICONS = [ const SVG_ICONS = [
"airplane.svg", "airplane.svg", "baseball.svg", "basket.svg", "bed.svg",
"baseball.svg", "bell.svg", "book.svg", "bookmark.svg", "chat.svg", "checkbox.svg",
"basket.svg", "circle.svg", "cloud.svg", "cloud-outline.svg", "code.svg", "coins.svg",
"bed.svg", "cutlery.svg", "egg.svg", "flag.svg", "folder.svg", "globe.svg",
"bell.svg", "globe-1.svg", "grid-2x2.svg", "grid-3x3.svg", "heart.svg", "inbox.svg",
"book.svg", "layers.svg", "lightning.svg", "mail.svg", "map.svg", "moon.svg", "music.svg",
"bookmark.svg", "page.svg", "palette.svg", "paw.svg", "people.svg", "pizza.svg", "planet.svg",
"chat.svg", "present.svg", "shapes.svg", "skull.svg", "square.svg", "squares.svg", "star.svg",
"checkbox.svg", "star-1.svg", "sun.svg", "terminal.svg", "triangle.svg", "video.svg", "weight.svg",
"circle.svg",
"cloud.svg",
"cloud-outline.svg",
"code.svg",
"coins.svg",
"cutlery.svg",
"egg.svg",
"flag.svg",
"folder.svg",
"globe.svg",
"globe-1.svg",
"grid-2x2.svg",
"grid-3x3.svg",
"heart.svg",
"inbox.svg",
"layers.svg",
"lightning.svg",
"mail.svg",
"map.svg",
"moon.svg",
"music.svg",
"page.svg",
"palette.svg",
"paw.svg",
"people.svg",
"pizza.svg",
"planet.svg",
"present.svg",
"shapes.svg",
"skull.svg",
"square.svg",
"squares.svg",
"star.svg",
"star-1.svg",
"sun.svg",
"terminal.svg",
"triangle.svg",
"video.svg",
"weight.svg",
]; ];
class nsZenEmojiPicker extends nsZenDOMOperatedFeature { class nsZenEmojiPicker extends nsZenDOMOperatedFeature {

View File

@@ -148,7 +148,7 @@ var gZenCompactModeManager = {
[ [
{ {
selector: selector:
":is([panelopen='true'], [open='true'], #urlbar:focus-within, [breakout-extend='true']):not(#urlbar[zen-floating-urlbar='true']):not(tab):not(.zen-compact-mode-ignore)", ":is([panelopen='true'], [open='true'], [breakout-extend='true']):not(#urlbar[zen-floating-urlbar='true']):not(tab):not(.zen-compact-mode-ignore)",
}, },
], ],
'zen-compact-mode-active' 'zen-compact-mode-active'

View File

@@ -59,6 +59,10 @@
`<menuitem id="zen-context-menu-new-folder" data-l10n-id="zen-toolbar-context-new-folder"/>` `<menuitem id="zen-context-menu-new-folder" data-l10n-id="zen-toolbar-context-new-folder"/>`
); );
document.getElementById('context_moveTabToGroup').before(contextMenuItems); document.getElementById('context_moveTabToGroup').before(contextMenuItems);
const contextMenuItemsToolbar = window.MozXULElement.parseXULToFragment(
`<menuitem id="zen-context-menu-new-folder-toolbar" data-l10n-id="zen-toolbar-context-new-folder"/>`
);
document.getElementById('toolbar-context-openANewTab').after(contextMenuItemsToolbar);
const folderActionsMenu = document.getElementById('zenFolderActions'); const folderActionsMenu = document.getElementById('zenFolderActions');
folderActionsMenu.addEventListener('popupshowing', (event) => { folderActionsMenu.addEventListener('popupshowing', (event) => {
@@ -172,9 +176,13 @@
window.addEventListener('TabGroupCollapse', this.#onTabGroupCollapse.bind(this)); window.addEventListener('TabGroupCollapse', this.#onTabGroupCollapse.bind(this));
window.addEventListener('FolderGrouped', this.#onFolderGrouped.bind(this)); window.addEventListener('FolderGrouped', this.#onFolderGrouped.bind(this));
window.addEventListener('TabSelect', this.#onTabSelected.bind(this)); window.addEventListener('TabSelect', this.#onTabSelected.bind(this));
const onNewFolder = this.#onNewFolder.bind(this);
document document
.getElementById('zen-context-menu-new-folder') .getElementById('zen-context-menu-new-folder')
.addEventListener('command', this.#onNewFolder.bind(this)); .addEventListener('command', onNewFolder);
document
.getElementById('zen-context-menu-new-folder-toolbar')
.addEventListener('command', onNewFolder);
SessionStore.promiseInitialized.then(() => { SessionStore.promiseInitialized.then(() => {
gBrowser.tabContainer.addEventListener('dragstart', this.cancelPopupTimer.bind(this)); gBrowser.tabContainer.addEventListener('dragstart', this.cancelPopupTimer.bind(this));
}); });
@@ -444,6 +452,7 @@
} }
#onNewFolder(event) { #onNewFolder(event) {
const isFromToolbar = event.target.id === 'zen-context-menu-new-folder-toolbar';
const contextMenu = event.target.parentElement; const contextMenu = event.target.parentElement;
let tabs = []; let tabs = [];
let triggerTab = let triggerTab =
@@ -451,6 +460,9 @@
(contextMenu.triggerNode.tab || contextMenu.triggerNode.closest('tab')); (contextMenu.triggerNode.tab || contextMenu.triggerNode.closest('tab'));
tabs.push(triggerTab, ...gBrowser.selectedTabs); tabs.push(triggerTab, ...gBrowser.selectedTabs);
if (isFromToolbar) {
tabs = [];
}
const group = this.createFolder(tabs, { insertBefore: triggerTab, renameFolder: true }); const group = this.createFolder(tabs, { insertBefore: triggerTab, renameFolder: true });
if (!group) return; if (!group) return;