From bd87821c3a1a2ef01e62387357fe7de07952fd5b Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 1 Jan 2016 01:27:22 +0000 Subject: [PATCH] Add 'replace' action to canvas plugin right click menu --- source/carla_host.py | 7 +++++++ source/carla_skin.py | 2 +- source/patchcanvas.py | 28 +++++++++++++++++----------- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/source/carla_host.py b/source/carla_host.py index a82d41a1e..66bb53d2a 100644 --- a/source/carla_host.py +++ b/source/carla_host.py @@ -1938,6 +1938,13 @@ def canvasCallback(action, value1, value2, valueStr): if pwidget is not None: pwidget.showRenameDialog() + elif action == patchcanvas.ACTION_PLUGIN_REPLACE: + pluginId = value1 + pwidget = gCarla.gui.getPluginSlotWidget(pluginId) + + if pwidget is not None: + pwidget.showReplaceDialog() + elif action == patchcanvas.ACTION_PLUGIN_REMOVE: pluginId = value1 diff --git a/source/carla_skin.py b/source/carla_skin.py index b2002543b..deaf3bbdd 100755 --- a/source/carla_skin.py +++ b/source/carla_skin.py @@ -1033,8 +1033,8 @@ class AbstractPluginSlot(QFrame, PluginEditParentMeta): # Other stuff actClone = menu.addAction(self.tr("Clone")) - actReplace = menu.addAction(self.tr("Replace...")) actRename = menu.addAction(self.tr("Rename...")) + actReplace = menu.addAction(self.tr("Replace...")) actRemove = menu.addAction(self.tr("Remove")) if self.fIdleTimerId != 0: diff --git a/source/patchcanvas.py b/source/patchcanvas.py index fd4bbe1fa..09a79bce5 100644 --- a/source/patchcanvas.py +++ b/source/patchcanvas.py @@ -73,8 +73,9 @@ ACTION_PORTS_DISCONNECT = 7 # conn_id, N, N ACTION_PLUGIN_CLONE = 8 # plugin_id, N, N ACTION_PLUGIN_EDIT = 9 # plugin_id, N, N ACTION_PLUGIN_RENAME = 10 # plugin_id, N, N -ACTION_PLUGIN_REMOVE = 11 # plugin_id, N, N -ACTION_PLUGIN_SHOW_UI = 12 # plugin_id, N, N +ACTION_PLUGIN_REPLACE = 11 # plugin_id, N, N +ACTION_PLUGIN_REMOVE = 12 # plugin_id, N, N +ACTION_PLUGIN_SHOW_UI = 13 # plugin_id, N, N # Icon ICON_APPLICATION = 0 @@ -2527,8 +2528,8 @@ class CanvasBox(QGraphicsItem): menu.addMenu(discMenu) act_x_disc_all = menu.addAction("Disconnect &All") act_x_sep1 = menu.addSeparator() - act_x_info = menu.addAction("&Info") - act_x_rename = menu.addAction("&Rename") + act_x_info = menu.addAction("Info") + act_x_rename = menu.addAction("Rename") act_x_sep2 = menu.addSeparator() act_x_split_join = menu.addAction("Join" if self.m_splitted else "Split") @@ -2543,19 +2544,21 @@ class CanvasBox(QGraphicsItem): if self.m_plugin_id >= 0: menu.addSeparator() - act_p_edit = menu.addAction("&Edit") - act_p_ui = menu.addAction("&Show Custom UI") + act_p_edit = menu.addAction("Edit") + act_p_ui = menu.addAction("Show Custom UI") menu.addSeparator() - act_p_clone = menu.addAction("&Clone") - act_p_rename = menu.addAction("&Rename...") - act_p_remove = menu.addAction("Re&move") + act_p_clone = menu.addAction("Clone") + act_p_rename = menu.addAction("Rename...") + act_p_replace = menu.addAction("Replace...") + act_p_remove = menu.addAction("Remove") if not self.m_plugin_ui: act_p_ui.setVisible(False) else: - act_p_edit = act_p_ui = None - act_p_clone = act_p_rename = act_p_remove = None + act_p_edit = act_p_ui = None + act_p_clone = act_p_rename = None + act_p_replace = act_p_remove = None haveIns = haveOuts = False for port in canvas.port_list: @@ -2602,6 +2605,9 @@ class CanvasBox(QGraphicsItem): elif act_selected == act_p_rename: canvas.callback(ACTION_PLUGIN_RENAME, self.m_plugin_id, 0, "") + elif act_selected == act_p_replace: + canvas.callback(ACTION_PLUGIN_REPLACE, self.m_plugin_id, 0, "") + elif act_selected == act_p_remove: canvas.callback(ACTION_PLUGIN_REMOVE, self.m_plugin_id, 0, "")