From f6354e7850b234a4cbc9f65141b9a50189d95ae1 Mon Sep 17 00:00:00 2001 From: kijai Date: Mon, 11 Dec 2023 14:26:43 +0200 Subject: [PATCH] Make set/get node automatic coloring optional --- web/js/contextmenu.js | 14 +++++++++++++- web/js/setgetnodes.js | 9 +++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/web/js/contextmenu.js b/web/js/contextmenu.js index 7f5486a..598e0db 100644 --- a/web/js/contextmenu.js +++ b/web/js/contextmenu.js @@ -1,7 +1,7 @@ import { app } from "../../../scripts/app.js"; - +var nodeAutoColor = true // Adds context menu entries, code partly from pyssssscustom-scripts function addMenuHandler(nodeType, cb) { @@ -114,5 +114,17 @@ app.registerExtension({ LiteGraph.middle_click_slot_add_default_node = value; }, }); + app.ui.settings.addSetting({ + id: "KJNodes.nodeAutoColor", + name: "Automatically set node colors", + defaultValue: false, + type: "boolean", + options: (value) => [ + { value: true, text: "On", selected: value === true }, + { value: false, text: "Off", selected: value === false }, + ], + // onChange: (value) => { + // }, + }); } }); diff --git a/web/js/setgetnodes.js b/web/js/setgetnodes.js index 15a898c..4f5e5d9 100644 --- a/web/js/setgetnodes.js +++ b/web/js/setgetnodes.js @@ -25,6 +25,7 @@ function setColorAndBgColor(type) { // Handle the default case if needed } } + app.registerExtension({ name: "SetNode", registerCustomNodes() { @@ -97,7 +98,9 @@ app.registerExtension({ this.inputs[0].type = type; this.inputs[0].name = type; - setColorAndBgColor.call(this, type); + if (app.ui.settings.getSettingValue("KJNodes.nodeAutoColor")){ + setColorAndBgColor.call(this, type); + } } else { alert("Error: Set node input undefined. Most likely you're missing custom nodes"); } @@ -269,7 +272,9 @@ app.registerExtension({ this.setType(linkType); this.title = "Get_" + setter.widgets[0].value; - setColorAndBgColor.call(this, linkType); + if (app.ui.settings.getSettingValue("KJNodes.nodeAutoColor")){ + setColorAndBgColor.call(this, type); + } } else { this.setType('*');