kopia lustrzana https://github.com/c9/core
make ui themes more discoverable
rodzic
e5b4b23008
commit
a79524fa24
|
@ -95,7 +95,7 @@ define(function(require, exports, module) {
|
||||||
var isMinimal = options.minimal;
|
var isMinimal = options.minimal;
|
||||||
var themeLoaded = {};
|
var themeLoaded = {};
|
||||||
var themeCounter = 100;
|
var themeCounter = 100;
|
||||||
var lastTheme, grpSyntax, grpThemes;
|
var lastTheme, grpSyntax, grpThemes, grpUiThemes;
|
||||||
|
|
||||||
var currentTheme;
|
var currentTheme;
|
||||||
var skin = settings.get("user/general/@skin");
|
var skin = settings.get("user/general/@skin");
|
||||||
|
@ -1225,40 +1225,60 @@ define(function(require, exports, module) {
|
||||||
/**** Themes ****/
|
/**** Themes ****/
|
||||||
|
|
||||||
grpThemes = new ui.group();
|
grpThemes = new ui.group();
|
||||||
|
grpUiThemes = new ui.group();
|
||||||
|
|
||||||
menus.addItemByPath("View/Themes/", new ui.menu({
|
menus.addItemByPath("View/Themes/", new ui.menu({
|
||||||
"onprop.visible": function(e) {
|
"onprop.visible": function(e) {
|
||||||
if (e.value)
|
if (e.value) {
|
||||||
grpThemes.setValue(settings.get("user/ace/@theme"));
|
grpThemes.setValue(settings.get("user/ace/@theme"));
|
||||||
|
grpUiThemes.setValue(settings.get("user/general/@skin"));
|
||||||
|
}
|
||||||
|
if (themeMenuShown)
|
||||||
|
return;
|
||||||
|
themeMenuShown = true;
|
||||||
|
// Create Theme Menus
|
||||||
|
menus.addItemByPath("View/Themes/Ui Themes/", null, 0, handle);
|
||||||
|
menus.addItemByPath("View/Themes/~", new ui.divider(), themeCounter += 100, handle);
|
||||||
|
layout.listThemes().forEach(function(theme) {
|
||||||
|
menus.addItemByPath("View/Themes/Ui Themes/" + theme.caption, new ui.item({
|
||||||
|
type: "radio",
|
||||||
|
value: theme.name,
|
||||||
|
group: grpUiThemes,
|
||||||
|
onclick: function(e) {
|
||||||
|
var themeName = e.currentTarget.value;
|
||||||
|
settings.set("user/general/@skin", themeName);
|
||||||
|
}
|
||||||
|
}), 0, handle);
|
||||||
|
});
|
||||||
|
|
||||||
|
for (var name in themes) {
|
||||||
|
if (themes[name] instanceof Array) {
|
||||||
|
|
||||||
|
// Add Menu Item (for submenu)
|
||||||
|
menus.addItemByPath("View/Themes/" + name + "/", null, themeCounter++, handle);
|
||||||
|
|
||||||
|
themes[name].forEach(function (n) {
|
||||||
|
// Add Menu Item
|
||||||
|
var themeprop = Object.keys(n)[0];
|
||||||
|
addThemeMenu(name + "/" + themeprop, n[themeprop], -1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Add Menu Item
|
||||||
|
addThemeMenu(name, null, themeCounter++);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}), 350000, handle);
|
}), 350000, handle);
|
||||||
|
|
||||||
// Create Theme Menus
|
|
||||||
for (var name in themes) {
|
|
||||||
if (themes[name] instanceof Array) {
|
|
||||||
|
|
||||||
// Add Menu Item (for submenu)
|
|
||||||
menus.addItemByPath("View/Themes/" + name + "/", null, themeCounter++, handle);
|
|
||||||
|
|
||||||
themes[name].forEach(function (n) {
|
|
||||||
// Add Menu Item
|
|
||||||
var themeprop = Object.keys(n)[0];
|
|
||||||
addThemeMenu(name + "/" + themeprop, n[themeprop], -1);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Add Menu Item
|
|
||||||
addThemeMenu(name, null, themeCounter++);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**** Syntax ****/
|
/**** Syntax ****/
|
||||||
|
|
||||||
grpSyntax = new ui.group();
|
grpSyntax = new ui.group();
|
||||||
handle.addElement(grpNewline, grpSyntax, grpThemes);
|
handle.addElement(grpNewline, grpSyntax, grpThemes, grpUiThemes);
|
||||||
}
|
}
|
||||||
|
|
||||||
var preview;
|
var preview;
|
||||||
|
var themeMenuShown;
|
||||||
var setMenuThemeDelayed = lang.delayedCall(function() {
|
var setMenuThemeDelayed = lang.delayedCall(function() {
|
||||||
setMenuTheme(preview, true);
|
setMenuTheme(preview, true);
|
||||||
}, 150);
|
}, 150);
|
||||||
|
@ -1266,6 +1286,8 @@ define(function(require, exports, module) {
|
||||||
setTheme(path || settings.get("user/ace/@theme"), isPreview);
|
setTheme(path || settings.get("user/ace/@theme"), isPreview);
|
||||||
}
|
}
|
||||||
function addThemeMenu(name, path, index, plugin) {
|
function addThemeMenu(name, path, index, plugin) {
|
||||||
|
if (!themeMenuShown)
|
||||||
|
return;
|
||||||
menus.addItemByPath("View/Themes/" + name, new ui.item({
|
menus.addItemByPath("View/Themes/" + name, new ui.item({
|
||||||
type: "radio",
|
type: "radio",
|
||||||
value: path || themes[name],
|
value: path || themes[name],
|
||||||
|
|
|
@ -40,36 +40,42 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
layout.addTheme({
|
layout.addTheme({
|
||||||
group: "classic",
|
group: "classic",
|
||||||
color: "#252525;",
|
color: "#252525;",
|
||||||
name: "dark",
|
name: "dark",
|
||||||
|
caption: "Classic Dark",
|
||||||
});
|
});
|
||||||
layout.addTheme({
|
layout.addTheme({
|
||||||
group: "classic",
|
group: "classic",
|
||||||
color: "#3f3f3f;",
|
color: "#3f3f3f;",
|
||||||
name: "dark-gray",
|
name: "dark-gray",
|
||||||
|
caption: "Classic Dark Gray",
|
||||||
});
|
});
|
||||||
layout.addTheme({
|
layout.addTheme({
|
||||||
group: "classic",
|
group: "classic",
|
||||||
color: "#aaa;",
|
color: "#aaa;",
|
||||||
name: "light-gray",
|
name: "light-gray",
|
||||||
hidden: !options.lightClassic,
|
hidden: !options.lightClassic,
|
||||||
|
caption: "Classic Light Gray",
|
||||||
});
|
});
|
||||||
layout.addTheme({
|
layout.addTheme({
|
||||||
group: "classic",
|
group: "classic",
|
||||||
color: "#dcdbdb;",
|
color: "#dcdbdb;",
|
||||||
name: "light",
|
name: "light",
|
||||||
hidden: !options.lightClassic,
|
hidden: !options.lightClassic,
|
||||||
|
caption: "Classic Light",
|
||||||
});
|
});
|
||||||
layout.addTheme({
|
layout.addTheme({
|
||||||
group: "flat",
|
group: "flat",
|
||||||
color: "#252525;",
|
color: "#252525;",
|
||||||
name: "flat-dark",
|
name: "flat-dark",
|
||||||
hidden: !FLATDARK
|
hidden: !FLATDARK,
|
||||||
|
caption: "Flat Dark",
|
||||||
});
|
});
|
||||||
layout.addTheme({
|
layout.addTheme({
|
||||||
group: "flat",
|
group: "flat",
|
||||||
color: "#dcdbdb;",
|
color: "#dcdbdb;",
|
||||||
name: "flat-light",
|
name: "flat-light",
|
||||||
|
caption: "Flat Light",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ define(function(require, exports, module) {
|
||||||
group: "flat",
|
group: "flat",
|
||||||
color: "rgb(41, 58, 86)",
|
color: "rgb(41, 58, 86)",
|
||||||
name: "jett-dark",
|
name: "jett-dark",
|
||||||
|
caption: "Jett Dark",
|
||||||
defaults: {
|
defaults: {
|
||||||
output: {
|
output: {
|
||||||
backgroundColor: "#2b303b",
|
backgroundColor: "#2b303b",
|
||||||
|
|
Ładowanie…
Reference in New Issue