31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
from PyQt6.QtWidgets import QScrollArea, QWidget, QHBoxLayout
|
|
from PyQt6.QtCore import Qt
|
|
from app.ui.widgets.grid_widget import GridWidget
|
|
from app.core.main_manager import MainManager, NotificationType
|
|
from typing import Optional
|
|
|
|
class EditingWindow(QWidget):
|
|
def __init__(self, parent: Optional[QWidget] = None) -> None:
|
|
super().__init__(parent)
|
|
self.main_manager: MainManager = MainManager.get_instance()
|
|
self.language_manager = self.main_manager.get_language_manager()
|
|
self.settings_manager = self.main_manager.get_settings_manager()
|
|
self.theme_manager = self.main_manager.get_theme_manager()
|
|
|
|
self.observer_manager = self.main_manager.get_observer_manager()
|
|
self.observer_manager.subscribe(NotificationType.LANGUAGE, self.update_language)
|
|
|
|
self.setup_ui()
|
|
|
|
def setup_ui(self) -> None:
|
|
layout = QHBoxLayout(self)
|
|
scroll_area = QScrollArea(self)
|
|
scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
|
scroll_area.setWidgetResizable(True)
|
|
grid_widget = GridWidget(parent=self)
|
|
scroll_area.setWidget(grid_widget)
|
|
layout.addWidget(scroll_area)
|
|
|
|
|
|
def update_language(self) -> None:
|
|
return |