[qt/pyside/pyside-setup]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/pyside/pyside-setup
Pushed by mirror-service into branch 'dev'.
Changed from 2878444b7125eb427d66c26f5d42004e5881f08f to 393c0494b8cc275064d9c89877db357873bc8ad5
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit b8c220edba0dae85a4894fdff3583b162276e2cd by Shyamnath Premnadh on 30/07/2026 at 07:00..
PySide6/support: Add auto_property_helper.py

- Borrowed from the original implementaton in QtBridge
- A lot of these helpers are introspection like inspecting python
  classes, generating getters/setters needed for
  @auto_properties, finding out the return annotation of property
  getters, and they done in pure python code. This could also be
  done in CPython but does not really offer any significant performance
  advantages. The overall module implementation is in CPython because
  we refer to a lot of PySide:: namespace internal API.
- Loaded lazily by the C++ @auto_properties decorator via
  PyImport_ImportModule
- AST visitor for @auto_properties support
- Builds Property + Signal pairs for __init__ attributes, with
  getters/setters that skip the first (silent) __init__ write
- Converts native @property → Property, reusing the user's getter/setter
  but adding change notification
- Wires observers (@watch, @effect, @computed) onto existing Property
  setters without double-emitting the notify signal
- Materialises @computed as read-only Property objects with lazy
  first-access caching. Dependency changes trigger eager re-evaluation
  via _recompute.
- Maps Python types to Qt meta types

Task-number: PYSIDE-3302
Task-number: PYSIDE-3301
Change-Id: I1a25c76a2ae9f1e8cc3cd23269f754cf87b58ad8
Reviewed-by: Ece Cinucen <[email protected]>
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
https://invent.kde.org/qt/pyside/pyside-setup/-/commit/b8c220edba0dae85a4894fdff3583b162276e2cd

Git commit 1850b84d3949152b4983d0b1fe86feadfe245462 by Shyamnath Premnadh on 30/07/2026 at 07:00..
libpyside: Add MetaObjectBuilder::reparseType()

- Clears the existing QMetaObjectBuilder and re-runs parsePythonType()
  on the given Python type
- Needed by @auto_properties, which adds Signal and Property objects to
  the class dict after the initial QMetaObject has already been built
  by initQObjectSubType()

Task-number: PYSIDE-3302
Task-number: PYSIDE-3301
Change-Id: I0a1fa540c019cb98243498a101b109eaeaef8ec3
Reviewed-by: Friedemann Kleint <[email protected]>
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
Reviewed-by: Ece Cinucen <[email protected]>
https://invent.kde.org/qt/pyside/pyside-setup/-/commit/1850b84d3949152b4983d0b1fe86feadfe245462

Git commit a0f0b430d19fc49222a17339d769f424c0733e4e by Shyamnath Premnadh on 30/07/2026 at 07:00..
libpysideqml: Add @auto_properties decorator

- @auto_properties CPython API decorator for auto-generating Qt
  properties from Python attributes
- This now builds PySide6 Property objects with notify signals
  and rebuilds the QMetaObject via reparseType()
- Calls 'augment_class()' Python function which is responsible
  for inspecting the class, creating PySide properties and triggering
  the observers on property changes
- Export retrieveTypeUserData() from libpyside so libpysideqml can
  rebuild the QMetaObject

Task-number: PYSIDE-3302
Task-number: PYSIDE-3301
Change-Id: I44a6ae185c9fc44c2b8510b460ca05a080927fe7
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
https://invent.kde.org/qt/pyside/pyside-setup/-/commit/a0f0b430d19fc49222a17339d769f424c0733e4e

Git commit 393c0494b8cc275064d9c89877db357873bc8ad5 by Shyamnath Premnadh on 30/07/2026 at 07:00..
Object list model example: Use @auto_properties and @watch

- Use @auto_properties so plain self.name/self.color assignments become
  PySide.QtCore.Property with notify signals, removing the boilerplate
- Add @watch("color") to react to color changes with old/new values
- Add a TapHandler to the delegate so clicking a row recolors it,
  triggering the @watch callback on a real QML write

Task-number: PYSIDE-3302
Task-number: PYSIDE-3301
Change-Id: I3ab1760ab9ec00f7f6a6ce8b4e2bf19e25937b8e
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
Reviewed-by: Ece Cinucen <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
https://invent.kde.org/qt/pyside/pyside-setup/-/commit/393c0494b8cc275064d9c89877db357873bc8ad5
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.