feat(zen-pinned-tab-manager): Add pinned tab management functionality

This commit introduces a new feature: pinned tab management. It allows users to pin tabs and define whether to reset pinned tabs on close.

- Adds a new `ZenPinnedTabManager` component to manage pinned tabs.
- Updates `zen-assets.inc.xhtml` and `zen-assets.jar.inc.mn` to include the new component.
- Modifies the `ZenStartup.mjs` file to initialize the new manager.
- Introduces a new preference `zen.pinned-tab-manager.reset-pinned-tab-on-close-shortcut` to control the behavior of pinned tabs on close.
- Updates the settings UI to reflect the new pinned tab management functionality.
- Refactors related preferences from `zen.tab-unloader.*` to `zen.pinned-tab-manager.*`.

This feature enhances Zen's tab management capabilities by providing users with more control over their pinned tabs.
This commit is contained in:
Kristijan Ribarić
2024-10-07 16:58:01 +02:00
parent 43834e57f0
commit 6dcff571d2
6 changed files with 22 additions and 5 deletions

View File

@@ -1021,7 +1021,7 @@ Preferences.addAll([
default: false,
},
{
id: 'zen.tab-unloader.reset-pinned-tab-on-close-shortcut',
id: 'zen.pinned-tab-manager.reset-pinned-tab-on-close-shortcut',
type: 'bool',
default: true,
},

View File

@@ -48,9 +48,6 @@
data-l10n-id="zen-tabs-unloader-enabled"
preference="zen.tab-unloader.enabled"/>
<checkbox id="zenPinnedTabResetOnCloseShortcutEnable"
data-l10n-id="zen-tabs-pinned-reset-close-shortcut-enabled"
preference="zen.tab-unloader.reset-pinned-tab-on-close-shortcut"/>
<label><html:h2 data-l10n-id="zen-tabs-unloader-unload-delay"/></label>
<hbox id="zenTabsUnloadDelayContainer">
@@ -63,6 +60,22 @@
</hbox>
</groupbox>
<hbox id="zenPinnedTabsManagerCategory"
class="subcategory"
hidden="true"
data-category="paneZenTabManagement">
<html:h1 data-l10n-id="pane-zen-pinned-tab-manager-title"/>
</hbox>
<groupbox id="zenPinnedTabsManagerGroup" data-category="paneZenTabManagement" hidden="true" class="highlighting-group">
<label><html:h2 data-l10n-id="zen-pinned-tab-manager-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-pinned-tab-manager-description" />
<checkbox id="zenPinnedTabResetOnCloseShortcutEnable"
data-l10n-id="zen-pinned-tab-manager-reset-close-shortcut-enabled"
preference="zen.pinned-tab-manager.reset-pinned-tab-on-close-shortcut"/>
</groupbox>
</html:template>