summaryrefslogtreecommitdiff
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Do not reallocate memory for QImageAllan Sandfeld Jensen2017-06-201-1/+2
| | | | | | | | | | If the QImage given to read() already has the right size and depth, we don't need to allocate a new image. This is consistent with other image decoders and why a QImage is provided to the method in the first place. Change-Id: I4944211d4a8d4f19d000cace4a48df505d375f52 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9v5.9.0-beta4v5.9.0-beta3Liang Qi2017-04-181-1/+1
|\ | | | | | | Change-Id: I4b41cae71f5a5f734a7e3bb8b95130b0cb35e0ac
| * QSvgIconEngine: Paint correct size if device pixel ratio is fractional5.8Błażej Szczygieł2017-03-271-1/+1
| | | | | | | | | | | | | | | | Use method which returns qreal. It is available since Qt 5.6. Task-number: QTBUG-59729 Change-Id: Ifc1a101c8dd837597c35ce14f0314218d2882501 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Use defaultSize according to svg standard in svg pluginLars Schmertmann2017-01-041-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | The viewBox attribute defines the svg internal coordinate system. If no width/height is set, the viewBox size is the right choice for defaultSize. Otherwise the standard prescribes that the specified height/width must be used. The old behavior ignored the width and height attributes, and this caused a lot of problems in qml. If the viewBox was very small the result was a low resolution image. If the viewBox was very large, loading took ages and the result used much more memory than needed. Both situations could be avoided by setting sourceSize. But when using the same image several times, the sourceSize must be set every time to the same value, otherwise the image cache would not work. It is cheaper to have the same high-quality source image in the cache, and scale it down when required. With the new behavior it is possible to control the default image size directly in the svg file at one place while it is still possible to set different sourceSizes if needed. Task-number: QTBUG-44863 Change-Id: I9c2fc7c122a29ebcf288b7cbd12427e081d404d5 Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-269-37/+50
|\ | | | | | | Change-Id: I43247261a4dc8badc4ad4f4d2137cdbd499f29db
| * Merge remote-tracking branch 'origin/5.6' into 5.75.7Liang Qi2016-11-247-3/+32
| |\ | | | | | | | | | Change-Id: Ibcca419da389fc7538ee050de7c59e8b400e1978
| | * Use separate metadata files for plugins if QT_NO_COMPRESS is definedAlexander Volkov2016-11-105-0/+16
| | | | | | | | | | | | | | | | | | | | | Change-Id: Ib15aa96c2ed84cf3ce9793385476f9fb3cacec8c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Imageformat plugin: Add mime type "image/svg+xml-compressed"Alexander Volkov2016-11-101-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I3cf5d9b6d6212128adab4682de33b192672f7c1f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Ignore .svgz images unless compression is enabledAlexander Volkov2016-10-272-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The imageformats plugin was trying to pass them off to QSvgRenderer, which can't handle them when QT_NO_COMPRESS is defined. Change-Id: I92241370d8fd4ed2328fb13a01306fa8a7e5ef6e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * | Remove unused methods from plugin classes5.7.1Alexander Volkov2016-11-112-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove QIconEnginePlugin::keys() and QImageIOPlugin::keys(): they are not overriders since Qt 5.0. Change-Id: I9127b5b72c9c37b450c6f0d0095e47b8d5454322 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Add missing 'override' keyword to pluginsAlexander Volkov2016-11-114-18/+18
| | | | | | | | | | | | | | | | | | | | | Change-Id: I423b8531434d221880410cb3b40f10e6061769ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | Fix checking for feature 'imageformatplugin' in pluginsFriedemann Kleint2016-11-241-2/+2
|/ / | | | | | | | | | | | | | | Fix warning: qtsvg/src/plugins/plugins.pro:3: Cannot find feature qfeatures Change-Id: I0484aa2b1b217f1e22dc91a5d346bfeade175ab4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.1Liang Qi2016-09-171-1/+1
|\ \ | |/ | | | | Change-Id: I7680d625bf0afec0bfd16a97c6656aab426f39a7
| * Fix UB (signed overflow) in QSvgIconEnginePrivate::pmcKey()Marc Mutz2016-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by UBsan: qsvgiconengine.cpp:64:84: runtime error: left shift of 537133056 by 4 places cannot be represented in type 'int' Fix by casting to qint64 at the start of the shift-or chain. The total cumulative shift is by 28 places, so 64 bits should be enough to not overflow anymore. Change-Id: Ia37bc98c5af67a4de10fb9807addd369110f36d2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QSvgIconEngine::addFile(): Use QMimeDatabase to determine file typeFriedemann Kleint2016-08-301-18/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | Introduce an enumeration to describe the file type and use QMimeDatbase to determine the type. This will detect SVG files also in the case resource aliases without suffixes are used. As a drive by, do not pass compressed SVG files to QPixmap when QT_NO_COMPRESS is defined, as this likely results in garbage. Task-number: QTBUG-55388 Change-Id: Ib8bafca60e9238412a5c7edf560d487e512b8fd0 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-rc1Liang Qi2016-05-191-2/+7
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I55408b98072be007247bca4fa61f1a62ce32e7ca
| * Fix QSvgIconEngine fallback to try icon with same state firstJoni Poikelin2016-05-121-2/+7
| | | | | | | | | | | | | | | | | | | | If icon is not explicitly set, QSvgIconEngine always took Normal Off icon. Task-number: QTBUG-53328 Change-Id: I404206b0244d0009f7be1f520c2e84c0b7cd3e71 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-072-10/+10
|\ \ | |/ | | | | Change-Id: I690e64f28de8d7a7768213f89858d3c19246fa08
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-252-10/+10
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I20b0d2c018e3adce10629aee3fa055df437df71c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-alpha1Liang Qi2016-02-151-2/+2
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ia508d1e3f74dd35ac28b104c0cbdacdb6fe16d6b
| * Improve format detection in the image reader pluginv5.6.0-beta1Eirik Aavitsland2015-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | canRead() would reject a file starting with an xml comment. canRead() by design accepts anything that looks like the start of an xml file, and the comment token "<!--" should be an indicator as good as any of an xml file. Task-number: QTBUG-49496 Change-Id: Id3c17f6b02344fa6a20bc2a839e345e5cebc14c2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Fix building with unusual optionsUlf Hermann2016-02-083-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | When building without image format plugins we shouldn't even try to build the svg image format plugin. Otherwise it will fail to load later. Then icon engine plugin, however, can easily be built even without image formats. Furthermore, the network example needs bearer management. Change-Id: I1380e5b2de7d112283ef0fb65a01a5049412af55 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-256-84/+120
| | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I4bbd8b2a35222b925c6e5cef6337e6237d3e1716 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QSvgIconEngine: fix expensive iteration over QHash::keys()Anton Kudryavtsev2016-01-131-5/+5
| | | | | | | | | | Change-Id: I5bb1c630eff9d484098fcade5da6b1ed3680bc27 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QSvgIconEngine: fix build with QT_NO_COMPRESSAnton Kudryavtsev2015-12-071-1/+2
|/ | | | | Change-Id: Ic899f7ac59f11d84d76101f8221051a7d94fdd9a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Imageformat plugin: Set mime type "image/svg+xml"Alessandro Portale2015-03-171-1/+2
| | | | | | | | QImageWriter::supportedMimeTypes() is missing "image/svg+xml", because it was missing in svg.json. Change-Id: Ica006e2a9e921deed5469c58f939b585dbf8c4ea Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-201-1/+4
|\ | | | | | | | | | | | | Conflicts: LICENSE.GPLv2 Change-Id: Id7e321e81c3b3af0c17c9d32d25c0bb905974728
| * Account for the devicePixelRatio when painting the iconAndy Shaw2015-02-181-1/+4
| | | | | | | | | | Change-Id: Ie5995a71780842c86ce017793f4ed744c930bbbb Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-116-42/+42
|/ | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ie7d37928ebd680c6f1b20045de11abcd5595c73f Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update license headers and add new license filesv5.4.0-alpha1Antti Kokko2014-08-256-113/+65
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I847adeea20fd98e5c9a18b8c44a15de84283f216 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Remove obsolete dependency on QtXmlv5.3.1stable5.3.1Alessandro Portale2014-05-201-1/+1
| | | | | | | | | | | | A while a go, QtSvg was changed to use the QXmlStream* classes from QtCore. Now, only tests/auto/qsvggenerator is left with a QtXml dependency. This patch also reverts commit b719b93770393bbf20251e1dffc70498061e612c Change-Id: I67417a27aa66a2db6d1985cad73e5bab806ad7d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove dependency of the SVG icon engine plugin on QtWidgets.Friedemann Kleint2014-05-163-10/+6
| | | | | | | | | Use the virtual QGuiApplicationPrivate::applyQIconStyleHelper() introduced by commit 6c06e14a49773ce5572935864ed6b9be219c6103 in qtbase to adapt the icon according to the style. Change-Id: I7c429f818c012c58118c64cc3b20a87fcb712877 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Let svg plugins extend svg modulev5.3.0-rc1v5.3.0release5.3.0Richard Moe Gustavsen2014-05-022-2/+2
| | | | | | | | | | | | | svg plugins are by default not linked together with QtGui since its usage is rare. But when the pro file contains Qt += svg, then its the opposite; The application is likely to need the svg plugins. Many of the examples shipped with the SDK fails building on iOS (e.g accelbubble) because of this. Change-Id: I83873d5405fde2b3d38e836057d55fcc2ceb9b6c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* avoid that SVG-based plugins are automatically linked to static appsOswald Buddenhagen2014-04-092-0/+2
| | | | | | | these plugins are relatively unlikely to be needed, so exclude them. Change-Id: I57461ccdc9a7114444a2f623328239e580e4c2e9 Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Fixes: runtime warnings when trying to render 0-size iconv5.3.0-beta1aavit2014-03-171-0/+3
| | | | | | Task-number: QTBUG-37035 Change-Id: I014988cdb57a2001685a8d50d79ee103322ed021 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Remove unused pmKey functionv5.2.1Thiago Macieira2014-01-091-5/+0
| | | | | | | Found by Clang 3.4. Change-Id: Ie4e9fc535ee44caae561aacdc245c64ea5b30b46 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* remove pointless #ifndef QT_NO_SVGOswald Buddenhagen2013-10-292-4/+1
| | | | | | | the way to disable the feature is to not compile the module. Change-Id: I96f18d037243f7d6e3b3cb2c23922cc4c05c30a8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make use of qtHaveModule()Oswald Buddenhagen2013-01-111-1/+1
| | | | | Change-Id: Idd8bca1e8e9bb183bc6725b9a9d6a220d609869d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-106-6/+6
| | | | | | Change-Id: Icf9d15a0f1f38ab60f0dd8fc2bc6ac936dd7dc62 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Fix crash when running in a QGuiApplicationAlbert Astals Cid2012-12-201-5/+7
| | | | | | | | | | | | A QGuiApplication has no style so crashes on a null pointer or asserts in qtbase Changed test to not depend on widgets so we get a QGuiApplication instead of a QApplication Change-Id: Ib4dcc8f8679d3e6b8c11f7ccd5b2539c9de0803b Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Add PLUGIN_CLASS_NAME to qtsvg pluginsMiikka Heikkinen2012-12-102-0/+2
| | | | | | | | Needed for automating static plugin loading. Task-number: QTBUG-28131 Change-Id: Icfcc07e659c7d07342a7892923d485b54321eae1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* adjust to qt_plugin.prf changesv5.0.0-beta2Oswald Buddenhagen2012-11-012-8/+4
| | | | | | | | DESTDIR and INSTALLS+=target are set up automatically now, but PLUGIN_TYPE needs to be defined. Change-Id: Ib813d8bc48dad023322c476ca6f93bae4effa62a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-246-144/+144
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie28eae89f2ad032f174ff840cc6a44d8dd511eed Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* centralize load(qt_build_config)s in .qmake.confOswald Buddenhagen2012-09-112-4/+0
| | | | | Change-Id: I03f7850e1cda2766c19a7ed82f0de6577cca5210 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Make qtsvg compile with -no-widgetsTasuku Suzuki2012-07-101-1/+1
| | | | | | | disable building all examples, almost all tests and a plugin Change-Id: I80f923dfe2c3cfa6e27b52db092a9770c3d9fbd4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* build system cleanupsOswald Buddenhagen2012-06-232-2/+2
| | | | | | | | | | | | | | | - load(qt_module) => load(qt_build_config) - remove: - CONFIG+=module (obsolete) - setup of PKGCONFIG* variables (automated now) - code relating to module version headers (automated now) - %mastercontent assignment (automated now) - QT_BUILD_*_LIB defines (automated now) - pointless QPRO_PWD assignments - pointless and commented out include and depend paths Change-Id: I6397e2606f741de2d756886a029956682ab09161 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QIcon has been moved back to QtGuiOlivier Goffart2012-05-192-2/+2
| | | | | | Change-Id: I04aaa8ddf09b70e51357403ccad1d5acd08251b6 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Remove Symbian and Maemo code from QtSvgJanne Anttila2012-04-191-2/+0
| | | | | | Change-Id: Ib951c2d3878dc9533131ee6d3dae122c4bbec807 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Use new plugin system in QtSvg.Friedemann Kleint2012-02-175-8/+17
| | | | | Change-Id: I9e588b7907f1d956d1f1feb018d61e375130b2d9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QtSvg: Fix compile.Friedemann Kleint2012-02-013-7/+7
| | | | | | | | | | - Rename of QIconEngineV2 to QIconEngine. - Fix test to run (add column). Change-Id: Iea25847ef7e239927cf5bf1c0ea60454a8d6a158 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>