Commit graph

543 commits

Author SHA1 Message Date
mr. m 🤙
037547460d
Merge pull request #76 from neurokitti/feature/color-picker-click-spawn
Add the ability to spawn color dots where you click
2024-11-04 00:30:47 +02:00
Bridget Morningstar
3e48abdbe8 feat(theme): add click-to-spawn color dots Allows users to spawn color dots directly where they click. 2024-11-03 16:11:01 -06:00
mr. m 🤙
d0acaff473
Merge pull request #75 from kristijanribaric/fix/prevent-infinite-loop-when-pinning-a-tab
Fix/prevent infinite loop when pinning a tab
2024-11-03 22:09:27 +02:00
Kristijan Ribarić
a82e2c2765 feat: Add group support for pinned tabs
This commit introduces the ability to create groups of pinned tabs, allowing for more organized and hierarchical management of pinned tabs.

Key changes:

- Added `parentUuid` field to `zen_pins` table to represent parent group relationships.
- Implemented `getGroupChildren` function to fetch children of a given group.
- Updated `removePin` function to also remove all children of a group when deleting.
- Modified `getPins` function to sort pins by parent group and then by position.
- Added `isGroup` and `isEssential` fields to `zen_pins` table to represent the type of pinned item.
- Improved database schema with additional indices for performance optimization.
- Removed unused `recordChange` function.
2024-11-03 20:50:59 +01:00
Kristijan Ribarić
a04b5c30b6 feat(zen-components): Remove unnecessary SessionStore dependency
This commit removes the unnecessary dependency on the `SessionStore` in the `ZenPinnedTabManager`.

The `SessionStore.promiseInitialized` was being awaited before refreshing pinned tabs, but this was not necessary. The pinned tab storage is initialized independently and does not rely on the session store.

This change improves the efficiency of the code and reduces the number of dependencies.
2024-11-03 20:31:31 +01:00
Kristijan Ribarić
af5f4f97d7 feat: Separate pinned tab initialization and handling
This commit refactors the `ZenPinnedTabManager` class to separate the initialization of pinned tabs from the handling of pinned tab events.

- **Initialization:** The `initTabs()` method is now responsible for initializing the pinned tab storage, waiting for the session store to be initialized, and then refreshing the pinned tabs.
- **Event handling:** The `init()` method focuses on setting up the event listeners and observers for pinned tabs.

This separation improves the code structure and allows for better handling of pinned tab initialization, which was previously problematic due to the asynchronous nature of the process.

Additionally, this commit includes minor fixes and improvements:

-  Removed the `TabClose` event handler, as it is currently causing issues with the tab deletion process.
-  Added a check to prevent duplicate pinned tab attributes.
-  Improved the way favicons are set for pinned tabs.
2024-11-03 20:31:28 +01:00
mr. M
2adc19bc21
Refactor ZenPinnedTabManager and ZenPinnedTabsStorage initialization 2024-11-03 16:46:22 +01:00
mr. M
9d41110b8b
Refactor ZenPinnedTabManager to improve performance and add TabClose event handling 2024-11-03 13:44:31 +01:00
mr. M
8fce947f5f
Fixed opening glance inside a previous glance window, leaving the background transparent 2024-11-03 12:06:49 +01:00
mr. M
de5f66648a
Refactor code to improve performance 2024-11-03 10:21:53 +01:00
mr. m 🤙
11c3e42c26
Merge pull request #70 from kristijanribaric/feature/pinned-tab-sync-across-windows
Feature: Introduce pinned tab persistence and global/workspace based pinned tabs
2024-11-03 11:05:30 +02:00
mr. M
c83a7aa58a
feat(toolbar): Add Zen Essentials Toolbar
This commit adds the Zen Essentials Toolbar to the application. The toolbar is initialized in the `ZenEssentialsToolbar` class constructor by calling the `_initInitialLayout` method. The toolbar is inserted before the `vertical-pinned-tabs-container` element and consists of a scrollable container (`EssentialsToolbarItems`) for toolbar items. The toolbar also includes event listeners for mouse events and commands.

The commit also includes a code change in the `ZenSidebarManager` class where the `toggleEssentialsAccordion` method has been removed. This method was responsible for expanding and collapsing the `EssentialsToolbarItems` content based on the state of the header element.

These changes enhance the application by adding the Zen Essentials Toolbar and removing the unnecessary `toggleEssentialsAccordion` method.
2024-11-03 02:08:49 +01:00
mr. m 🤙
459880394b
Merge pull request #73 from kristijanribaric/feature/essentials
Feature: Add Zen Essentials Toolbar
2024-11-03 01:48:42 +02:00
Kristijan Ribarić
56999c42ba Fix: Remove accidentally added indents 2024-11-02 21:16:04 +01:00
Kristijan Ribarić
49a83678ba feat(essentials): Add Zen Essentials Toolbar
This commit introduces a new "Zen Essentials" toolbar to the sidebar, providing quick access to frequently used features.

- The toolbar is based on the `PlacesViewBase` class and uses the `PlacesUtils` API to manage bookmarks.
- It includes a dedicated folder for Zen Essentials bookmarks, ensuring they're organized and easily accessible.
- The toolbar's visibility can be controlled by the `zen.essentials.enabled` preference.
- The toolbar supports drag-and-drop functionality for organizing bookmarks.
- The toolbar items are hidden if they are in another workspace.
- The toolbar supports hover interactions, highlighting the active bookmark on mouseover.
- The toolbar items can be opened in a glance by pressing `Ctrl`, `Alt`, `Shift`, or `Meta` depending on the user's preference.
- The bookmark toolbar automatically updates if the workspace changes.
2024-11-02 21:09:02 +01:00
mr. M
f49c256194
Fixed being able to unload splitted tabs 2024-11-02 20:45:07 +01:00
mr. m 🤙
b32f4a3030
Merge pull request #74 from zen-browser/revert-71-tab-unloader-ram-check
Revert "Added ram check"
2024-11-02 21:37:08 +02:00
mr. m 🤙
f077232fd4
Revert "Added ram check" 2024-11-02 20:36:59 +01:00
mr. m 🤙
f5e70a0579
Merge pull request #71 from Max-109/tab-unloader-ram-check
Added ram check
2024-11-02 21:31:15 +02:00
mr. M
92bc72c4ac
Fixed web panels being reloaded when unpining them 2024-11-02 20:15:21 +01:00
mr. M
c6775bae20
Fixed having invalid custom gradient colors 2024-11-02 19:29:15 +01:00
mr. M
0e8a452071
Refactor ZenGlanceManager.mjs to simplify closing of glance and handle quitting application 2024-11-02 19:00:04 +01:00
mr. M
9b4b399c59
Refactor ZenGlanceManager.mjs to simplify closing of glance by removing unnecessary animation option and handle quitting application when closing glance 2024-11-02 18:34:37 +01:00
mr. M
6d542ea79b
Refactor ZenGlanceManager.mjs to simplify closing of glance by removing unnecessary animation option 2024-11-02 17:35:24 +01:00
Max
c8201f1cd2
Delete .idea/modules.xml 2024-11-02 14:17:32 +02:00
Max
8b430368c2
Delete .idea/workspace.xml 2024-11-02 14:17:16 +02:00
Max
05849467c2
Delete .idea/vcs.xml 2024-11-02 14:17:08 +02:00
Max
c25e6d37a2
Delete .idea/components.iml 2024-11-02 14:16:51 +02:00
Max
5c58b1de63
Delete .idea/misc.xml 2024-11-02 14:16:43 +02:00
Max
d73068b377
Delete .idea/caches/deviceStreaming.xml 2024-11-02 14:16:30 +02:00
mr. M
208e147264
Refactor ZenGlanceManager.mjs to handle opening and closing of glance with Escape key 2024-11-01 17:26:50 +01:00
mr. M
76f4f80a75
Fixed closing parent tab on glance 2024-11-01 13:47:01 +01:00
mr. M
3242919033
Improved UI theme colors generation and newtab aligment 2024-11-01 13:07:30 +01:00
mr. M
220c9b42a5
Refactor ZenGlanceManager.mjs to handle quitting application when closing glance 2024-10-31 22:26:35 +01:00
mr. M
458bb54a34
Refactor ZenGlanceManager.mjs to simplify closing of glance by removing unnecessary animation option 2024-10-31 22:25:19 +01:00
mr. M
7112ae0f9e
Refactor ZenGlanceManager.mjs to handle opening and closing of glance with Escape key 2024-10-31 22:24:51 +01:00
mr. M
ec38032192
Refactor ZenGlanceManager.mjs to handle opening and closing of glance with Escape key 2024-10-31 22:18:28 +01:00
rakzoser
34507e469c Added ram check 2024-10-31 23:17:37 +02:00
Kristijan Ribarić
915c9858fe feat: Introduce pinned tab persistence and global/workspace based pinned tabs
This commit introduces pinned tab persistence across sessions and integrates it with workspaces.

- **Pinned Tab Storage:**
    - Implements a database-based storage system for pinned tabs using PlacesUtils.
    - Provides methods for saving, retrieving, deleting, and managing pinned tabs.
    - Tracks changes to pinned tabs for efficient updates.
- **Workspace Integration:**
    - Allows pinned tabs to be associated with specific workspaces.
    - Synchronizes pinned tabs with the active workspace.
    - Ensures that pinned tabs are not inadvertently moved between workspaces.
2024-10-31 19:17:14 +01:00
mr. M
c8ab57a01e
Fixed glance opening on multiple windows (https://github.com/zen-browser/desktop/issues/2444) 2024-10-31 15:50:07 +01:00
mr. M
b8d9d79ccc
Refactor ZenGlanceManager.mjs to destroy current browser when closing glance 2024-10-31 14:26:21 +01:00
mr. M
5e791df74c
Refactor ZenGlanceManager.mjs to prevent default behavior and stop event propagation when Escape key is pressed and there is a current browser 2024-10-30 20:50:43 +01:00
mr. M
6db4adf0f6
Refactor ZenGlanceManager.mjs to close glance only when Escape key is pressed and there is a current browser 2024-10-30 20:49:29 +01:00
mr. M
43be9a44c5
Added escape key for glance 2024-10-30 20:49:01 +01:00
mr. M
078e617cc8
Refactor ZenWorkspaces.mjs to remove unnecessary attribute in workspace creation 2024-10-30 18:18:45 +01:00
mr. M
5d631354e5
Refactor ZenGlanceManager.mjs to remove unnecessary attribute and improve animation handling 2024-10-30 17:16:24 +01:00
mr. M
5daa3ffa53
Refactor ZenGlanceManager.mjs to prevent opening multiple glances when animation is in progress or there is no current browser
Refactor ZenWorkspaces.mjs to update the save dialog with a randomly selected icon
2024-10-30 13:44:29 +01:00
mr. M
5eb4fb0d0d
Refactor ZenGlanceManager.mjs to prevent opening multiple glances 2024-10-30 13:23:59 +01:00
mr. M
16fc60e1f0
Refactor ZenGlanceManager.mjs to improve animation handling and visibility toggling 2024-10-30 13:18:25 +01:00
mr. M
b1b3cb8555
Added expand to fullscreen for glance 2024-10-30 12:45:20 +01:00