feat: Added 'add subfolder' context menu item, b=no-bug, c=folders, tabs

This commit is contained in:
Mr. M
2025-08-17 16:18:22 +02:00
parent c779267486
commit bc100ae8e2
6 changed files with 29 additions and 2 deletions

View File

@@ -8,6 +8,9 @@ zen-folders-panel-rename-folder =
zen-folders-panel-unpack-folder =
.label = Unpack Folder
zen-folders-new-subfolder =
.label = New Subfolder
zen-folders-panel-delete-folder =
.label = Delete Folder

View File

@@ -8,7 +8,7 @@
"scripts": {
"build": "surfer build",
"build:ui": "surfer build --ui",
"start": "cd engine && python3 ./mach run --noprofile",
"start": "cd engine && python ./mach run --noprofile",
"import": "npm run ffprefs && surfer import",
"export": "surfer export",
"init": "npm run download && npm run import && npm run bootstrap",

View File

@@ -35,6 +35,8 @@
<menupopup id="zenFolderActions">
<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"/>
<menuseparator />
<menuitem id="context_zenFolderNewSubfolder" data-l10n-id="zen-folders-new-subfolder"/>
<menuitem id="context_zenFolderExpand" data-l10n-id="zen-folders-panel-unpack-folder"/>
<menuseparator />
<menu id="context_zenChangeFolderSpace"

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index e47f735e4e4563c9b7537944628418d1478c068d..858f6aa20bc06701facf75ee673f618464a406ab 100644
index e47f735e4e4563c9b7537944628418d1478c068d..6c26b1ff42c386db52d743cdf0b53ef622eef930 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -332,7 +332,7 @@
@@ -358,6 +358,17 @@ index e47f735e4e4563c9b7537944628418d1478c068d..858f6aa20bc06701facf75ee673f6184
let shiftSizeX = tabWidth * movingTabs.length;
let shiftSizeY = tabHeight;
dragData.tabWidth = tabWidth;
@@ -2430,8 +2490,8 @@
let lastBoundX =
lastTabInRow.screenX +
lastTabInRow.getBoundingClientRect().width -
- (lastMovingTabScreenX + tabWidth);
- let lastBoundY = periphery.screenY - (lastMovingTabScreenY + tabHeight);
+ (lastMovingTabScreenX + tabWidth) + 4;
+ let lastBoundY = 0;
translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX);
translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY);
@@ -2547,7 +2607,7 @@
}

View File

@@ -143,6 +143,14 @@
});
}
createSubfolder() {
gZenFolders.createFolder([], {
renameFolder: true,
label: 'Subfolder',
insertAfter: this.querySelector('.tab-group-container').lastElementChild,
});
}
async expandGroupTabs() {
for (let tab of this.allItems.reverse()) {
tab = tab.group.hasAttribute('split-view-group') ? tab.group : tab;

View File

@@ -127,6 +127,9 @@
case 'context_zenFolderExpand':
this.#lastFolderContextMenu.expandGroupTabs();
break;
case 'context_zenFolderNewSubfolder':
this.#lastFolderContextMenu.createSubfolder();
break;
case 'context_zenFolderDelete':
this.#lastFolderContextMenu.delete();
break;