Remove devel/py-ctypes (only needed by and supporting python24).
Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.
* Support for the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE macros to allow
PyQt to be built against Qt built with namespace support.
* Bug fixes.
Changes 4.8:
* Added support for Qt v4.7 including the new QtDeclarative module.
* pyqtProperty() can now be used as a method decorator in the same way that
the standard Python property type can be used.
* Added the notify argument to pyqtProperty().
* Unbound signals can now be subscripted in the same way that bound signals
can.
* Added the missing << operator to QPolygon, QPolygonF and
QXmlStreamAttributes.
* PyQt will now automatically keep a reference to objects set with some sort
of setter method when Qt expects the underlying C++ instance to stay valid
but does not take ownership of it.
* Added the lightmaps.py and stardelegate.py examples from Hans-Peter Jansen.
* Added the --assume-shared option to configure.py.
* The QtAssistant module is no longer built with Qt v4.7 and later.
changes:
added QStringRef.__str__() and QStringRef.__unicode__() to the
QString v1 API
the destruction by Qt of internally constructed QObject instances is now
automatically detected
a signal defined with pyqtSignal() can now be used with methods that make
an internal call to QObject::connect(), e.g. QTimer.singleShot()
added the --from-imports command line argument to pyuic4 and the
from_imports argument to PyQt4.uic.compileUi()
added support for Python v3.2
changes:
-any class with a count() method now supports the len() builtin
-added the missing == and != operators to QItemSelection
-added readQVariantHash(), readQVariantList(), readQVariantMap,
writeQVariantHash(), writeQVariantList() and writeQVariantMap()
to QDataStream
-added the ErrorPageExtensionOption and ErrorPageExtensionReturn classes,
and the ErrorDomain enum to QWebPage
The highlights of this release include full support for Qt v4.6,
automatically generated docstrings for all callables that describe
the valid Python signatures, and support for keywords for all
optional arguments.
4.6.1:
Bugfix release.
4.6.0:
* alternate, more Pythonic, APIs have been defined for QDate,
QDateTime, QString, QTextStream, QTime, QUrl and QVariant.
Applications may select a particular API. By default Python v3
uses the new versions and Python v2 uses the old versions
* Qt properties can be initialised using keyword arguments passed
when creating an instance
* signals can be connected using keyword arguments passed when
creating an instance
* the QObject.pyqtConfigure() method has been added to set Qt
properties and connect signals using keyword arguments at any
time
* Python v2.6 and later allow a Python bytearray to be used whenever
a QByteArray is expected
* the getOpenFileNameAndFilter(), getOpenFileNamesAndFilter() and
getSaveFileNameAndFilter() static methods have been added to
QFileDialog
* a QLatin1String can be passed whenever a QString is expected
* the compileUiDir() function has been added to the uic module.
* Only convert exact dicts to a QVariantMap and back and not dict
sub-classes.
* Removed an assertion when building dynamic meta-objects, instead just
ignore the attribute if it doesn't have the expected type.
* Fixed the handling of QWizard by pyuic.
* Changed the SIP dependency to v4.8.1 (not necessary but we don't want it
to survive in the wild).
* Changed the roadmap to show how incompatible APIs will be selected.
* Fixed __str__ for QByteArray for Python v3 so it is consistent with
Python v2.
* Reverted the roadmap change about __hash__ being an incompatibile change.
The issue isn't that the hash function has changed (which isn't considered
a compatibility problem) it's that different objects that previously had a
different hash value (based on their id()) now might have the same hash
value.
* Updated the roadmap to show that the __hash__ additions (including QUrl)
are not now considered incompatible changes.
* Removed the Python v3 buffer protocol support for QString.
* Improved the implementation of the Python v3 buffer protocol for QByteArray.
* Fixed a pyuic problem with Python v3 when setting the tab order.
* Added /Transfer/ to QComboBox.setLineEdit().
* Added /KeepReference/ to setValidator() and setCompleter() for QLineEdit
and QComboBox.
* Added the missing setCoordinateMode() and coordinateMode() methods from
QGradient.
* support for Python v3
* support for Qt v4.5.1
* added the QInputContextFactory class
* a new, more Pythonic, API has been added for connecting signals and slots
which does not require knowledge of C++ data types
* new signals can now be defined using pyqtSignal as a more Pythonic
replacement of the __pyqtSignals__ class attribute.
* added the pyqtSlot decorator as a more Pythonic replacement of the
pyqtSignature decorator
* the "type" argument to pyqtProperty() can also be a Python type object
* the "type" argument to Q_ARG() can also be a Python type object
* the "type" argument to Q_RETURN_ARG() can also be a Python type object
* added QT_TR_NOOP_UTF8()
* super() works without restrictions
* replaced the old qtdemo example launcher with a port of the newer version
* added the editabletreemodel.py and fetchmore.py examples
* replaced the old tutorial with the newer Address Book tutorial.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.