diff --git a/src/pyoncatqt/mainwindow.py b/src/pyoncatqt/mainwindow.py index a25153d..80f3cbf 100644 --- a/src/pyoncatqt/mainwindow.py +++ b/src/pyoncatqt/mainwindow.py @@ -10,15 +10,13 @@ class MainWindow(QWidget): """Main widget""" - def __init__(self: QWidget, parent: QWidget) -> None: + def __init__(self: QWidget, key: str = "shiver", parent: QWidget = None) -> None: super().__init__(parent=parent) - self.initUI() - def initUI(self: QWidget) -> None: layout = QVBoxLayout() # Create and add the Oncat widget - self.oncat_widget = ONCatLogin(key="shiver", parent=self) + self.oncat_widget = ONCatLogin(key=key, parent=self) self.oncat_widget.connection_updated.connect(self.update_instrument_lists) layout.addWidget(self.oncat_widget) diff --git a/src/pyoncatqt/pyoncatqt.py b/src/pyoncatqt/pyoncatqt.py index 4c3479c..43aa92c 100644 --- a/src/pyoncatqt/pyoncatqt.py +++ b/src/pyoncatqt/pyoncatqt.py @@ -3,6 +3,7 @@ """ import sys +from typing import Any, Dict from qtpy.QtWidgets import QApplication, QMainWindow @@ -15,16 +16,16 @@ class PyONCatQt(QMainWindow): __instance = None - def __new__(cls: QMainWindow) -> QMainWindow: + def __new__(cls: QMainWindow, **kwargs: Dict[str, Any]) -> QMainWindow: # noqa ARG003 if PyONCatQt.__instance is None: PyONCatQt.__instance = QMainWindow.__new__(cls) return PyONCatQt.__instance - def __init__(self: QMainWindow, parent: QApplication = None) -> None: + def __init__(self: QMainWindow, parent: QApplication = None, **kwargs: Dict[str, Any]) -> None: super().__init__(parent) - + key = kwargs.pop("key", "shiver") self.setWindowTitle(f"PYONCATQT - {__version__}") - self.main_window = MainWindow(self) + self.main_window = MainWindow(key, parent=self) self.setCentralWidget(self.main_window) diff --git a/tests/test_main_window.py b/tests/test_main_window.py index e304120..4bdbb22 100644 --- a/tests/test_main_window.py +++ b/tests/test_main_window.py @@ -6,7 +6,7 @@ def test_update_instrument_lists(qtbot: pytest.fixture) -> None: - main_window = MainWindow(None) + main_window = MainWindow("test", None) qtbot.addWidget(main_window) oncat_widget_mock = MagicMock() diff --git a/tests/test_pyoncatqt_gui.py b/tests/test_pyoncatqt_gui.py index 3f5ab16..3af232f 100644 --- a/tests/test_pyoncatqt_gui.py +++ b/tests/test_pyoncatqt_gui.py @@ -36,7 +36,8 @@ def test_gui(mock_pyoncatqt: mock, mock_qtapp: mock) -> None: def test_PyONCatQt_initialization(qtbot: pytest.fixture) -> None: - pyoncatqt = PyONCatQt() + kwargs = {"key": "test"} + pyoncatqt = PyONCatQt(**kwargs) qtbot.addWidget(pyoncatqt) assert pyoncatqt.windowTitle() == f"PYONCATQT - {__version__}"