LCOV - code coverage report
Current view: top level - src/pairinteraction_gui/qobjects - events.py (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 14 14
Test Date: 2026-11-02 09:44:19 Functions: 100.0 % 2 2

            Line data    Source code
       1              : # SPDX-FileCopyrightText: 2025 PairInteraction Developers
       2              : # SPDX-License-Identifier: LGPL-3.0-or-later
       3            1 : from __future__ import annotations
       4              : 
       5            1 : from functools import partial
       6            1 : from typing import TYPE_CHECKING
       7              : 
       8            1 : from PySide6.QtCore import QTimer
       9            1 : from PySide6.QtGui import QStatusTipEvent
      10            1 : from PySide6.QtWidgets import QApplication
      11              : 
      12              : if TYPE_CHECKING:
      13              :     import logging
      14              : 
      15              :     from PySide6.QtCore import QObject
      16              : 
      17              : 
      18            1 : def show_status_tip(parent: QObject, message: str, timeout: int = 0, logger: logging.Logger | None = None) -> None:
      19              :     """Show a status tip message using QStatusTipEvent."""
      20            1 :     QApplication.sendEvent(parent, QStatusTipEvent(message))
      21            1 :     if logger:
      22            1 :         logger.info(message)
      23            1 :     if timeout > 0:
      24            1 :         QTimer.singleShot(timeout, partial(reset_status_tip, parent))
      25              : 
      26              : 
      27            1 : def reset_status_tip(parent: QObject) -> None:
      28              :     """Hide the status tip by sending an empty message."""
      29            1 :     QApplication.sendEvent(parent, QStatusTipEvent("Ready"))
        

Generated by: LCOV version 2.0-1