diff --git a/resources/ui/carla_host.ui b/resources/ui/carla_host.ui
index b6d2f1f49..ee7d2fdb1 100644
--- a/resources/ui/carla_host.ui
+++ b/resources/ui/carla_host.ui
@@ -185,6 +185,9 @@
+
+
+
@@ -821,6 +824,16 @@
&Refresh
+
+
+ Compact Slots
+
+
+
+
+ Expand Slots
+
+
diff --git a/source/carla_host.py b/source/carla_host.py
index 3771d6eb2..3248c1440 100644
--- a/source/carla_host.py
+++ b/source/carla_host.py
@@ -358,6 +358,8 @@ class HostWindow(QMainWindow):
self.ui.act_plugins_wet100.triggered.connect(self.slot_pluginsWet100)
self.ui.act_plugins_bypass.triggered.connect(self.slot_pluginsBypass)
self.ui.act_plugins_center.triggered.connect(self.slot_pluginsCenter)
+ self.ui.act_plugins_compact.triggered.connect(self.slot_pluginsCompact)
+ self.ui.act_plugins_expand.triggered.connect(self.slot_pluginsExpand)
self.ui.act_plugins_panic.triggered.connect(self.slot_pluginsDisable)
self.ui.act_canvas_show_internal.triggered.connect(self.slot_canvasShowInternal)
@@ -856,6 +858,20 @@ class HostWindow(QMainWindow):
pitem.getWidget().setInternalParameter(PARAMETER_BALANCE_RIGHT, 1.0)
pitem.getWidget().setInternalParameter(PARAMETER_PANNING, 0.0)
+ @pyqtSlot()
+ def slot_pluginsCompact(self):
+ for pitem in self.fPluginList:
+ if pitem is None:
+ break
+ pitem.compact()
+
+ @pyqtSlot()
+ def slot_pluginsExpand(self):
+ for pitem in self.fPluginList:
+ if pitem is None:
+ break
+ pitem.expand()
+
# --------------------------------------------------------------------------------------------------------
# Plugins (host callbacks)
diff --git a/source/widgets/racklistwidget.py b/source/widgets/racklistwidget.py
index 35bd413cc..12cf9a157 100644
--- a/source/widgets/racklistwidget.py
+++ b/source/widgets/racklistwidget.py
@@ -145,6 +145,16 @@ class RackListItem(QListWidgetItem):
# --------------------------------------------------------------------------------------------------------
+ def compact(self):
+ if self.fOptions['compact']:
+ return
+ self.recreateWidget(True)
+
+ def expand(self):
+ if not self.fOptions['compact']:
+ return
+ self.recreateWidget(True)
+
def recreateWidget(self, invertCompactOption = False, firstInit = False):
if invertCompactOption:
self.fOptions['compact'] = not self.fOptions['compact']