283375 a9d7681ee7
refactor: moving ui.extends to core
* Settings and Singletons moved
2024-06-20 21:30:21 +08:00

46 lines
1.4 KiB
Python

from PySide6.QtCore import Qt
from PySide6.QtWidgets import QLabel, QPushButton, QWidget
from core.settings import settings
from ui.designer.settings.settingsBaseWidget_ui import Ui_SettingsBaseWidget
from ui.extends.shared.language import LanguageChangeEventFilter
class SettingsBaseWidget(Ui_SettingsBaseWidget, QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.settings = settings
self.languageChangeEventFilter = LanguageChangeEventFilter(self)
self.installEventFilter(self.languageChangeEventFilter)
def setTitle(self, title: str):
self.titleLabel.setText(title)
def insertItem(
self,
prefix: str,
label: QLabel,
valueWidget: QWidget,
resetButton: QPushButton | None = None,
):
row = self.gridLayout.rowCount()
label.setObjectName(f"{prefix}Label")
label.setAlignment(Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignCenter)
self.gridLayout.addWidget(label, row, 0)
valueWidget.setObjectName(f"{prefix}ValueWidget")
self.gridLayout.addWidget(valueWidget, row, 1)
if resetButton:
resetButton.setObjectName(f"{prefix}ResetButton")
self.gridLayout.addWidget(resetButton, row, 2)
def setupUi(self, widget):
super().setupUi(widget)
self.gridLayout.setColumnStretch(1, 1)
def retranslateUi(self, widget):
super().retranslateUi(widget)