#!/usr/bin/python3 from PyQt6.QtCore import Qt from PyQt6.QtGui import QIcon from PyQt6.QtWidgets import QMainWindow, QMenu from .track_control import TrackControl from .settings import Settings from .process.process_dock import ProcessDock from .track_info import TrackInfo class MainWindow(QMainWindow): def __init__(self, app, parent=None): super().__init__(parent) self.app = app self.icon = QIcon(f"{self.app.utils.wobuzz_location}/icon.svg") self.setWindowTitle("Wobuzz") self.setWindowIcon(self.icon) self.menu_bar = self.menuBar() self.file_menu = QMenu("&File", self.menu_bar) self.menu_bar.addMenu(self.file_menu) self.edit_menu = QMenu("&Edit", self.menu_bar) self.menu_bar.addMenu(self.edit_menu) self.settings_action = self.edit_menu.addAction("&Settings") self.view_menu = QMenu("&View", self.menu_bar) self.menu_bar.addMenu(self.view_menu) self.processes_action = self.view_menu.addAction("Show &Background Processes") self.track_control = TrackControl(app) self.addToolBar(self.track_control) self.settings = Settings(app) self.settings.hide() self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, self.settings) self.process_dock = ProcessDock(app) self.process_dock.hide() self.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.process_dock) self.track_info = TrackInfo(app) self.addToolBar(Qt.ToolBarArea.BottomToolBarArea, self.track_info) self.settings_action.triggered.connect(self.settings.show) self.processes_action.triggered.connect(self.process_dock.show)