From f299b565b5904e39a47b6133643448e46810f0ed Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Wed, 4 Jan 2017 16:27:52 +0100 Subject: Implement support for Scale directory key according to Icon Theme spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Qt already supports high DPI icons using the “@nx” approach, where the device pixel ratio that the image was designed for is in the file name. However, our implementation of the freedekstop.org Icon Theme specification did not support the Scale directory key: https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html#directory_layout This meant that users creating icons via QIcon::fromTheme() did not get high DPI support. This patch fixes that. [ChangeLog][QtGui][QIcon] Implemented support for Scale directory key according to Icon Theme Spec. Icons created via QIcon::fromTheme() now have high DPI support by specifying the Scale in the appropriate entry of the relevant index.theme file. Task-number: QTBUG-49820 Change-Id: If442fbc551034166d88defe607109de1c6ca1d28 Reviewed-by: Paul Olav Tvete Reviewed-by: Shawn Rutledge Reviewed-by: Topi Reiniö Reviewed-by: Eirik Aavitsland --- src/gui/doc/src/external-resources.qdoc | 12 +++++++++++- .../doc/src/includes/qiconengine-virtualhookhelper.qdocinc | 3 +++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/gui/doc/src/includes/qiconengine-virtualhookhelper.qdocinc (limited to 'src/gui/doc/src') diff --git a/src/gui/doc/src/external-resources.qdoc b/src/gui/doc/src/external-resources.qdoc index 6a423323ea..480a4057be 100644 --- a/src/gui/doc/src/external-resources.qdoc +++ b/src/gui/doc/src/external-resources.qdoc @@ -49,4 +49,14 @@ /*! \externalpage http://www.opengl.org/wiki/Tessellation_Shader \title OpenGL Tessellation Shaders -*/ \ No newline at end of file +*/ + +/*! + \externalpage https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html + \title Icon Theme Specification +*/ + +/*! + \externalpage https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html#directory_layout + \title Icon Theme Specification - Directory Layout +*/ diff --git a/src/gui/doc/src/includes/qiconengine-virtualhookhelper.qdocinc b/src/gui/doc/src/includes/qiconengine-virtualhookhelper.qdocinc new file mode 100644 index 0000000000..b17d2bd66f --- /dev/null +++ b/src/gui/doc/src/includes/qiconengine-virtualhookhelper.qdocinc @@ -0,0 +1,3 @@ +\note This is a helper method and the actual work is done by the +virtual_hook() method, hence this method depends on icon engine support +and may not work with all icon engines. -- cgit v1.2.3