Added "library_path" setting, added a gui for the settings, changed the window layout and did a bunch of other things.

This commit is contained in:
The Wobbler 2024-12-24 12:13:24 +01:00
parent 259ec72442
commit 6498f43d5f
10 changed files with 124 additions and 37 deletions

View file

@ -15,6 +15,11 @@ class LibraryDock(QDockWidget):
Qt.DockWidgetArea.BottomDockWidgetArea
)
self.setFeatures(
QDockWidget.DockWidgetFeature.DockWidgetMovable |
QDockWidget.DockWidgetFeature.DockWidgetFloatable
)
self.library = Library(self)
self.setWidget(self.library)

View file

@ -1,21 +0,0 @@
#!/usr/bin/python3
from PyQt6.QtWidgets import QWidget, QGridLayout, QSizePolicy
from .track_control import TrackControl
from .lines import HLine
class MainContainer(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.layout = QGridLayout()
self.setLayout(self.layout)
self.track_control = TrackControl(self)
self.layout.addWidget(self.track_control)
self.layout.addWidget(HLine(self)) # track_control separator line
self.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)

View file

@ -1,9 +1,10 @@
#!/usr/bin/python3
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QMainWindow, QMenu, QDockWidget
from .main_container import MainContainer
from PyQt6.QtWidgets import QMainWindow, QMenu
from .track_control import TrackControl
from .library_dock import LibraryDock
from .settings.settings import Settings
class MainWindow(QMainWindow):
@ -13,16 +14,23 @@ class MainWindow(QMainWindow):
self.setWindowTitle("WoBuzz")
self.menu_bar = self.menuBar()
self.menu_bar.addMenu(QMenu("&File", self))
self.main_container = MainContainer(self)
self.setCentralWidget(self.main_container)
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.track_control = TrackControl()
self.addToolBar(self.track_control)
self.settings = Settings()
self.settings.hide()
self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, self.settings)
self.library_dock = LibraryDock()
self.library_dock.setFeatures(
QDockWidget.DockWidgetFeature.DockWidgetMovable |
QDockWidget.DockWidgetFeature.DockWidgetFloatable
)
self.addDockWidget(Qt.DockWidgetArea.BottomDockWidgetArea, self.library_dock)
self.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.library_dock)

View file

@ -0,0 +1,15 @@
#!/usr/bin/python3
from PyQt6.QtWidgets import QWidget, QLineEdit, QFormLayout
class FileSettings(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.layout = QFormLayout(self)
self.setLayout(self.layout)
self.library_path_input = QLineEdit(self)
self.layout.addRow("Library Path:", self.library_path_input)

View file

@ -0,0 +1,26 @@
#!/usr/bin/python3
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QDockWidget, QTabWidget
from .file import FileSettings
class Settings(QDockWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setAllowedAreas(
Qt.DockWidgetArea.LeftDockWidgetArea |
Qt.DockWidgetArea.RightDockWidgetArea |
Qt.DockWidgetArea.BottomDockWidgetArea
)
self.setWindowTitle("Settings")
self.tabs = QTabWidget()
self.file_settings = FileSettings()
self.tabs.addTab(self.file_settings, "Files")
self.setWidget(self.tabs)