fix window settings support

pull/402/head
nightwing 2017-03-05 18:54:23 +00:00
rodzic e85877568d
commit 73d46031f9
3 zmienionych plików z 25 dodań i 20 usunięć

Wyświetl plik

@ -177,7 +177,7 @@ define(function(require, exports, module) {
if (!node) return;
// Get XML string
var json = util.stableStringify(node, 0, " ");
var json = util.stableStringify(node, null, type == "state" ? "" : 4);
if (cache[type] == json) return; // Ignore if same as cache
// Set Cache
@ -192,7 +192,7 @@ define(function(require, exports, module) {
// Detect whether we're in standalone mode
var standalone = !options.hosted;
if (standalone || type == "project") {
if (standalone || type == "project" || skipCloud[type]) {
fs.writeFile(PATH[type], json, forceSync, function(err) {});
if (standalone && !saveToCloud[type] || skipCloud[type])
@ -237,7 +237,7 @@ define(function(require, exports, module) {
});
}
if (!c9.debug) {
if (!c9.debug && !testing) {
try {
emit("read", {
model: model,
@ -245,6 +245,8 @@ define(function(require, exports, module) {
reset: isReset
});
} catch (e) {
console.error("Error loading settings, reseting to defaults");
console.error(e);
fs.writeFile(PATH.project
+ ".broken", JSON.stringify(json), function() {});

Wyświetl plik

@ -61,7 +61,7 @@ define(function(require, exports, module) {
}, plugin);
plugin.on("newListener", function(type, listener) {
if (type == "eachTheme")
if (type == "eachTheme" && plugin.hasTheme)
listener({});
}, plugin);
@ -127,8 +127,6 @@ define(function(require, exports, module) {
window.addEventListener("resize", resize, false);
window.addEventListener("focus", resize, false);
setGeckoMask();
plugin.addOther(function() {
window.removeEventListener("resize", resize, false);
window.removeEventListener("focus", resize, false);
@ -181,9 +179,10 @@ define(function(require, exports, module) {
changeTheme();
}
function changeTheme() {
if (!oldTheme) return;
emit("eachTheme", { changed: true });
setGeckoMask();
if (!oldTheme) return;
var auto = emit("themeChange", {
theme: theme,
@ -191,8 +190,6 @@ define(function(require, exports, module) {
type: type
}) !== false;
setGeckoMask();
if (noquestion) return;
if (auto)
@ -593,6 +590,10 @@ define(function(require, exports, module) {
get theme() {
return theme;
},
get hasTheme() {
return !ui.packedThemes || !!removeTheme
},
/**
* Returns an AMLElement that can server as a parent.

Wyświetl plik

@ -273,20 +273,22 @@ define(function(require, exports, module) {
layout.on("themeChange", function(e) {
setSettings();
var skin = e.oldTheme;
if (!(settings.get("user/terminal/@backgroundColor") == defaults[skin][0] &&
settings.get("user/terminal/@foregroundColor") == defaults[skin][1] &&
settings.get("user/terminal/@selectionColor") == defaults[skin][2] &&
settings.get("user/terminal/@antialiasedfonts") == defaults[skin][3]))
var colors = defaults[e.oldTheme];
if (!colors) return;
if (!(settings.get("user/terminal/@backgroundColor") == colors[0] &&
settings.get("user/terminal/@foregroundColor") == colors[1] &&
settings.get("user/terminal/@selectionColor") == colors[2] &&
settings.get("user/terminal/@antialiasedfonts") == colors[3]))
return false;
});
layout.on("themeDefaults", function(e) {
var skin = e.theme;
settings.set("user/terminal/@backgroundColor", defaults[skin][0]);
settings.set("user/terminal/@foregroundColor", defaults[skin][1]);
settings.set("user/terminal/@selectionColor", defaults[skin][2]);
settings.set("user/terminal/@antialiasedfonts", defaults[skin][3]);
var colors = defaults[e.theme];
if (!colors) return;
settings.set("user/terminal/@backgroundColor", colors[0]);
settings.set("user/terminal/@foregroundColor", colors[1]);
settings.set("user/terminal/@selectionColor", colors[2]);
settings.set("user/terminal/@antialiasedfonts", colors[3]);
}, handle);
// Settings UI