mirror of
https://github.com/zen-browser/desktop.git
synced 2026-03-23 17:10:43 +00:00
Started working on workspaces
This commit is contained in:
@@ -144,3 +144,6 @@ pref('zen.sidebar.floating', true);
|
||||
|
||||
// Zen Split View
|
||||
pref('zen.splitView.working', false);
|
||||
|
||||
// Zen Workspaces
|
||||
pref('zen.workspaces.enabled', false);
|
||||
|
||||
@@ -309,13 +309,6 @@ var gZenBrowserManagerSidebar = {
|
||||
titleContainer.textContent = title;
|
||||
}
|
||||
}).bind(this));
|
||||
browser.addEventListener("progress", (function(event) {
|
||||
let browser = event.target;
|
||||
let id = browser.getAttribute("zen-sidebar-id");
|
||||
if (id === this._currentPanel) {
|
||||
titleContainer.textContent = "Loading..."; // l10n later
|
||||
}
|
||||
}).bind(this));
|
||||
return browser;
|
||||
},
|
||||
|
||||
|
||||
63
src/browser/base/content/ZenWorkspaces.mjs
Normal file
63
src/browser/base/content/ZenWorkspaces.mjs
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
var ZenWorkspaces = {
|
||||
async init() {
|
||||
await this.initializeWorkspaces();
|
||||
console.log("ZenWorkspaces initialized");
|
||||
},
|
||||
|
||||
get workspaceEnabled() {
|
||||
return Services.prefs.getBoolPref("zen.workspaces.enabled", false);
|
||||
},
|
||||
|
||||
// Wrorkspaces saving/loading
|
||||
get _storeFile() {
|
||||
return PathUtils.join(
|
||||
PathUtils.profileDir,
|
||||
"zen-workspaces",
|
||||
"Workspaces.json",
|
||||
);
|
||||
},
|
||||
|
||||
async initializeWorkspaces() {
|
||||
let file = new FileUtils.File(this._storeFile);
|
||||
if (!file.exists()) {
|
||||
await IOUtils.writeJSON(this._storeFile, {});
|
||||
}
|
||||
},
|
||||
|
||||
async saveWorkspace(workspaceData, windowID) {
|
||||
let json = await IOUtils.readJSON(this._storeFile);
|
||||
json[windowID] = workspaceData;
|
||||
await IOUtils.writeJSON(this._storeFile, json);
|
||||
},
|
||||
|
||||
async loadWorkspace(windowID) {
|
||||
let json = await IOUtils.readJSON(this._storeFile);
|
||||
return json[windowID];
|
||||
},
|
||||
|
||||
async removeWorkspace(windowID) {
|
||||
let json = await IOUtils.readJSON(this._storeFile);
|
||||
delete json[windowID];
|
||||
await IOUtils.writeJSON(this._storeFile, json);
|
||||
},
|
||||
|
||||
async getWorkspaces() {
|
||||
let json = await IOUtils.readJSON(this._storeFile);
|
||||
return json;
|
||||
},
|
||||
|
||||
async getWorkspace(windowID) {
|
||||
let json = await IOUtils.readJSON(this._storeFile);
|
||||
return json[windowID];
|
||||
},
|
||||
|
||||
// Workspaces management
|
||||
|
||||
async saveCurrentWorkspace(windowID) {
|
||||
let workspaceData = this._createWorkspaceData(windowID);
|
||||
await this.saveWorkspace(workspaceData, windowID);
|
||||
},
|
||||
};
|
||||
|
||||
ZenWorkspaces.init();
|
||||
@@ -10,7 +10,6 @@ var ZenProfileDialogUI = {
|
||||
_updateProfilesList() {
|
||||
let parentList = document.getElementById('PanelUI-zen-profiles-list');
|
||||
this._emptyUserList(parentList);
|
||||
console.log(ProfileService.profiles)
|
||||
if (this._getProfilesSize(ProfileService.profiles) <= 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("DOMContentLoaded", () => {
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/ZenWorkspaces.mjs");
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/ZenSidebarManager.mjs");
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/ZenViewSplitter.mjs");
|
||||
}, { once: true });
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
|
||||
content/browser/ZenSidebarManager.mjs (content/ZenSidebarManager.mjs)
|
||||
content/browser/ZenViewSplitter.mjs (content/ZenViewSplitter.mjs)
|
||||
content/browser/ZenWorkspaces.mjs (content/ZenWorkspaces.mjs)
|
||||
|
||||
Reference in New Issue
Block a user