diff --git a/source/carla_host.py b/source/carla_host.py index 552e1f353..a63c69127 100644 --- a/source/carla_host.py +++ b/source/carla_host.py @@ -1968,6 +1968,12 @@ def canvasCallback(action, value1, value2, valueStr): host.show_custom_ui(pluginId, True) + # FIXME + pwidget = gCarla.gui.getPluginSlotWidget(pluginId) + + if pwidget is not None and pwidget.b_gui is not None: + pwidget.b_gui.setChecked(True) + # ------------------------------------------------------------------------------------------------------------ # Engine callback diff --git a/source/widgets/racklistwidget.py b/source/widgets/racklistwidget.py index b8809882e..3b75a9dc4 100644 --- a/source/widgets/racklistwidget.py +++ b/source/widgets/racklistwidget.py @@ -149,11 +149,19 @@ class RackListItem(QListWidgetItem): if invertCompactOption: self.fOptions['compact'] = not self.fOptions['compact'] + wasGuiShown = None + + if self.fWidget is not None and self.fWidget.b_gui is not None: + wasGuiShown = self.fWidget.b_gui.isChecked() + self.close() self.fWidget = createPluginSlot(self.fParent, self.host, self.fPluginId, self.fOptions) self.fWidget.setFixedHeight(self.fWidget.getFixedHeight()) + if wasGuiShown == True and self.fWidget.b_gui is not None: + self.fWidget.b_gui.setChecked(True) + self.setSizeHint(QSize(self.kMinimumWidth, self.fWidget.getFixedHeight())) self.fParent.setItemWidget(self, self.fWidget)