[neon/forks/pyqt5/Neon/release] /: New upstream version 5.15.5+dfsg
Dmitry Shachnev
null at kde.org
Mon May 2 22:19:25 BST 2022
Git commit 94a23c15b86b3e8943f883dd9e3ce0a9832eecbf by Dmitry Shachnev.
Committed on 18/10/2021 at 14:40.
Pushed by sitter into branch 'Neon/release'.
New upstream version 5.15.5+dfsg
M +623 -0 ChangeLog
M +6 -0 NEWS
M +1 -3 PKG-INFO
M +0 -2 README
M +1 -1 configure.py
M +1 -1 pyproject.toml
M +2 -1 pyuic/uic/Compiler/qtproxies.py
M +1 -1 qpy/QtCore/qpycore_decorators.cpp
M +4 -2 qpy/QtCore/qpycore_pyqtmethodproxy.cpp
M +1 -1 qpy/pylupdate/fetchtr.cpp
M +27 -16 qpy/pylupdate/metatranslator.cpp
M +2 -2 sip/QtCore/qglobal.sip
M +2 -0 sip/QtCore/qpycore_qmap.sip
M +1 -0 sip/QtGui/qpdfwriter.sip
M +1 -1 sip/QtWidgets/qcompleter.sip
https://invent.kde.org/neon/forks/pyqt5/commit/94a23c15b86b3e8943f883dd9e3ce0a9832eecbf
diff --git a/ChangeLog b/ChangeLog
index ed03b14e..40df35eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,61 @@
+2021-10-07 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS, pyuic/uic/Compiler/qtproxies.py:
+ Fixed pyuic's handling of QFontDatabase.
+ [ab35506238c2] [5.15.5] <5.15-maint>
+
+2021-09-25 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS, qpy/QtCore/qpycore_pyqtmethodproxy.cpp:
+ Fixed the invocation of meta-type methods so that the result is
+ available.
+ [24ff630d737f] <5.15-maint>
+
+2021-08-10 Phil Thompson <phil at riverbankcomputing.com>
+
+ * lib/README:
+ Fixed the README.
+ [a44fc2eef805] <5.15-maint>
+
+2021-07-09 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS, PyQt5.msp:
+ Fixed the ordering of the QCompleter ctors so that a
+ QAbstractItemModel argument doesn't get interpreted as a parent
+ QObject argument.
+ [288f50b3e9c8] <5.15-maint>
+
+2021-05-21 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS, qpy/QtCore/qpycore_qmap.sip:
+ Fixed the QMultiMap mapped type.
+ [0c05544ec6ad] <5.15-maint>
+
+2021-05-20 Phil Thompson <phil at riverbankcomputing.com>
+
+ * qpy/QtCore/qpycore_decorators.cpp:
+ Improved an error message.
+ [76943e2449c4] <5.15-maint>
+
+2021-04-15 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS, PyQt5.msp:
+ Added the missing QPdfWriter.setPageSize() overload.
+ [f8aaea7a6ade] <5.15-maint>
+
+2021-04-14 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS, qpy/pylupdate/fetchtr.cpp, qpy/pylupdate/metatranslator.cpp:
+ pylupdate5 now assumes the UTF-8 codec and specifies v2.1 as the .ts
+ file format.
+ [9314488ea608] <5.15-maint>
+
2021-03-05 Phil Thompson <phil at riverbankcomputing.com>
+ * .hgtags:
+ Added tag 5.15.4 for changeset b30547186181
+ [e53432659118] <5.15-maint>
+
* NEWS:
Released as v5.15.4.
[b30547186181] [5.15.4] <5.15-maint>
@@ -11337,3 +11393,570 @@
examples/dialogs/classwizard/classwizard_rc2.py,
examples/dialogs/classwizard/classwizard_rc3.py,
examples/dialogs/classwizard/images/background.png,
+ examples/dialogs/classwizard/images/banner.png,
+ examples/dialogs/classwizard/images/logo1.png,
+ examples/dialogs/classwizard/images/logo2.png,
+ examples/dialogs/classwizard/images/logo3.png,
+ examples/dialogs/classwizard/images/watermark1.png,
+ examples/dialogs/classwizard/images/watermark2.png,
+ examples/dialogs/configdialog/configdialog.py,
+ examples/dialogs/configdialog/configdialog.qrc,
+ examples/dialogs/configdialog/configdialog_rc2.py,
+ examples/dialogs/configdialog/configdialog_rc3.py,
+ examples/dialogs/configdialog/images/config.png,
+ examples/dialogs/configdialog/images/query.png,
+ examples/dialogs/configdialog/images/update.png,
+ examples/dialogs/extension.py, examples/dialogs/findfiles.py,
+ examples/dialogs/standarddialogs.py, examples/dialogs/tabdialog.py,
+ examples/dialogs/trivialwizard.py, examples/draganddrop/README,
+ examples/draganddrop/delayedencoding/delayedencoding.py,
+ examples/draganddrop/delayedencoding/delayedencoding.qrc,
+ examples/draganddrop/delayedencoding/delayedencoding_rc2.py,
+ examples/draganddrop/delayedencoding/delayedencoding_rc3.py,
+ examples/draganddrop/delayedencoding/images/drag.png,
+ examples/draganddrop/delayedencoding/images/example.svg,
+ examples/draganddrop/draggableicons/draggableicons.py,
+ examples/draganddrop/draggableicons/draggableicons.qrc,
+ examples/draganddrop/draggableicons/draggableicons_rc2.py,
+ examples/draganddrop/draggableicons/draggableicons_rc3.py,
+ examples/draganddrop/draggableicons/images/boat.png,
+ examples/draganddrop/draggableicons/images/car.png,
+ examples/draganddrop/draggableicons/images/house.png,
+ examples/draganddrop/draggabletext/draggabletext.py,
+ examples/draganddrop/draggabletext/draggabletext.qrc,
+ examples/draganddrop/draggabletext/draggabletext_rc2.py,
+ examples/draganddrop/draggabletext/draggabletext_rc3.py,
+ examples/draganddrop/draggabletext/words.txt,
+ examples/draganddrop/dropsite.py,
+ examples/draganddrop/fridgemagnets/fridgemagnets.py,
+ examples/draganddrop/fridgemagnets/fridgemagnets.qrc,
+ examples/draganddrop/fridgemagnets/fridgemagnets_rc2.py,
+ examples/draganddrop/fridgemagnets/fridgemagnets_rc3.py,
+ examples/draganddrop/fridgemagnets/words.txt,
+ examples/draganddrop/puzzle/example.jpg,
+ examples/draganddrop/puzzle/puzzle.py,
+ examples/draganddrop/puzzle/puzzle.qrc,
+ examples/draganddrop/puzzle/puzzle_rc2.py,
+ examples/draganddrop/puzzle/puzzle_rc3.py, examples/effects/README,
+ examples/effects/lighting.py, examples/graphicsview/README,
+ examples/graphicsview/anchorlayout.py,
+ examples/graphicsview/collidingmice/collidingmice.py,
+ examples/graphicsview/collidingmice/images/cheese.jpg,
+ examples/graphicsview/collidingmice/mice.qrc,
+ examples/graphicsview/collidingmice/mice_rc2.py,
+ examples/graphicsview/collidingmice/mice_rc3.py,
+ examples/graphicsview/diagramscene/diagramscene.py,
+ examples/graphicsview/diagramscene/diagramscene.qrc,
+ examples/graphicsview/diagramscene/diagramscene_rc2.py,
+ examples/graphicsview/diagramscene/diagramscene_rc3.py,
+ examples/graphicsview/diagramscene/images/background1.png,
+ examples/graphicsview/diagramscene/images/background2.png,
+ examples/graphicsview/diagramscene/images/background3.png,
+ examples/graphicsview/diagramscene/images/background4.png,
+ examples/graphicsview/diagramscene/images/bold.png,
+ examples/graphicsview/diagramscene/images/bringtofront.png,
+ examples/graphicsview/diagramscene/images/delete.png,
+ examples/graphicsview/diagramscene/images/floodfill.png,
+ examples/graphicsview/diagramscene/images/italic.png,
+ examples/graphicsview/diagramscene/images/linecolor.png,
+ examples/graphicsview/diagramscene/images/linepointer.png,
+ examples/graphicsview/diagramscene/images/pointer.png,
+ examples/graphicsview/diagramscene/images/sendtoback.png,
+ examples/graphicsview/diagramscene/images/textpointer.png,
+ examples/graphicsview/diagramscene/images/underline.png,
+ examples/graphicsview/dragdroprobot/dragdroprobot.py,
+ examples/graphicsview/dragdroprobot/dragdroprobot.qrc,
+ examples/graphicsview/dragdroprobot/dragdroprobot_rc2.py,
+ examples/graphicsview/dragdroprobot/dragdroprobot_rc3.py,
+ examples/graphicsview/dragdroprobot/images/head.png,
+ examples/graphicsview/elasticnodes.py,
+ examples/graphicsview/padnavigator/backside.ui,
+ examples/graphicsview/padnavigator/images/artsfftscope.png,
+ examples/graphicsview/padnavigator/images/blue_angle_swirl.jpg,
+ examples/graphicsview/padnavigator/images/kontact_contacts.png,
+ examples/graphicsview/padnavigator/images/kontact_journal.png,
+ examples/graphicsview/padnavigator/images/kontact_mail.png,
+ examples/graphicsview/padnavigator/images/kontact_notes.png,
+ examples/graphicsview/padnavigator/images/kopeteavailable.png,
+ examples/graphicsview/padnavigator/images/metacontact_online.png,
+ examples/graphicsview/padnavigator/images/minitools.png,
+ examples/graphicsview/padnavigator/padnavigator.py,
+ examples/graphicsview/padnavigator/padnavigator.qrc,
+ examples/graphicsview/padnavigator/padnavigator_rc2.py,
+ examples/graphicsview/padnavigator/padnavigator_rc3.py,
+ examples/graphicsview/padnavigator/ui_backside.py,
+ examples/ipc/README, examples/ipc/localfortuneclient.py,
+ examples/ipc/localfortuneserver.py,
+ examples/ipc/sharedmemory/dialog.py,
+ examples/ipc/sharedmemory/dialog.ui,
+ examples/ipc/sharedmemory/image.png,
+ examples/ipc/sharedmemory/qt.png,
+ examples/ipc/sharedmemory/sharedmemory.py,
+ examples/itemviews/README,
+ examples/itemviews/basicsortfiltermodel.py,
+ examples/itemviews/chart/chart.py,
+ examples/itemviews/chart/chart.qrc,
+ examples/itemviews/chart/chart_rc2.py,
+ examples/itemviews/chart/chart_rc3.py,
+ examples/itemviews/chart/mydata.cht,
+ examples/itemviews/chart/qtdata.cht,
+ examples/itemviews/coloreditorfactory.py,
+ examples/itemviews/combowidgetmapper.py,
+ examples/itemviews/customsortfiltermodel.py,
+ examples/itemviews/dirview.py,
+ examples/itemviews/editabletreemodel/default.txt,
+ examples/itemviews/editabletreemodel/editabletreemodel.py,
+ examples/itemviews/editabletreemodel/editabletreemodel.qrc,
+ examples/itemviews/editabletreemodel/editabletreemodel_rc2.py,
+ examples/itemviews/editabletreemodel/editabletreemodel_rc3.py,
+ examples/itemviews/editabletreemodel/mainwindow.ui,
+ examples/itemviews/editabletreemodel/ui_mainwindow.py,
+ examples/itemviews/fetchmore.py,
+ examples/itemviews/pixelator/images/qt.png,
+ examples/itemviews/pixelator/pixelator.py,
+ examples/itemviews/pixelator/pixelator.qrc,
+ examples/itemviews/pixelator/pixelator_rc2.py,
+ examples/itemviews/pixelator/pixelator_rc3.py,
+ examples/itemviews/puzzle/example.jpg,
+ examples/itemviews/puzzle/puzzle.py,
+ examples/itemviews/puzzle/puzzle.qrc,
+ examples/itemviews/puzzle/puzzle_rc2.py,
+ examples/itemviews/puzzle/puzzle_rc3.py,
+ examples/itemviews/simpledommodel.py,
+ examples/itemviews/simpletreemodel/default.txt,
+ examples/itemviews/simpletreemodel/simpletreemodel.py,
+ examples/itemviews/simpletreemodel/simpletreemodel.qrc,
+ examples/itemviews/simpletreemodel/simpletreemodel_rc2.py,
+ examples/itemviews/simpletreemodel/simpletreemodel_rc3.py,
+ examples/itemviews/simplewidgetmapper.py,
+ examples/itemviews/spinboxdelegate.py,
+ examples/itemviews/stardelegate.py, examples/layouts/README,
+ examples/layouts/basiclayouts.py, examples/layouts/borderlayout.py,
+ examples/layouts/flowlayout.py, examples/mainwindows/README,
+ examples/mainwindows/application/application.py,
+ examples/mainwindows/application/application.qrc,
+ examples/mainwindows/application/application_rc2.py,
+ examples/mainwindows/application/application_rc3.py,
+ examples/mainwindows/application/images/copy.png,
+ examples/mainwindows/application/images/cut.png,
+ examples/mainwindows/application/images/new.png,
+ examples/mainwindows/application/images/open.png,
+ examples/mainwindows/application/images/paste.png,
+ examples/mainwindows/application/images/save.png,
+ examples/mainwindows/dockwidgets/dockwidgets.py,
+ examples/mainwindows/dockwidgets/dockwidgets.qrc,
+ examples/mainwindows/dockwidgets/dockwidgets_rc2.py,
+ examples/mainwindows/dockwidgets/dockwidgets_rc3.py,
+ examples/mainwindows/dockwidgets/images/new.png,
+ examples/mainwindows/dockwidgets/images/print.png,
+ examples/mainwindows/dockwidgets/images/save.png,
+ examples/mainwindows/dockwidgets/images/undo.png,
+ examples/mainwindows/mdi/images/copy.png,
+ examples/mainwindows/mdi/images/cut.png,
+ examples/mainwindows/mdi/images/new.png,
+ examples/mainwindows/mdi/images/open.png,
+ examples/mainwindows/mdi/images/paste.png,
+ examples/mainwindows/mdi/images/save.png,
+ examples/mainwindows/mdi/mdi.py, examples/mainwindows/mdi/mdi.qrc,
+ examples/mainwindows/mdi/mdi_rc2.py,
+ examples/mainwindows/mdi/mdi_rc3.py, examples/mainwindows/menus.py,
+ examples/mainwindows/recentfiles.py,
+ examples/mainwindows/sdi/images/copy.png,
+ examples/mainwindows/sdi/images/cut.png,
+ examples/mainwindows/sdi/images/new.png,
+ examples/mainwindows/sdi/images/open.png,
+ examples/mainwindows/sdi/images/paste.png,
+ examples/mainwindows/sdi/images/save.png,
+ examples/mainwindows/sdi/sdi.py, examples/mainwindows/sdi/sdi.qrc,
+ examples/mainwindows/sdi/sdi_rc2.py,
+ examples/mainwindows/sdi/sdi_rc3.py,
+ examples/mainwindows/separations.py, examples/network/README,
+ examples/network/blockingfortuneclient.py,
+ examples/network/broadcastreceiver.py,
+ examples/network/broadcastsender.py,
+ examples/network/fortuneclient.py,
+ examples/network/fortuneserver.py, examples/network/ftp/ftp.py,
+ examples/network/ftp/ftp.qrc, examples/network/ftp/ftp_rc2.py,
+ examples/network/ftp/ftp_rc3.py,
+ examples/network/ftp/images/cdtoparent.png,
+ examples/network/ftp/images/dir.png,
+ examples/network/ftp/images/file.png,
+ examples/network/http/authenticationdialog.ui,
+ examples/network/http/http.py, examples/network/loopback.py,
+ examples/network/threadedfortuneserver.py,
+ examples/opengl/2dpainting.py, examples/opengl/README,
+ examples/opengl/grabber.py, examples/opengl/hellogl.py,
+ examples/opengl/overpainting.py, examples/opengl/samplebuffers.py,
+ examples/opengl/textures/images/side1.png,
+ examples/opengl/textures/images/side2.png,
+ examples/opengl/textures/images/side3.png,
+ examples/opengl/textures/images/side4.png,
+ examples/opengl/textures/images/side5.png,
+ examples/opengl/textures/images/side6.png,
+ examples/opengl/textures/textures.py,
+ examples/opengl/textures/textures.qrc,
+ examples/opengl/textures/textures_rc2.py,
+ examples/opengl/textures/textures_rc3.py, examples/painting/README,
+ examples/painting/basicdrawing/basicdrawing.py,
+ examples/painting/basicdrawing/basicdrawing.qrc,
+ examples/painting/basicdrawing/basicdrawing_rc2.py,
+ examples/painting/basicdrawing/basicdrawing_rc3.py,
+ examples/painting/basicdrawing/images/brick.png,
+ examples/painting/basicdrawing/images/qt-logo.png,
+ examples/painting/concentriccircles.py,
+ examples/painting/painterpaths.py,
+ examples/painting/svgviewer/files/bubbles.svg,
+ examples/painting/svgviewer/files/cubic.svg,
+ examples/painting/svgviewer/files/spheres.svg,
+ examples/painting/svgviewer/svgviewer.py,
+ examples/painting/svgviewer/svgviewer.qrc,
+ examples/painting/svgviewer/svgviewer_rc2.py,
+ examples/painting/svgviewer/svgviewer_rc3.py,
+ examples/painting/transformations.py, examples/phonon/README,
+ examples/phonon/capabilities.py, examples/phonon/musicplayer.py,
+ examples/pyuic/compile-on-the-fly.py, examples/pyuic/demo.ui,
+ examples/pyuic/load_ui1.py, examples/pyuic/load_ui2.py,
+ examples/richtext/README, examples/richtext/calendar.py,
+ examples/richtext/orderform.py,
+ examples/richtext/syntaxhighlighter.py,
+ examples/richtext/textobject/files/heart.svg,
+ examples/richtext/textobject/textobject.py, examples/script/README,
+ examples/script/helloscript.py, examples/sql/README,
+ examples/sql/cachedtable.py, examples/sql/connection.py,
+ examples/sql/querymodel.py, examples/sql/relationaltablemodel.py,
+ examples/sql/tablemodel.py, examples/threads/README,
+ examples/threads/mandelbrot.py, examples/threads/semaphores.py,
+ examples/threads/waitconditions.py, examples/tools/README,
+ examples/tools/codecs/codecs.py,
+ examples/tools/codecs/encodedfiles/iso-8859-1.txt,
+ examples/tools/codecs/encodedfiles/iso-8859-15.txt,
+ examples/tools/codecs/encodedfiles/utf-16.txt,
+ examples/tools/codecs/encodedfiles/utf-16be.txt,
+ examples/tools/codecs/encodedfiles/utf-16le.txt,
+ examples/tools/codecs/encodedfiles/utf-8.txt,
+ examples/tools/customcompleter/customcompleter.py,
+ examples/tools/customcompleter/customcompleter.qrc,
+ examples/tools/customcompleter/customcompleter_rc2.py,
+ examples/tools/customcompleter/customcompleter_rc3.py,
+ examples/tools/customcompleter/resources/wordlist.txt,
+ examples/tools/i18n/i18n.py, examples/tools/i18n/i18n.qrc,
+ examples/tools/i18n/i18n_rc2.py, examples/tools/i18n/i18n_rc3.py,
+ examples/tools/i18n/translations/i18n_ar.qm,
+ examples/tools/i18n/translations/i18n_ar.ts,
+ examples/tools/i18n/translations/i18n_cs.qm,
+ examples/tools/i18n/translations/i18n_cs.ts,
+ examples/tools/i18n/translations/i18n_de.qm,
+ examples/tools/i18n/translations/i18n_de.ts,
+ examples/tools/i18n/translations/i18n_el.qm,
+ examples/tools/i18n/translations/i18n_el.ts,
+ examples/tools/i18n/translations/i18n_en.qm,
+ examples/tools/i18n/translations/i18n_en.ts,
+ examples/tools/i18n/translations/i18n_eo.qm,
+ examples/tools/i18n/translations/i18n_eo.ts,
+ examples/tools/i18n/translations/i18n_fr.qm,
+ examples/tools/i18n/translations/i18n_fr.ts,
+ examples/tools/i18n/translations/i18n_it.qm,
+ examples/tools/i18n/translations/i18n_it.ts,
+ examples/tools/i18n/translations/i18n_jp.qm,
+ examples/tools/i18n/translations/i18n_jp.ts,
+ examples/tools/i18n/translations/i18n_ko.qm,
+ examples/tools/i18n/translations/i18n_ko.ts,
+ examples/tools/i18n/translations/i18n_no.qm,
+ examples/tools/i18n/translations/i18n_no.ts,
+ examples/tools/i18n/translations/i18n_pt.qm,
+ examples/tools/i18n/translations/i18n_pt.ts,
+ examples/tools/i18n/translations/i18n_ru.qm,
+ examples/tools/i18n/translations/i18n_ru.ts,
+ examples/tools/i18n/translations/i18n_sv.qm,
+ examples/tools/i18n/translations/i18n_sv.ts,
+ examples/tools/i18n/translations/i18n_zh.qm,
+ examples/tools/i18n/translations/i18n_zh.ts,
+ examples/tools/regexp.py,
+ examples/tools/settingseditor/inifiles/licensepage.ini,
+ examples/tools/settingseditor/inifiles/qsa.ini,
+ examples/tools/settingseditor/settingseditor.py,
+ examples/tutorials/addressbook/README,
+ examples/tutorials/addressbook/part1.py,
+ examples/tutorials/addressbook/part2.py,
+ examples/tutorials/addressbook/part3.py,
+ examples/tutorials/addressbook/part4.py,
+ examples/tutorials/addressbook/part5.py,
+ examples/tutorials/addressbook/part6.py,
+ examples/tutorials/addressbook/part7.py,
+ examples/webkit/domtraversal/domtraversal.py,
+ examples/webkit/domtraversal/ui_window.py,
+ examples/webkit/domtraversal/window.ui,
+ examples/webkit/fancybrowser/fancybrowser.py,
+ examples/webkit/fancybrowser/jquery.min.js,
+ examples/webkit/fancybrowser/jquery.qrc,
+ examples/webkit/fancybrowser/jquery_rc2.py,
+ examples/webkit/fancybrowser/jquery_rc3.py,
+ examples/webkit/formextractor/form.html,
+ examples/webkit/formextractor/formextractor.py,
+ examples/webkit/formextractor/formextractor.qrc,
+ examples/webkit/formextractor/formextractor.ui,
+ examples/webkit/formextractor/formextractor_rc2.py,
+ examples/webkit/formextractor/formextractor_rc3.py,
+ examples/webkit/formextractor/ui_formextractor.py,
+ examples/webkit/framecapture.py, examples/webkit/googlechat/form.ui,
+ examples/webkit/googlechat/googlechat.py,
+ examples/webkit/googlechat/ui_form.py,
+ examples/webkit/previewer/previewer.py,
+ examples/webkit/previewer/previewer.ui,
+ examples/webkit/previewer/ui_previewer.py,
+ examples/webkit/simpleselector/simpleselector.py,
+ examples/webkit/simpleselector/ui_window.py,
+ examples/webkit/simpleselector/window.ui, examples/widgets/README,
+ examples/widgets/analogclock.py, examples/widgets/calculator.py,
+ examples/widgets/calendarwidget.py,
+ examples/widgets/charactermap.py, examples/widgets/digitalclock.py,
+ examples/widgets/groupbox.py, examples/widgets/icons/icons.py,
+ examples/widgets/icons/images/designer.png,
+ examples/widgets/icons/images/find_disabled.png,
+ examples/widgets/icons/images/find_normal.png,
+ examples/widgets/icons/images/monkey_off_128x128.png,
+ examples/widgets/icons/images/monkey_off_16x16.png,
+ examples/widgets/icons/images/monkey_off_32x32.png,
+ examples/widgets/icons/images/monkey_off_64x64.png,
+ examples/widgets/icons/images/monkey_on_128x128.png,
+ examples/widgets/icons/images/monkey_on_16x16.png,
+ examples/widgets/icons/images/monkey_on_32x32.png,
+ examples/widgets/icons/images/monkey_on_64x64.png,
+ examples/widgets/icons/images/qt_extended_16x16.png,
+ examples/widgets/icons/images/qt_extended_32x32.png,
+ examples/widgets/icons/images/qt_extended_48x48.png,
+ examples/widgets/imageviewer.py, examples/widgets/lineedits.py,
+ examples/widgets/movie/animation.mng,
+ examples/widgets/movie/movie.py, examples/widgets/scribble.py,
+ examples/widgets/shapedclock.py, examples/widgets/sliders.py,
+ examples/widgets/spinboxes.py, examples/widgets/styles.py,
+ examples/widgets/stylesheet/images/checkbox_checked.png,
+ examples/widgets/stylesheet/images/checkbox_checked_hover.png,
+ examples/widgets/stylesheet/images/checkbox_checked_pressed.png,
+ examples/widgets/stylesheet/images/checkbox_unchecked.png,
+ examples/widgets/stylesheet/images/checkbox_unchecked_hover.png,
+ examples/widgets/stylesheet/images/checkbox_unchecked_pressed.png,
+ examples/widgets/stylesheet/images/down_arrow.png,
+ examples/widgets/stylesheet/images/down_arrow_disabled.png,
+ examples/widgets/stylesheet/images/frame.png,
+ examples/widgets/stylesheet/images/pagefold.png,
+ examples/widgets/stylesheet/images/pushbutton.png,
+ examples/widgets/stylesheet/images/pushbutton_hover.png,
+ examples/widgets/stylesheet/images/pushbutton_pressed.png,
+ examples/widgets/stylesheet/images/radiobutton_checked.png,
+ examples/widgets/stylesheet/images/radiobutton_checked_hover.png,
+ examples/widgets/stylesheet/images/radiobutton_checked_pressed.png,
+ examples/widgets/stylesheet/images/radiobutton_unchecked.png,
+ examples/widgets/stylesheet/images/radiobutton_unchecked_hover.png,
+ e
+ xamples/widgets/stylesheet/images/radiobutton_unchecked_pressed.png,
+ examples/widgets/stylesheet/images/sizegrip.png,
+ examples/widgets/stylesheet/images/spindown.png,
+ examples/widgets/stylesheet/images/spindown_hover.png,
+ examples/widgets/stylesheet/images/spindown_off.png,
+ examples/widgets/stylesheet/images/spindown_pressed.png,
+ examples/widgets/stylesheet/images/spinup.png,
+ examples/widgets/stylesheet/images/spinup_hover.png,
+ examples/widgets/stylesheet/images/spinup_off.png,
+ examples/widgets/stylesheet/images/spinup_pressed.png,
+ examples/widgets/stylesheet/images/up_arrow.png,
+ examples/widgets/stylesheet/images/up_arrow_disabled.png,
+ examples/widgets/stylesheet/mainwindow.ui,
+ examples/widgets/stylesheet/qss/coffee.qss,
+ examples/widgets/stylesheet/qss/default.qss,
+ examples/widgets/stylesheet/qss/pagefold.qss,
+ examples/widgets/stylesheet/stylesheet.py,
+ examples/widgets/stylesheet/stylesheet.qrc,
+ examples/widgets/stylesheet/stylesheet_rc2.py,
+ examples/widgets/stylesheet/stylesheet_rc3.py,
+ examples/widgets/stylesheet/stylesheeteditor.py,
+ examples/widgets/stylesheet/stylesheeteditor.ui,
+ examples/widgets/stylesheet/ui_mainwindow.py,
+ examples/widgets/stylesheet/ui_stylesheeteditor.py,
+ examples/widgets/tetrix.py,
+ examples/widgets/tooltips/images/circle.png,
+ examples/widgets/tooltips/images/square.png,
+ examples/widgets/tooltips/images/triangle.png,
+ examples/widgets/tooltips/tooltips.py,
+ examples/widgets/tooltips/tooltips.qrc,
+ examples/widgets/tooltips/tooltips_rc2.py,
+ examples/widgets/tooltips/tooltips_rc3.py,
+ examples/widgets/wiggly.py, examples/widgets/windowflags.py,
+ examples/xml/README, examples/xml/dombookmarks/dombookmarks.py,
+ examples/xml/dombookmarks/frank.xbel,
+ examples/xml/dombookmarks/jennifer.xbel,
+ examples/xml/saxbookmarks/frank.xbel,
+ examples/xml/saxbookmarks/jennifer.xbel,
+ examples/xml/saxbookmarks/saxbookmarks.py,
+ examples/xmlpatterns/README,
+ examples/xmlpatterns/schema/files/contact.xsd,
+ examples/xmlpatterns/schema/files/invalid_contact.xml,
+ examples/xmlpatterns/schema/files/invalid_order.xml,
+ examples/xmlpatterns/schema/files/invalid_recipe.xml,
+ examples/xmlpatterns/schema/files/order.xsd,
+ examples/xmlpatterns/schema/files/recipe.xsd,
+ examples/xmlpatterns/schema/files/valid_contact.xml,
+ examples/xmlpatterns/schema/files/valid_order.xml,
+ examples/xmlpatterns/schema/files/valid_recipe.xml,
+ examples/xmlpatterns/schema/schema.py,
+ examples/xmlpatterns/schema/schema.qrc,
+ examples/xmlpatterns/schema/schema.ui,
+ examples/xmlpatterns/schema/schema_rc2.py,
+ examples/xmlpatterns/schema/schema_rc3.py,
+ examples/xmlpatterns/schema/ui_schema.py, installers/AddToPath.nsh,
+ installers/BuildGPL.txt, installers/PyQt5-Qt5-gpl.nsi,
+ installers/StrSlash.nsh, installers/mysql-config.bat, installers
+ /psql-config.bat, installers/pyqt-check.py, installers/pyqt-
+ config.bat, installers/qsci-config.bat, installers/qt5-config.bat,
+ installers/sip-config.bat, lib/LICENSE.commercial,
+ lib/LICENSE.commercial.short, lib/LICENSE.gpl,
+ lib/LICENSE.gpl.short, lib/LICENSE.internal,
+ lib/QMetaObjectFormats.txt, lib/README,
+ lib/SubclassCode/QtGuiQt4.versions,
+ lib/SubclassCode/QtNetwork.versions, lib/SubclassCode/mksccode.py,
+ lib/UpdatingArgumentNames.txt, lib/__init__.py, lib/configure.py,
+ lib/license.py.commercial, lib/license.py.internal, lib/pyqt-
+ gpl.sip, lib/pyqt-internal.sip, pylupdate/fetchtr.cpp,
+ pylupdate/main.cpp, pylupdate/merge.cpp,
+ pylupdate/metatranslator.cpp, pylupdate/metatranslator.h,
+ pylupdate/numberh.cpp, pylupdate/proparser.cpp,
+ pylupdate/proparser.h, pylupdate/sametexth.cpp,
+ pylupdate/simtexth.cpp, pylupdate/simtexth.h,
+ pylupdate/translator.cpp, pylupdate/translator.h, pyrcc/main.cpp,
+ pyrcc/rcc.cpp, pyrcc/rcc.h, pyuic/uic/Compiler/__init__.py,
+ pyuic/uic/Compiler/compiler.py, pyuic/uic/Compiler/indenter.py,
+ pyuic/uic/Compiler/misc.py, pyuic/uic/Compiler/proxy_metaclass.py,
+ pyuic/uic/Compiler/qobjectcreator.py,
+ pyuic/uic/Compiler/qtproxies.py, pyuic/uic/Loader/__init__.py,
+ pyuic/uic/Loader/loader.py, pyuic/uic/Loader/qobjectcreator.py,
+ pyuic/uic/__init__.py, pyuic/uic/driver.py, pyuic/uic/exceptions.py,
+ pyuic/uic/icon_cache.py, pyuic/uic/objcreator.py,
+ pyuic/uic/port_v2/__init__.py, pyuic/uic/port_v2/as_string.py,
+ pyuic/uic/port_v2/ascii_upper.py, pyuic/uic/port_v2/invoke.py,
+ pyuic/uic/port_v2/load_plugin.py, pyuic/uic/port_v2/proxy_base.py,
+ pyuic/uic/port_v2/string_io.py, pyuic/uic/port_v3/__init__.py,
+ pyuic/uic/port_v3/as_string.py, pyuic/uic/port_v3/ascii_upper.py,
+ pyuic/uic/port_v3/invoke.py, pyuic/uic/port_v3/load_plugin.py,
+ pyuic/uic/port_v3/proxy_base.py, pyuic/uic/port_v3/string_io.py,
+ pyuic/uic/properties.py, pyuic/uic/pyuic.py, pyuic/uic/uiparser.py,
+ pyuic/uic/widget-plugins/phonon.py, pyuic/uic/widget-
+ plugins/qaxcontainer.py, pyuic/uic/widget-plugins/qscintilla.py,
+ pyuic/uic/widget-plugins/qtdeclarative.py, pyuic/uic/widget-
+ plugins/qtwebkit.py, qpy/QtCore/qpycore.pro,
+ qpy/QtCore/qpycore_api.h, qpy/QtCore/qpycore_chimera.cpp,
+ qpy/QtCore/qpycore_chimera.h,
+ qpy/QtCore/qpycore_chimera_signature.cpp,
+ qpy/QtCore/qpycore_chimera_storage.cpp,
+ qpy/QtCore/qpycore_classinfo.cpp, qpy/QtCore/qpycore_classinfo.h,
+ qpy/QtCore/qpycore_init.cpp, qpy/QtCore/qpycore_misc.cpp,
+ qpy/QtCore/qpycore_misc.h, qpy/QtCore/qpycore_namespace.h,
+ qpy/QtCore/qpycore_post_init.cpp.in,
+ qpy/QtCore/qpycore_pyqtboundsignal.cpp,
+ qpy/QtCore/qpycore_pyqtboundsignal.h,
+ qpy/QtCore/qpycore_pyqtconfigure.cpp,
+ qpy/QtCore/qpycore_pyqtmethodproxy.cpp,
+ qpy/QtCore/qpycore_pyqtmethodproxy.h,
+ qpy/QtCore/qpycore_pyqtproperty.cpp,
+ qpy/QtCore/qpycore_pyqtproperty.h, qpy/QtCore/qpycore_pyqtproxy.cpp,
+ qpy/QtCore/qpycore_pyqtproxy.h, qpy/QtCore/qpycore_pyqtpyobject.cpp,
+ qpy/QtCore/qpycore_pyqtpyobject.h,
+ qpy/QtCore/qpycore_pyqtsignal.cpp, qpy/QtCore/qpycore_pyqtsignal.h,
+ qpy/QtCore/qpycore_pyqtslot.cpp,
+ qpy/QtCore/qpycore_qabstracteventdispatcher.cpp,
+ qpy/QtCore/qpycore_qmetaobject.cpp,
+ qpy/QtCore/qpycore_qmetaobject_helpers.cpp,
+ qpy/QtCore/qpycore_qmetaobjectbuilder.h,
+ qpy/QtCore/qpycore_qobject_getattr.cpp,
+ qpy/QtCore/qpycore_qobject_helpers.cpp,
+ qpy/QtCore/qpycore_qobject_helpers.h,
+ qpy/QtCore/qpycore_qpynullvariant.cpp,
+ qpy/QtCore/qpycore_qpynullvariant.h, qpy/QtCore/qpycore_qstring.cpp,
+ qpy/QtCore/qpycore_qstringlist.cpp, qpy/QtCore/qpycore_qvariant.cpp,
+ qpy/QtCore/qpycore_qvariant_value.cpp, qpy/QtCore/qpycore_shared.h,
+ qpy/QtCore/qpycore_sip.h, qpy/QtCore/qpycore_sip_helpers.cpp,
+ qpy/QtCore/qpycore_sip_helpers.h, qpy/QtCore/qpycore_types.cpp,
+ qpy/QtCore/qpycore_types.h, qpy/QtCore/qpynullvariant.sip,
+ qpy/QtCore/qwineventnotifier.sip, qpy/QtDBus/qpydbus.pro,
+ qpy/QtDBus/qpydbus_api.h, qpy/QtDBus/qpydbus_chimera_helpers.cpp,
+ qpy/QtDBus/qpydbus_chimera_helpers.h,
+ qpy/QtDBus/qpydbus_post_init.cpp,
+ qpy/QtDBus/qpydbuspendingreply.cpp,
+ qpy/QtDBus/qpydbuspendingreply.h,
+ qpy/QtDBus/qpydbuspendingreply.sip, qpy/QtDBus/qpydbusreply.cpp,
+ qpy/QtDBus/qpydbusreply.h, qpy/QtDBus/qpydbusreply.sip,
+ qpy/QtDeclarative/qpydeclarative.pro,
+ qpy/QtDeclarative/qpydeclarative_api.h,
+ qpy/QtDeclarative/qpydeclarative_chimera_helpers.cpp,
+ qpy/QtDeclarative/qpydeclarative_chimera_helpers.h,
+ qpy/QtDeclarative/qpydeclarative_listwrapper.cpp,
+ qpy/QtDeclarative/qpydeclarative_listwrapper.h,
+ qpy/QtDeclarative/qpydeclarative_post_init.cpp,
+ qpy/QtDeclarative/qpydeclarativelistproperty.cpp,
+ qpy/QtDeclarative/qpydeclarativelistproperty.h,
+ qpy/QtDeclarative/qpydeclarativelistproperty.sip,
+ qpy/QtDeclarative/qpydeclarativepropertyvaluesource.h,
+ qpy/QtDeclarative/qpydeclarativepropertyvaluesource.sip,
+ qpy/QtDesigner/qpydesigner.pro,
+ qpy/QtDesigner/qpydesignercontainerextension.h,
+ qpy/QtDesigner/qpydesignercontainerextension.sip,
+ qpy/QtDesigner/qpydesignercustomwidgetcollectionplugin.h,
+ qpy/QtDesigner/qpydesignercustomwidgetcollectionplugin.sip,
+ qpy/QtDesigner/qpydesignercustomwidgetplugin.h,
+ qpy/QtDesigner/qpydesignercustomwidgetplugin.sip,
+ qpy/QtDesigner/qpydesignermembersheetextension.h,
+ qpy/QtDesigner/qpydesignermembersheetextension.sip,
+ qpy/QtDesigner/qpydesignerpropertysheetextension.h,
+ qpy/QtDesigner/qpydesignerpropertysheetextension.sip,
+ qpy/QtDesigner/qpydesignertaskmenuextension.h,
+ qpy/QtDesigner/qpydesignertaskmenuextension.sip,
+ qpy/QtGui/qpygui.pro, qpy/QtGui/qpytextobject.h,
+ qpy/QtGui/qpytextobject.sip, qpy/QtOpenGL/opengl_types.sip,
+ qpy/QtOpenGL/qpyopengl.pro, qpy/QtOpenGL/qpyopengl_api.h,
+ qpy/QtOpenGL/qpyopengl_attribute_array.cpp,
+ qpy/QtOpenGL/qpyopengl_uniform_value_array.cpp,
+ sphinx/buffer_interface.rst, sphinx/build_system.rst,
+ sphinx/conf.py, sphinx/dbus.rst, sphinx/deploy_commercial.rst,
+ sphinx/designer.rst, sphinx/gotchas.rst, sphinx/i18n.rst,
+ sphinx/incompatibilities.rst, sphinx/incompatible_apis.rst,
+ sphinx/index.rst, sphinx/installation.rst, sphinx/introduction.rst,
+ sphinx/keyword_arguments.rst, sphinx/new_style_signals_slots.rst,
+ sphinx/old_style_signals_slots.rst, sphinx/pickle.rst,
+ sphinx/pyqt_qsettings.rst, sphinx/pyqt_qvariant.rst,
+ sphinx/python_shell.rst, sphinx/python_v3.rst, sphinx/qml.rst,
+ sphinx/qt_properties.rst, sphinx/qt_v5.rst, sphinx/resources.rst,
+ sphinx/static/default.css, sphinx/static/logo.png,
+ sphinx/static/logo_tn.ico, sphinx/webkit.rst,
+ test/dbus/test_multibus.py, test/runtests.py,
+ test/tests/__init__.py, test/tests/classes/__init__.py,
+ test/tests/classes/test_QObject.py,
+ test/tests/classes/test_QSettings.py,
+ test/tests/classes/test_QStringList.py,
+ test/tests/classes/test_QVariant.py,
+ test/tests/metaobject/__init__.py,
+ test/tests/metaobject/test_connections.py,
+ test/tests/metaobject/test_connections_old_style.py,
+ test/tests/metaobject/test_connectslotsbyname.py,
+ test/tests/metaobject/test_destroyed.py,
+ test/tests/metaobject/test_gc_slots.py,
+ test/tests/metaobject/test_invoke.py,
+ test/tests/metaobject/test_pyqtproperty.py,
+ test/tests/metaobject/test_pyqtsignal.py,
+ test/tests/metaobject/test_pyqtsignature.py,
+ test/tests/metaobject/test_pyqtslot.py,
+ test/tests/metaobject/test_qvariantmap.py,
+ test/tests/metaobject/test_sender.py,
+ test/tests/metaobject/test_signal.py, test/tests/misc/__init__.py,
+ test/tests/misc/test_pickle.py, test/tests/misc/test_repr.py,
+ test/tests/pyuic/QMainWindow/MainWindow00.ui,
+ test/tests/pyuic/QToolBox/ToolBox00.ui,
+ test/tests/pyuic/QToolBox/ToolBox01.ui,
+ test/tests/pyuic/QWidget/Widget00.ui,
+ test/tests/pyuic/QWidget/Widget01.ui,
+ test/tests/pyuic/QWidget/Widget02.ui,
+ test/tests/pyuic/QWidget/Widget03.ui,
+ test/tests/pyuic/QWidget/Widget04.ui,
+ test/tests/pyuic/QWidget/Widget05.ui, test/tests/pyuic/__init__.py,
+ test/tests/pyuic/test_pyuic.py, test/v2_unicode.py,
+ test/v3_unicode.py:
+ Initial import of PyQt5 based on a stripped down PyQt4.
+ [b135a1e082d2]
diff --git a/NEWS b/NEWS
index 949bc5b0..d2b1edbc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+v5.15.5 7th October 2021
+ - Added the missing QPdfWriter.setPageSize() overload.
+ - pylupdate5 now assumes that the default codec is UTF-8 and specified v2.1
+ as the .ts file format.
+ - Bug fixes.
+
v5.15.4 5th March 2021
- Packaging bug fixes.
diff --git a/PKG-INFO b/PKG-INFO
index 9bb4fa85..385ad30c 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: PyQt5
-Version: 5.15.4
+Version: 5.15.5
Requires-Python: >=3.6
Summary: Python bindings for the Qt cross platform application toolkit
Home-Page: https://www.riverbankcomputing.com/software/pyqt/
@@ -56,8 +56,6 @@ The GPL version of PyQt5 can be installed from PyPI::
pip install PyQt5
-The wheels include a copy of the required parts of the LGPL version of Qt.
-
``pip`` will also build and install the bindings from the sdist package but
Qt's ``qmake`` tool must be on ``PATH``.
diff --git a/README b/README
index 1c4de0d6..b90f2ca2 100644
--- a/README
+++ b/README
@@ -46,8 +46,6 @@ The GPL version of PyQt5 can be installed from PyPI::
pip install PyQt5
-The wheels include a copy of the required parts of the LGPL version of Qt.
-
``pip`` will also build and install the bindings from the sdist package but
Qt's ``qmake`` tool must be on ``PATH``.
diff --git a/configure.py b/configure.py
index c6663e41..bb5f88a1 100644
--- a/configure.py
+++ b/configure.py
@@ -28,7 +28,7 @@ import sys
# Initialise the constants.
-PYQT_VERSION_STR = "5.15.4"
+PYQT_VERSION_STR = "5.15.5"
SIP_MIN_VERSION = '4.19.23'
diff --git a/pyproject.toml b/pyproject.toml
index 29505c6f..553e835b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ build-backend = "sipbuild.api"
# Specify the PEP 566 metadata for the project.
[tool.sip.metadata]
name = "PyQt5"
-version = "5.15.4"
+version = "5.15.5"
summary = "Python bindings for the Qt cross platform application toolkit"
home-page = "https://www.riverbankcomputing.com/software/pyqt/"
author = "Riverbank Computing Limited"
diff --git a/pyuic/uic/Compiler/qtproxies.py b/pyuic/uic/Compiler/qtproxies.py
index 6fa866cc..8041d2b0 100644
--- a/pyuic/uic/Compiler/qtproxies.py
+++ b/pyuic/uic/Compiler/qtproxies.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2020 Riverbank Computing Limited.
+## Copyright (C) 2021 Riverbank Computing Limited.
## Copyright (C) 2006 Thorsten Marek.
## All right reserved.
##
@@ -278,6 +278,7 @@ class QtGui(ProxyNamespace):
class QPainter(ProxyClass): pass
class QPalette(ProxyClass): pass
class QFont(ProxyClass): pass
+ class QFontDatabase(ProxyClass): pass
# These sub-class QWidget but aren't themselves sub-classed.
diff --git a/qpy/QtCore/qpycore_decorators.cpp b/qpy/QtCore/qpycore_decorators.cpp
index ef35d591..18c32398 100644
--- a/qpy/QtCore/qpycore_decorators.cpp
+++ b/qpy/QtCore/qpycore_decorators.cpp
@@ -55,7 +55,7 @@ PyObject *qpycore_pyqtslot(PyObject *args, PyObject *kwds)
return 0;
Chimera::Signature *parsed_sig = Chimera::parse(args, name_str,
- "a pyqtSlot type argument");
+ "a pyqtSlot argument");
if (!parsed_sig)
return 0;
diff --git a/qpy/QtCore/qpycore_pyqtmethodproxy.cpp b/qpy/QtCore/qpycore_pyqtmethodproxy.cpp
index d17766e9..1634e4b1 100644
--- a/qpy/QtCore/qpycore_pyqtmethodproxy.cpp
+++ b/qpy/QtCore/qpycore_pyqtmethodproxy.cpp
@@ -207,8 +207,10 @@ static PyObject *pyqtMethodProxy_call(PyObject *self, PyObject *args,
if (!failed)
{
- failed = !method.invoke(mp->qobject, ret, a0, a1, a2, a3, a4, a5, a6,
- a7, a8, a9);
+ Py_BEGIN_ALLOW_THREADS
+ failed = !method.invoke(mp->qobject, Qt::DirectConnection, ret, a0, a1,
+ a2, a3, a4, a5, a6, a7, a8, a9);
+ Py_END_ALLOW_THREADS
if (failed)
{
diff --git a/qpy/pylupdate/fetchtr.cpp b/qpy/pylupdate/fetchtr.cpp
index 1089c71d..03eecb34 100644
--- a/qpy/pylupdate/fetchtr.cpp
+++ b/qpy/pylupdate/fetchtr.cpp
@@ -198,7 +198,7 @@ static void startTokenizer( const char *fileName, int (*getCharFunc)(),
yyParenLineNo = 1;
yyCodecForTr = codecForTr;
if (!yyCodecForTr)
- yyCodecForTr = QTextCodec::codecForName("ISO-8859-1");
+ yyCodecForTr = QTextCodec::codecForName("UTF-8");
Q_ASSERT(yyCodecForTr);
yyCodecForSource = codecForSource;
diff --git a/qpy/pylupdate/metatranslator.cpp b/qpy/pylupdate/metatranslator.cpp
index 5c5f6d8e..fa206422 100644
--- a/qpy/pylupdate/metatranslator.cpp
+++ b/qpy/pylupdate/metatranslator.cpp
@@ -72,7 +72,10 @@ static bool encodingIsUtf8( const QXmlAttributes& atts )
return ( atts.value(i) == QString("UTF-8") );
}
}
- return false;
+
+ // tr() and trUtf8() became identical in Qt v5.6 so we assume UTF-8 if not
+ // specified otherwise.
+ return true;
}
class TsHandler : public QXmlDefaultHandler
@@ -247,6 +250,18 @@ static QString numericEntity( int ch )
.arg( ch, 0, 16 );
}
+static QString protect_qs(const QString &qs)
+{
+ QString protected_qs(qs);
+
+ protected_qs.replace(QLatin1String("\""), QLatin1String("""))
+ .replace(QLatin1String("<"), QLatin1String("<"))
+ .replace(QLatin1String(">"), QLatin1String(">"))
+ .replace(QLatin1String("&"), QLatin1String("&"));
+
+ return protected_qs;
+}
+
static QString protect( const QByteArray& str )
{
QString result;
@@ -281,7 +296,7 @@ static QString protect( const QByteArray& str )
static QString evilBytes( const QByteArray& str, bool utf8 )
{
if ( utf8 ) {
- return protect( str );
+ return protect_qs(QString::fromUtf8(str));
} else {
QString result;
QByteArray t = protect( str ).toLatin1();
@@ -394,7 +409,7 @@ MetaTranslator& MetaTranslator::operator=( const MetaTranslator& tor )
void MetaTranslator::clear()
{
mm.clear();
- codecName = "ISO-8859-1";
+ codecName = "UTF-8";
codec = 0;
}
@@ -432,17 +447,18 @@ bool MetaTranslator::save( const QString& filename ) const
return false;
QTextStream t( &f );
- t.setCodec( QTextCodec::codecForName("ISO-8859-1") );
+ t.setCodec("UTF-8");
//### The xml prolog allows processors to easily detect the correct encoding
t << "<?xml version=\"1.0\"";
t << " encoding=\"utf-8\"";
- t << "?>\n<!DOCTYPE TS><TS version=\"2.0\"";
+ t << "?>\n<!DOCTYPE TS>\n<TS version=\"2.1\"";
if (!languageCode().isEmpty() && languageCode() != QLatin1String("C"))
- t << " language=\"" << languageCode() << "\"" <<\
- " sourcelanguage=\"" << sourceLanguageCode() << "\"";
+ t << " language=\"" << languageCode() << "\"";
+ if (!sourceLanguageCode().isEmpty())
+ t << " sourcelanguage=\"" << sourceLanguageCode() << "\"";
t << ">\n";
- if ( codecName != "ISO-8859-1" )
+ if (codecName != "UTF-8")
t << "<defaultcodec>" << codecName << "</defaultcodec>\n";
TMM::ConstIterator m = mm.begin();
while ( m != mm.end() ) {
@@ -463,10 +479,7 @@ bool MetaTranslator::save( const QString& filename ) const
}
} while ( ++m != mm.end() && QByteArray(m.key().context()) == context );
- t << "<context";
- if ( contextIsUtf8 )
- t << " encoding=\"UTF-8\"";
- t << ">\n";
+ t << "<context>\n";
t << " <name>" << evilBytes( context, contextIsUtf8 )
<< "</name>\n";
if ( !comment.isEmpty() )
@@ -481,8 +494,6 @@ bool MetaTranslator::save( const QString& filename ) const
continue;
t << " <message";
- if ( msg.utf8() )
- t << " encoding=\"UTF-8\"";
if ( msg.isPlural() )
t << " numerus=\"yes\"";
t << ">\n";
@@ -511,10 +522,10 @@ bool MetaTranslator::save( const QString& filename ) const
languageAndCountry(m_language, &l, &c);
QStringList translns = normalizedTranslations(msg, l, c);
for (int j = 0; j < qMax(1, translns.count()); ++j)
- t << " <numerusform>" << protect( translns.value(j).toUtf8() ) << "</numerusform>\n";
+ t << " <numerusform>" << protect_qs(translns.value(j)) << "</numerusform>\n";
t << " ";
} else {
- t << protect( msg.translation().toUtf8() );
+ t << protect_qs(msg.translation());
}
t << "</translation>\n";
t << " </message>\n";
diff --git a/sip/QtCore/qglobal.sip b/sip/QtCore/qglobal.sip
index 6ef96e61..9ddfb581 100644
--- a/sip/QtCore/qglobal.sip
+++ b/sip/QtCore/qglobal.sip
@@ -29,8 +29,8 @@ int PYQT_VERSION;
const char *PYQT_VERSION_STR;
%ModuleCode
-static int PYQT_VERSION = 0x050f04;
-static const char *PYQT_VERSION_STR = "5.15.4";
+static int PYQT_VERSION = 0x050f05;
+static const char *PYQT_VERSION_STR = "5.15.5";
%End
const int QT_VERSION;
const char *QT_VERSION_STR;
diff --git a/sip/QtCore/qpycore_qmap.sip b/sip/QtCore/qpycore_qmap.sip
index b642b734..ccff1310 100644
--- a/sip/QtCore/qpycore_qmap.sip
+++ b/sip/QtCore/qpycore_qmap.sip
@@ -347,6 +347,8 @@ template<_TYPE1_, _TYPE2_>
PyErr_SetString(PyExc_NotImplementedError,
"converting to QMultiMap<_TYPE1_, _TYPE2_> is unsupported");
+ *sipIsErr = 1;
+
return 0;
%End
};
diff --git a/sip/QtGui/qpdfwriter.sip b/sip/QtGui/qpdfwriter.sip
index d3a78566..bb76554d 100644
--- a/sip/QtGui/qpdfwriter.sip
+++ b/sip/QtGui/qpdfwriter.sip
@@ -36,6 +36,7 @@ public:
void setCreator(const QString &creator);
virtual bool newPage();
virtual void setPageSize(QPagedPaintDevice::PageSize size);
+ bool setPageSize(const QPageSize &pageSize);
virtual void setPageSizeMM(const QSizeF &size);
virtual void setMargins(const QPagedPaintDevice::Margins &m);
diff --git a/sip/QtWidgets/qcompleter.sip b/sip/QtWidgets/qcompleter.sip
index 46f5e826..2e4f1ab3 100644
--- a/sip/QtWidgets/qcompleter.sip
+++ b/sip/QtWidgets/qcompleter.sip
@@ -41,9 +41,9 @@ public:
CaseInsensitivelySortedModel,
};
- QCompleter(QObject *parent /TransferThis/ = 0);
QCompleter(QAbstractItemModel *model, QObject *parent /TransferThis/ = 0);
QCompleter(const QStringList &list, QObject *parent /TransferThis/ = 0);
+ QCompleter(QObject *parent /TransferThis/ = 0);
virtual ~QCompleter();
void setWidget(QWidget *widget /Transfer/);
QWidget *widget() const;
More information about the Neon-commits
mailing list