summaryrefslogtreecommitdiff
path: root/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-06-131-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: Ie5a75414af5fda27f5b5f527f3543b088b674677 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix build without features.mimetypeTasuku Suzuki2021-04-151-2/+4
| | | | | Change-Id: I0438c040837dddc80453826b423822679f94774c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Port from devicePixelRatioF() to devicePixelRatio()Morten Johan Sørvig2020-09-141-1/+1
| | | | | Change-Id: I25e779c7a668cf9f2fb2b2c56c5d8bccba138153 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix deprecation warningsv5.13.0-alpha1Friedemann Kleint2019-02-051-1/+1
| | | | | | | | | | | | | | | | | Fix: qsvgiconengine.cpp: In member function ‘virtual QPixmap QSvgIconEngine::pixmap(const QSize&, QIcon::Mode, QIcon::State)’: qsvgiconengine.cpp:200:38: warning: ‘static bool QPixmapCache::find(const QString&, QPixmap&)’ is deprecated: Use bool find(const QString &, QPixmap *) instead [-Wdeprecated-declarations] tst_qsvgrenderer.cpp:479:54: warning: ‘const QMatrix& QPainter::worldMatrix() const’ is deprecated: Use worldTransform() instead [-Wdeprecated-declarations] ... glwidget.cpp: In member function ‘void GLWidget::draw()’: glwidget.cpp:231:41: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations] glwidget.cpp:232:41: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations] fluidlauncher.cpp:71:65: warning: ‘const QRect QDesktopWidget::screenGeometry(int) const’ is deprecated: Use QGuiApplication::screens() [-Wdeprecated-declarations] Change-Id: Iae20d950c3118d05f91202c8020dbd81fa73b48f Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Make svg icons work as pixmap iconsThorbjørn Martsum2018-06-111-25/+70
| | | | | | | | | | | | | | | | This patch makes the svg icon code similar to the code for pixmap icons. We only style the code if we fetch a different mode (+it is not normal) and we try to find icons in same order as the pixmap icons. [ChangeLog][][QIcon/QSvgIconEngine] Made SVG icons behave like pixmap icons: An explicitly-set disabled icon is no longer additionally grayed out. Task-number: QTBUG-67452 Change-Id: I94b4146bae2e9d924a96b602bf23909bd7f0e934 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Morten Kristensen <msk@nullpointer.dk> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* svgiconengine: Fix isNull() for deserialized iconsPalo Kisa2018-01-101-1/+1
| | | | | | | | | | | | | | | In 4a9470e55ce08752501868c60762268fdf2c44af there was introduced specific isNull() implementation for QSvgIconEngine. But the existing check was not sufficient for the scenarios where the QIcon is constructed by deserialization from QDataStream (from previously serialized valid svg QIcon). We also need to check the svgBuffers as the previously serialized svgFiles are silently ignored by QSvgIconEngine::read(). Change-Id: Id64ce233baead053c8b5ca61f1d416e46a8c6088 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-211-1/+1
|\ | | | | | | Change-Id: I855627bf0387be820d97bbc0226fed07fd1db64a
| * 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>
* | Implement QIcon::isNull support for QtSVG IconsDavid Edmundson2017-04-041-0/+8
|/ | | | | | | | | | | | This was via a virtual hook in QIconEngine in Qt 5.7 This is especially useful for the SVG icon loader which returns no availableSizes which means we currently have no way to tell if an icon was loaded or not. Change-Id: Ic14971f94213fb2309f29bd0daa0a1c387d4da3c Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* 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>
* | Updated license headersJani Heikkinen2016-01-251-14/+20
| | | | | | | | | | | | | | | | | | | | | | 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>
* 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-111-7/+7
|/ | | | | | | | | | 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-251-18/+10
| | | | | | | | | - 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 dependency of the SVG icon engine plugin on QtWidgets.Friedemann Kleint2014-05-161-8/+4
| | | | | | | | | 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>
* 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>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | 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>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-241-24/+24
| | | | | | | | 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>
* QtSvg: Fix compile.Friedemann Kleint2012-02-011-2/+2
| | | | | | | | | | - 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>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I5f2eda9477944e22ec5f6dd07dcb53feaa9fc03b Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Ia89ccb618e630103d60a6e2703e3fbedae0616a6 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | | Change-Id: I2dda86020c6d4b3edf8461733b14a95b9e519afc Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update licenseheader text in source files for qtsvg Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+357
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12