diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2016-10-31 13:28:26 +0100 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2016-10-31 14:49:57 +0000 |
commit | c3043a3072465c489d3b20991b17d222771305eb (patch) | |
tree | 8981124cc9435802c72e1123d5e16a404e4d239f /vcl/source/image | |
parent | 7de287ba422107f54018f2ba0f054d642c86c966 (diff) |
tdf#103591 icon theme name resolving, ui fixes, prioritize png
- Prefer "png" over "svg" because for Tango theme we include both
"png" and "svg" icon, but rendering of "svg" crashes
- We save the choice of which icons to use into the profile. When
32px icons were added the values have shifted - "auto" had value
2 has became "32px" choice and "auto" has the new value 3. In the
case of the default "auto", we now always showed 32px icons. This
commit reverts the "auto" value 2 and puts "32px" choice to 3.
- Name resolving now always removes the icon file extension and
adds the ".png" and ".svg" extension before resolving. This
makes it possible to define the name of the icon without the
file extension.
Change-Id: I05e3913aaee0037692609ced246954b14a13828a
Reviewed-on: https://gerrit.libreoffice.org/30440
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'vcl/source/image')
-rw-r--r-- | vcl/source/image/ImplImageTree.cxx | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/vcl/source/image/ImplImageTree.cxx b/vcl/source/image/ImplImageTree.cxx index 87bb8cbd6c5b..bd36080633e2 100644 --- a/vcl/source/image/ImplImageTree.cxx +++ b/vcl/source/image/ImplImageTree.cxx @@ -52,6 +52,22 @@ namespace { +OUString convertLcTo32Path(OUString const & rPath) +{ + OUString aResult; + if (rPath.lastIndexOf('/') != -1) + { + sal_Int32 nCopyFrom = rPath.lastIndexOf('/') + 1; + OUString sFile = rPath.copy(nCopyFrom); + OUString sDir = rPath.copy(0, rPath.lastIndexOf('/')); + if (!sFile.isEmpty() && sFile.startsWith("lc_")) + { + aResult = sDir + "/32/" + sFile.copy(3); + } + } + return aResult; +} + OUString createPath(OUString const & name, sal_Int32 pos, OUString const & locale) { return name.copy(0, pos + 1) + locale + name.copy(pos); @@ -177,15 +193,15 @@ std::vector<OUString> ImplImageTree::getPaths(OUString const & name, LanguageTag { for (OUString& rFallback : rLanguageTag.getFallbackStrings(true)) { - OUString aFallbackName = getRealImageName(createPath(name, pos, rFallback)); - sPaths.push_back(getNameNoExtension(aFallbackName) + ".svg"); - sPaths.push_back(aFallbackName); + OUString aFallbackName = getNameNoExtension(getRealImageName(createPath(name, pos, rFallback))); + sPaths.push_back(aFallbackName + ".png"); + sPaths.push_back(aFallbackName + ".svg"); } } - OUString aRealName = getRealImageName(name); - sPaths.push_back(getNameNoExtension(aRealName) + ".svg"); - sPaths.push_back(aRealName); + OUString aRealName = getNameNoExtension(getRealImageName(name)); + sPaths.push_back(aRealName + ".png"); + sPaths.push_back(aRealName + ".svg"); return sPaths; } @@ -458,22 +474,6 @@ void ImplImageTree::loadImageLinks() } } -OUString convertLcTo32Path(OUString const & rPath) -{ - OUString aResult; - if (rPath.lastIndexOf('/') != -1) - { - sal_Int32 nCopyFrom = rPath.lastIndexOf('/') + 1; - OUString sFile = rPath.copy(nCopyFrom); - OUString sDir = rPath.copy(0, rPath.lastIndexOf('/')); - if (!sFile.isEmpty() && sFile.startsWith("lc_")) - { - aResult = sDir + "/32/" + sFile.copy(3); - } - } - return aResult; -} - void ImplImageTree::parseLinkFile(std::shared_ptr<SvStream> const & xStream) { OString aLine; |