mirror of
https://github.com/zen-browser/desktop.git
synced 2025-12-16 03:15:29 +00:00
feat: Added 'add subfolder' context menu item, b=no-bug, c=folders, tabs
This commit is contained in:
@@ -8,6 +8,9 @@ zen-folders-panel-rename-folder =
|
|||||||
zen-folders-panel-unpack-folder =
|
zen-folders-panel-unpack-folder =
|
||||||
.label = Unpack Folder
|
.label = Unpack Folder
|
||||||
|
|
||||||
|
zen-folders-new-subfolder =
|
||||||
|
.label = New Subfolder
|
||||||
|
|
||||||
zen-folders-panel-delete-folder =
|
zen-folders-panel-delete-folder =
|
||||||
.label = Delete Folder
|
.label = Delete Folder
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "surfer build",
|
"build": "surfer build",
|
||||||
"build:ui": "surfer build --ui",
|
"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",
|
"import": "npm run ffprefs && surfer import",
|
||||||
"export": "surfer export",
|
"export": "surfer export",
|
||||||
"init": "npm run download && npm run import && npm run bootstrap",
|
"init": "npm run download && npm run import && npm run bootstrap",
|
||||||
|
|||||||
@@ -35,6 +35,8 @@
|
|||||||
<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"/>
|
||||||
|
<menuseparator />
|
||||||
|
<menuitem id="context_zenFolderNewSubfolder" data-l10n-id="zen-folders-new-subfolder"/>
|
||||||
<menuitem id="context_zenFolderExpand" data-l10n-id="zen-folders-panel-unpack-folder"/>
|
<menuitem id="context_zenFolderExpand" data-l10n-id="zen-folders-panel-unpack-folder"/>
|
||||||
<menuseparator />
|
<menuseparator />
|
||||||
<menu id="context_zenChangeFolderSpace"
|
<menu id="context_zenChangeFolderSpace"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
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
|
--- a/browser/components/tabbrowser/content/tabs.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||||
@@ -332,7 +332,7 @@
|
@@ -332,7 +332,7 @@
|
||||||
@@ -358,6 +358,17 @@ index e47f735e4e4563c9b7537944628418d1478c068d..858f6aa20bc06701facf75ee673f6184
|
|||||||
let shiftSizeX = tabWidth * movingTabs.length;
|
let shiftSizeX = tabWidth * movingTabs.length;
|
||||||
let shiftSizeY = tabHeight;
|
let shiftSizeY = tabHeight;
|
||||||
dragData.tabWidth = tabWidth;
|
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 @@
|
@@ -2547,7 +2607,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -143,6 +143,14 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createSubfolder() {
|
||||||
|
gZenFolders.createFolder([], {
|
||||||
|
renameFolder: true,
|
||||||
|
label: 'Subfolder',
|
||||||
|
insertAfter: this.querySelector('.tab-group-container').lastElementChild,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
async expandGroupTabs() {
|
async expandGroupTabs() {
|
||||||
for (let tab of this.allItems.reverse()) {
|
for (let tab of this.allItems.reverse()) {
|
||||||
tab = tab.group.hasAttribute('split-view-group') ? tab.group : tab;
|
tab = tab.group.hasAttribute('split-view-group') ? tab.group : tab;
|
||||||
|
|||||||
@@ -127,6 +127,9 @@
|
|||||||
case 'context_zenFolderExpand':
|
case 'context_zenFolderExpand':
|
||||||
this.#lastFolderContextMenu.expandGroupTabs();
|
this.#lastFolderContextMenu.expandGroupTabs();
|
||||||
break;
|
break;
|
||||||
|
case 'context_zenFolderNewSubfolder':
|
||||||
|
this.#lastFolderContextMenu.createSubfolder();
|
||||||
|
break;
|
||||||
case 'context_zenFolderDelete':
|
case 'context_zenFolderDelete':
|
||||||
this.#lastFolderContextMenu.delete();
|
this.#lastFolderContextMenu.delete();
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user