adsfolio.gui.main_window

Main three-pane desktop window for the adsfolio PDF library.

class adsfolio.gui.main_window.MainWindow(parent=None, *, watch_controller=None)[source]

Bases: PySide6.QtWidgets.QMainWindow

Browse registered PDF roots with a paged table and metadata pane.

Parameters:
apply_sort(primary, descending, secondary=None, tertiary=None)[source]

Apply and save sortable column keys and their direction.

Parameters:
  • primary (str) – Key of the primary sortable column.

  • descending (bool) – Use descending order for every key when True.

  • secondary (str or None, optional) – Keys that order ties, in priority order.

  • tertiary (str or None, optional) – Keys that order ties, in priority order.

Returns:

True when ADSfolio saves the selection. False if a key is invalid, initialization is incomplete, or saving fails. A save failure leaves the selection active and shows a notice.

Return type:

bool

check_updates_on_start()[source]

Check for updates when startup preferences allow it.

Return type:

None

closeEvent(event)[source]

Persist window state and close registry connections.

Parameters:

event (Any)

Return type:

None

refresh(root=None)[source]

Reload the current registry and sidebar counts.

Parameters:

root (pathlib.Path | None)

Return type:

None

staticMetaObject = PySide6.QtCore.QMetaObject("MainWindow" inherits "QMainWindow": )
class adsfolio.gui.main_window.RenameConflictRequest(root, source_path, conflict_path, event=None)[source]

Bases: object

Store source and collision destination paths for UI comparison.

Parameters:
conflict_path: pathlib.Path
event: adsfolio.pdf.watch_session.WatchEvent | None = None
root: pathlib.Path
source_path: pathlib.Path