sidebar dissaperance

This commit is contained in:
rattatwinko
2025-05-26 17:30:35 +02:00
parent 9ed0b768b8
commit 3c847cee01

View File

@@ -710,15 +710,25 @@ class CollapsibleDock(QDockWidget):
QDockWidget.DockWidgetMovable |
QDockWidget.DockWidgetFloatable)
self.toggle_button = QToolButton(self)
# Create a widget for the title bar that contains both toggle button and close button
title_widget = QWidget()
title_layout = QHBoxLayout(title_widget)
title_layout.setContentsMargins(0, 0, 0, 0)
title_layout.setSpacing(0)
self.toggle_button = QToolButton()
self.toggle_button.setIcon(QIcon.fromTheme("arrow-left"))
self.toggle_button.setIconSize(QSize(16, 16))
self.toggle_button.setStyleSheet("border: none;")
self.toggle_button.clicked.connect(self.toggle_collapse)
self.setTitleBarWidget(self.toggle_button)
title_layout.addWidget(self.toggle_button)
title_layout.addStretch()
self.setTitleBarWidget(title_widget)
self.collapsed = False
self.original_size = None
self.original_minimum_width = None
def toggle_collapse(self):
"""Toggle between collapsed and expanded states"""
@@ -731,7 +741,9 @@ class CollapsibleDock(QDockWidget):
"""Collapse the dock widget"""
if not self.collapsed:
self.original_size = self.size()
self.setFixedWidth(40)
self.original_minimum_width = self.minimumWidth()
self.setMinimumWidth(0)
self.setMaximumWidth(0)
self.toggle_button.setIcon(QIcon.fromTheme("arrow-right"))
self.collapsed = True
@@ -1497,6 +1509,15 @@ class MainWindow(QMainWindow):
load_model_action.triggered.connect(self.load_model_directory)
model_menu.addAction(load_model_action)
# View menu
view_menu = menubar.addMenu('View')
self.toggle_sidebar_action = QAction('Show Sidebar', self)
self.toggle_sidebar_action.setCheckable(True)
self.toggle_sidebar_action.setChecked(True)
self.toggle_sidebar_action.setShortcut('Ctrl+B')
self.toggle_sidebar_action.triggered.connect(self.toggle_sidebar_visibility)
view_menu.addAction(self.toggle_sidebar_action)
# Camera menu
self.camera_menu = menubar.addMenu('Cameras')
@@ -2074,6 +2095,13 @@ class MainWindow(QMainWindow):
except Exception as e:
QMessageBox.warning(self, "Warning", f"Could not open directory: {str(e)}")
def toggle_sidebar_visibility(self):
"""Toggle the visibility of the sidebar"""
if self.toggle_sidebar_action.isChecked():
self.sidebar.expand()
else:
self.sidebar.collapse()
if __name__ == "__main__":
app = QApplication(sys.argv)