summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-01-05 14:04:48 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-01-05 15:00:54 +0000
commit4f5cd607e30633ca51263c2f45c4753e8990302f (patch)
tree5aba23b6bbaf5b0fa16fb5faa702c56c5f144aa0 /vcl
parent57990e4b8ea2eaeb478b161b568e31036c7a5fe4 (diff)
move CommandImageResolver out of vcl and beside its only user
Change-Id: I2bd70d87bb12d5750d8427b8a8fe786cfce8961b
Diffstat (limited to 'vcl')
-rw-r--r--vcl/Library_vcl.mk1
-rw-r--r--vcl/source/bitmap/CommandImageResolver.cxx161
2 files changed, 0 insertions, 162 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 050ee31be90a..07566d0eb194 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -311,7 +311,6 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/source/bitmap/BitmapProcessor \
vcl/source/bitmap/BitmapTools \
vcl/source/bitmap/checksum \
- vcl/source/bitmap/CommandImageResolver \
vcl/source/image/Image \
vcl/source/image/ImageArrayData \
vcl/source/image/ImageList \
diff --git a/vcl/source/bitmap/CommandImageResolver.cxx b/vcl/source/bitmap/CommandImageResolver.cxx
deleted file mode 100644
index d34140d3b9d3..000000000000
--- a/vcl/source/bitmap/CommandImageResolver.cxx
+++ /dev/null
@@ -1,161 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <vcl/CommandImageResolver.hxx>
-#include <vcl/settings.hxx>
-#include <vcl/svapp.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <tools/urlobj.hxx>
-
-using css::uno::Sequence;
-
-namespace vcl
-{
-
-namespace
-{
-
-static const o3tl::enumarray<ImageType, const char*> ImageType_Prefixes =
-{
- "cmd/sc_",
- "cmd/lc_",
- "cmd/32/"
-};
-
-OUString lclConvertToCanonicalName(const OUString& rFileName)
-{
- bool bRemoveSlash(true);
- sal_Int32 nLength = rFileName.getLength();
- const sal_Unicode* pString = rFileName.getStr();
-
- OUStringBuffer aBuffer(nLength);
-
- for (sal_Int32 i = 0; i < nLength; i++)
- {
- const sal_Unicode cCurrentChar = pString[i];
- switch (cCurrentChar)
- {
- // map forbidden characters to escape
- case '/':
- if (!bRemoveSlash)
- aBuffer.append("%2f");
- break;
- case '\\': aBuffer.append("%5c"); bRemoveSlash = false; break;
- case ':': aBuffer.append("%3a"); bRemoveSlash = false; break;
- case '*': aBuffer.append("%2a"); bRemoveSlash = false; break;
- case '?': aBuffer.append("%3f"); bRemoveSlash = false; break;
- case '<': aBuffer.append("%3c"); bRemoveSlash = false; break;
- case '>': aBuffer.append("%3e"); bRemoveSlash = false; break;
- case '|': aBuffer.append("%7c"); bRemoveSlash = false; break;
- default:
- aBuffer.append(cCurrentChar); bRemoveSlash = false; break;
- }
- }
- return aBuffer.makeStringAndClear();
-}
-
-} // end anonymouse namespace
-
-CommandImageResolver::CommandImageResolver()
-{
- for (ImageList*& rp : m_pImageList)
- rp = nullptr;
-}
-
-CommandImageResolver::~CommandImageResolver()
-{
- for (ImageList* p : m_pImageList)
- delete p;
-}
-
-bool CommandImageResolver::registerCommands(Sequence<OUString>& aCommandSequence)
-{
- sal_Int32 nSequenceSize = aCommandSequence.getLength();
-
- m_aImageCommandNameVector.resize(nSequenceSize);
- m_aImageNameVector.resize(nSequenceSize);
-
- for (sal_Int32 i = 0; i < nSequenceSize; ++i)
- {
- OUString aCommandName(aCommandSequence[i]);
- OUString aImageName;
-
- m_aImageCommandNameVector[i] = aCommandName;
-
- if (aCommandName.indexOf(".uno:") != 0)
- {
- INetURLObject aUrlObject(aCommandName, INetURLObject::EncodeMechanism::All);
- aImageName = aUrlObject.GetURLPath();
- aImageName = lclConvertToCanonicalName(aImageName);
- }
- else
- {
- // just remove the schema
- if (aCommandName.getLength() > 5)
- aImageName = aCommandName.copy(5);
-
- // Search for query part.
- if (aImageName.indexOf('?') != -1)
- aImageName = lclConvertToCanonicalName(aImageName);
- }
-
- // Image names are not case-dependent. Always use lower case characters to
- // reflect this.
- aImageName = aImageName.toAsciiLowerCase();
- aImageName += ".png";
-
- m_aImageNameVector[i] = aImageName;
- m_aCommandToImageNameMap[aCommandName] = aImageName;
- }
- return true;
-}
-
-bool CommandImageResolver::hasImage(const OUString& rCommandURL)
-{
- CommandToImageNameMap::const_iterator pIterator = m_aCommandToImageNameMap.find(rCommandURL);
- return pIterator != m_aCommandToImageNameMap.end();
-}
-
-ImageList* CommandImageResolver::getImageList(ImageType nImageType)
-{
- const OUString sIconTheme = Application::GetSettings().GetStyleSettings().DetermineIconTheme();
-
- if (sIconTheme != m_sIconTheme)
- {
- m_sIconTheme = sIconTheme;
- for (ImageList*& rp : m_pImageList)
- {
- delete rp;
- rp = nullptr;
- }
- }
-
- if (!m_pImageList[nImageType])
- {
- OUString sIconPath = OUString::createFromAscii(ImageType_Prefixes[nImageType]);
- m_pImageList[nImageType] = new ImageList(m_aImageNameVector, sIconPath);
- }
-
- return m_pImageList[nImageType];
-}
-
-Image CommandImageResolver::getImageFromCommandURL(ImageType nImageType, const OUString& rCommandURL)
-{
- CommandToImageNameMap::const_iterator pIterator = m_aCommandToImageNameMap.find(rCommandURL);
- if (pIterator != m_aCommandToImageNameMap.end())
- {
- ImageList* pImageList = getImageList(nImageType);
- return pImageList->GetImage(pIterator->second);
- }
- return Image();
-}
-
-} // end namespace vcl
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */