Added settings dialog with loglevel
This commit is contained in:
41
src/bedit_gui/views/dialogs/settings_dialog.py
Normal file
41
src/bedit_gui/views/dialogs/settings_dialog.py
Normal 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())
|
||||
Reference in New Issue
Block a user