Metadata-Version: 2.5
Name: borco-pyside
Version: 0.3.0
Summary: Generic reusable PySide6/Qt classes and utilities
Project-URL: Homepage, https://borco.github.io/rehuco/
Project-URL: Repository, https://github.com/borco/rehuco/tree/master/packages/borco-pyside
Project-URL: Issues, https://github.com/borco/rehuco/issues
Author-email: Ioan Calin <iborco@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: borco,gui,library,pyside6,qt,utilities
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: X11 Applications :: Qt
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.14
Requires-Dist: borco-core>=0.3.0
Requires-Dist: colorama>=0.4.6
Requires-Dist: pyside6-essentials>=6.9
Requires-Dist: pyside6-qtads>=5.0.0.2
Requires-Dist: send2trash>=1.8.3
Description-Content-Type: text/markdown

# borco-pyside

[![PyPI](https://img.shields.io/pypi/v/borco-pyside)](https://pypi.org/project/borco-pyside/)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/borco/rehuco/blob/master/LICENSE)
[![Python versions](https://img.shields.io/pypi/pyversions/borco-pyside)](https://pypi.org/project/borco-pyside/)

*Generic, reusable PySide6/Qt classes and utilities.*

[View on PyPI](https://pypi.org/project/borco-pyside/) · [View on GitHub](https://github.com/borco/rehuco)

## Status

**Pre-alpha.** This package is **not rehuco-specific** — it is a home for generic, reusable Qt code. It is currently
developed inside the [rehuco](https://borco.github.io/rehuco/) monorepo and will later move to its own repository.
If you use `borco-pyside` from PyPI, this move will be handled automatically.

## What it is

`borco-pyside` holds general-purpose building blocks that depend on **PySide6/Qt**. GUI-free counterparts live in
`borco-core`. It is the successor of an earlier standalone PySide utility library.

Currently provides:

- **`borco_pyside.core`** — application-lifecycle primitives: `ApplicationSingleton` (single-instance guard
  forwarding argv to the first process), `ConnectionList`, `SimpleProperty`/`TypedProperty`.
- **`borco_pyside.dialogs`** — a modeless, dockable dialog framework: `DockableDialog`,
  `DockableDialogFrame`, `DockableDialogManager`.
- **`borco_pyside.file_browser`** — `reveal_in_file_browser`, showing a path in Explorer, Finder or the
  Linux file manager.
- **`borco_pyside.logging`** — logging for a GUI app: `LogBridge`, `LogModel`, `LogWidget`, `LogView`, plus
  console setup via `setup_console_logging`.
- **`borco_pyside.platforms`** — platform-specific modules, each imported only on its own platform (e.g.
  `platforms.windows.window_activation`).
- **`borco_pyside.qtads`** — generic helpers for `pyside6-qtads` (QtAds): `QtAdsFocusTracker` (which dock
  is current, per manager), `QtAdsMaximizeHandler` (a maximize toggle on every dock's tab),
  `QtAdsAutoHideButtonSuppressor`, `QtAdsLayout` (save and restore a dock layout), `QtAdsEmptyingGuard`, `QtAdsPinSideHandler`, `QtAdsFloatingShowGuard`, `QtAdsLoneTabHider`, `tab_close_button`,
  `tab_label`, `tab_maximize_button`.
- **`borco_pyside.recycle_bin`** — moving a file to the Recycle Bin / Trash through `send2trash`, behind
  one `RecycleBin` singleton; refuses with `NoRecycleBinError` when no bin is reachable for the path
  (on Windows, decided per drive up front via `SHQueryRecycleBinW`) rather than deleting permanently.
- **`borco_pyside.shortcuts`** — shortcuts as declared `Command`s with a scope, a `Keymap` of the user's overrides,
  conflict detection, and a `CommandRegistry` that re-keys bound actions when the keymap changes.
- **`borco_pyside.theming`** — theme switching, SVG recoloring, and themed action icons: `ThemeManager`,
  `ThemeMenu`, `ThemeModel`, `ActionIconThemeHandler`.
- **`borco_pyside.widgets`** — reusable widgets: `CardListEditor` (items edited as draggable cards),
  `ItemListEditor`, `MessageBanner`, `Rating`,
  `RichTextView`, `RowBandDelegate`, `StringListEditor`, `UnboundedSpinBox`, and other small building blocks.

## Installation

```bash
pip install borco-pyside
```
