allow using checkboxes to enable plugins

pull/125/merge
nightwing 2017-05-04 00:55:20 +04:00
rodzic c8a81787e3
commit 72dfd83cdc
3 zmienionych plików z 30 dodań i 11 usunięć

Wyświetl plik

@ -137,13 +137,15 @@ function DefaultHandlers(mouseHandler) {
}
this.$clickNode = null;
} else if (dom.hasCssClass(target, "checkbox")) {
var nodes = inSelection && editor.selection.getSelectedNodes();
provider._signal("toggleCheckbox", { target: node, selectedNodes: nodes });
// consider deprecating this
node.isChecked = !node.isChecked;
if (inSelection) {
var nodes = editor.selection.getSelectedNodes();
nodes.forEach(function(n){ n.isChecked = node.isChecked });
if (nodes) {
nodes.forEach(function(n) { n.isChecked = node.isChecked });
}
provider._signal(node.isChecked ? "check" : "uncheck", inSelection ? nodes : [node]);
provider._signal("change")
provider._signal(node.isChecked ? "check" : "uncheck", nodes || [node]);
provider._signal("change");
} else if (dom.hasCssClass(target, "icon-ok")) {
if (ev.getShiftKey()) {
editor.selection.expandSelection(node, null, true);

Wyświetl plik

@ -629,6 +629,16 @@ define(function(require, exports, module) {
showInfo("Path is not available.");
},
}), plugin);
menus.addItemByPath("context/pluginManager/Refresh List", new ui.item({
onclick: function() {
pluginManager.readAvailablePlugins(function(err, available) {
if (err) return console.error(err);
localPlugins = available;
reloadModel();
});
},
}), plugin);
menus.addItemByPath("context/pluginManager/~", new ui.divider({}), plugin);
menus.addItemByPath("context/pluginManager/Disable", new ui.item({
isAvailable: function() {
var selected = datagrid.selection.getCursor();
@ -644,9 +654,17 @@ define(function(require, exports, module) {
onclick: function() { reloadGridSelection(true); },
}), plugin);
menus.addItemByPath("context/pluginManager/Reload", new ui.item({
isAvailable: function() {
var selected = datagrid.selection.getCursor();
return selected;
},
onclick: function() { reloadGridSelection(); },
}), plugin);
treeBar.setAttribute("contextmenu", mnuCtxTree);
model.on("toggleCheckbox", function(e) {
reloadGridSelection(!e.target.enabled, e.selectedNodes || [e.target]);
});
}
@ -861,7 +879,6 @@ define(function(require, exports, module) {
}
}
function updateReloadLastButton() {
var last = getLastReloaded();
if (last) {
@ -880,7 +897,7 @@ define(function(require, exports, module) {
return;
}
}
showInfo("Loaded " + name + " for the duration of current browser session.", 1000);
showInfo("Loaded " + name + " for the duration of current browser session.", 3000);
}
function getLastReloaded() {

Wyświetl plik

@ -1,8 +1,7 @@
/*global requirejs*/
define(function(require, exports, module) {
main.consumes = [
"app", "ext", "c9", "Plugin", "proc", "fs", "tree", "vfs",
"dialog.error", "tree.favorites"
"app", "ext", "c9", "Plugin", "proc", "fs", "vfs", "dialog.error"
];
main.provides = ["pluginManager", "plugin.manager", "plugin.debug"];
return main;
@ -12,13 +11,11 @@ define(function(require, exports, module) {
var c9 = imports.c9;
var fs = imports.fs;
var ext = imports.ext;
var tree = imports.tree;
var proc = imports.proc;
var Plugin = imports.Plugin;
var util = imports.util;
var vfs = imports.vfs;
var showError = imports["dialog.error"].show;
var favs = imports["tree.favorites"];
var architectApp = imports.app;
var join = require("path").join;
@ -125,6 +122,9 @@ define(function(require, exports, module) {
// Remove .tar.gz
fs.unlink(tarPath, function() {
// using this to allow reloading the tree
var tree = architectApp.services["tree"];
var favs = architectApp.services["tree.favorites"];
// Add plugin to favorites
favs.addFavorite(dirname(pluginsDir), "plugins");