From a43d0f06b5e775163ea0aa00abb8bf981d5af12f Mon Sep 17 00:00:00 2001 From: wijnand Date: Thu, 3 May 2018 12:41:59 +0200 Subject: [PATCH] Added select_loader_color action --- .../fusion/inventory/select_loader_color.py | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 colorbleed/plugins/fusion/inventory/select_loader_color.py diff --git a/colorbleed/plugins/fusion/inventory/select_loader_color.py b/colorbleed/plugins/fusion/inventory/select_loader_color.py new file mode 100644 index 0000000000..a3c9cd15f8 --- /dev/null +++ b/colorbleed/plugins/fusion/inventory/select_loader_color.py @@ -0,0 +1,35 @@ +from avalon import api +from avalon.vendor.Qt import QtGui, QtWidgets + +import avalon.fusion + + +class FusionSelectLoaderColor(api.InventoryAction): + + label = "Select Loader Color" + icon = "plus" + color = "#d8d8d8" + + def process(self, containers): + + comp = avalon.fusion.get_current_comp() + + # Get color of selected container + _tool = containers[0]["_tool"] + table = _tool.TileColor + if table: + color = QtGui.QColor.fromRgbF(table["R"], table["G"], table["B"]) + else: + color = QtGui.QColor.fromRgbF(0.0, 0.0, 0.0) + + # Launch pick color + picked_color = QtWidgets.QColorDialog().getColor(color) + with avalon.fusion.comp_lock_and_undo_chunk(comp): + for container in containers: + # Convert color to 0-1 floats + rgb_f = picked_color.getRgbF() + rgb_f_table = {"R": rgb_f[0], "G": rgb_f[1], "B": rgb_f[2]} + + # Update tool + tool = container["_tool"] + tool.TileColor = rgb_f_table