adsfolio.gui.notifications
Compact non-modal notifications for the desktop GUI.
- class adsfolio.gui.notifications.Notice(key, message, severity='info', action_label=None, payload=None, root=None, action=None, details=None, manual_entry=False, reveal_path=None, update_by_id=False, candidate_bibcode=None, candidate_sha256=None, candidate_fingerprint=None, candidate_confirmable=False)[source]
Bases:
objectImmutable display data and opaque action payload for one notice.
- Parameters:
key (str)
message (str)
severity (str)
action_label (str | None)
payload (object | None)
root (pathlib.Path | None)
action (adsfolio.gui.notifications.NoticeAction | None)
details (str | None)
manual_entry (bool)
reveal_path (pathlib.Path | None)
update_by_id (bool)
candidate_bibcode (str | None)
candidate_sha256 (str | None)
candidate_fingerprint (str | None)
candidate_confirmable (bool)
- action: adsfolio.gui.notifications.NoticeAction | None = None
- reveal_path: pathlib.Path | None = None
- root: pathlib.Path | None = None
- class adsfolio.gui.notifications.NoticeAction(*values)[source]
-
Typed action identity with its user-facing label.
- IDENTIFY = 'Identify…'
- IDENTIFY_RENAME = 'Identify & Rename'
- MERGE_EDITIONS = 'Review Merge…'
- RETRY = 'Retry'
- SHOW_CONFLICT = 'Review Both PDFs…'
- VIEW_RELEASE = 'Update Details'
- class adsfolio.gui.notifications.NoticeBar(parent=None)[source]
Bases:
PySide6.QtWidgets.QFrameShow every queued notice with independently routed action controls.
- Parameters:
parent (QWidget | None)
- action_all_requested
- action_requested
- ads_entry_requested
- changed
- clear_root(root)[source]
Remove notices explicitly associated with root.
- Parameters:
root (pathlib.Path)
- Return type:
None
- dismiss(key)[source]
Remove one keyed notice if it is queued.
- Parameters:
key (str)
- Return type:
None
- dismiss_all_requested
- dismiss_requested
- enqueue(notice)[source]
Add or replace one notice without changing its queue position.
- Parameters:
notice (adsfolio.gui.notifications.Notice)
- Return type:
None
- manual_entry_requested
- open_requested
- reveal_requested
- staticMetaObject = PySide6.QtCore.QMetaObject("NoticeBar" inherits "QFrame": Methods: #33 type=Signal, signature=action_requested(PyObject), parameters=PyObject #34 type=Signal, signature=manual_entry_requested(PyObject), parameters=PyObject #35 type=Signal, signature=update_by_id_requested(PyObject), parameters=PyObject #36 type=Signal, signature=open_requested(PyObject), parameters=PyObject #37 type=Signal, signature=ads_entry_requested(QString), parameters=QString #38 type=Signal, signature=use_id_requested(PyObject), parameters=PyObject #39 type=Signal, signature=reveal_requested(PyObject), parameters=PyObject #40 type=Signal, signature=dismiss_requested(PyObject), parameters=PyObject #41 type=Signal, signature=action_all_requested(PyObject), parameters=PyObject #42 type=Signal, signature=dismiss_all_requested(PyObject), parameters=PyObject #43 type=Signal, signature=changed() )
- update_by_id_requested
- use_id_requested
- class adsfolio.gui.notifications.NotificationButton(parent=None)[source]
Bases:
adsfolio.gui.icons.BadgeToolButtonKeep notification access in the toolbar without changing its height.
- Parameters:
parent (QWidget | None)
- event(event)[source]
Display the notification tooltip immediately on hover or focus.
- Parameters:
event (PySide6.QtCore.QEvent)
- Return type:
- staticMetaObject = PySide6.QtCore.QMetaObject("NotificationButton" inherits "BadgeToolButton": )
- class adsfolio.gui.notifications.NotificationPanel(parent=None)[source]
Bases:
PySide6.QtWidgets.QFrameDisplay queued notices and view help outside the main pane layout.
- Parameters:
parent (QWidget | None)
- keyPressEvent(event)[source]
Close the panel on Escape without dismissing queued notices.
- Parameters:
event (PySide6.QtGui.QKeyEvent)
- Return type:
None
- set_guidance(text, *, identify)[source]
Update view help without changing the main window’s geometry.
- show_for(anchor)[source]
Open the scrollable panel beside its toolbar control.
- Parameters:
anchor (PySide6.QtWidgets.QWidget) – Toolbar control whose screen and position place the panel.
- Return type:
None
- staticMetaObject = PySide6.QtCore.QMetaObject("NotificationPanel" inherits "QFrame": )