Added settings dialog with loglevel

This commit is contained in:
2026-07-26 15:01:49 +02:00
parent 3bd6cfb81d
commit 9312ea544b
7 changed files with 324 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
from __future__ import annotations
import logging
from PySide6.QtWidgets import QDialog, QWidget
from bedit_gui.ui.generated.ui_settings_dialog import Ui_Settings
class SettingsDialog(QDialog):
"""Handwritten behavior for the generated settings form."""
LOG_LEVELS = (
logging.DEBUG,
logging.INFO,
logging.WARNING,
logging.ERROR,
)
def __init__(
self,
log_level: int,
parent: QWidget | None = None,
) -> None:
super().__init__(parent)
self.ui = Ui_Settings()
self.ui.setupUi(self)
self.setWindowTitle("Settings")
for index, level in enumerate(self.LOG_LEVELS):
self.ui.logLevel.setItemData(index, level)
selected = self.ui.logLevel.findData(log_level)
self.ui.logLevel.setCurrentIndex(
selected if selected >= 0 else self.LOG_LEVELS.index(logging.INFO)
)
@property
def log_level(self) -> int:
return int(self.ui.logLevel.currentData())