Kaydet (Commit) c6a23023 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl Kaydeden (comit) Tomaž Vajngerl

Add origin URL to Graphic to remember where the image came from

Change-Id: I73e7377c2049211de0b464efff03058dc5de33a6
Reviewed-on: https://gerrit.libreoffice.org/49554Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
üst d4a44dc4
...@@ -196,6 +196,9 @@ public: ...@@ -196,6 +196,9 @@ public:
return reinterpret_cast<std::size_t>(ImplGetImpGraphic()); return reinterpret_cast<std::size_t>(ImplGetImpGraphic());
} }
OUString getOriginURL() const;
void setOriginURL(OUString const & rOriginURL);
public: public:
std::shared_ptr<GraphicReader>& GetContext(); std::shared_ptr<GraphicReader>& GetContext();
......
...@@ -50,6 +50,7 @@ private: ...@@ -50,6 +50,7 @@ private:
bool mbDummyContext; bool mbDummyContext;
VectorGraphicDataPtr maVectorGraphicData; VectorGraphicDataPtr maVectorGraphicData;
css::uno::Sequence<sal_Int8> maPdfData; css::uno::Sequence<sal_Int8> maPdfData;
OUString msOriginURL;
private: private:
...@@ -70,6 +71,16 @@ private: ...@@ -70,6 +71,16 @@ private:
bool operator==( const ImpGraphic& rImpGraphic ) const; bool operator==( const ImpGraphic& rImpGraphic ) const;
bool operator!=( const ImpGraphic& rImpGraphic ) const { return !( *this == rImpGraphic ); } bool operator!=( const ImpGraphic& rImpGraphic ) const { return !( *this == rImpGraphic ); }
OUString getOriginURL() const
{
return msOriginURL;
}
void setOriginURL(OUString const & rOriginURL)
{
msOriginURL = rOriginURL;
}
void ImplCreateSwapInfo(); void ImplCreateSwapInfo();
void ImplClearGraphics(); void ImplClearGraphics();
void ImplClear(); void ImplClear();
......
...@@ -597,6 +597,23 @@ const uno::Sequence<sal_Int8>& Graphic::getPdfData() const ...@@ -597,6 +597,23 @@ const uno::Sequence<sal_Int8>& Graphic::getPdfData() const
return mxImpGraphic->maPdfData; return mxImpGraphic->maPdfData;
} }
OUString Graphic::getOriginURL() const
{
if (mxImpGraphic)
{
return mxImpGraphic->getOriginURL();
}
return OUString();
}
void Graphic::setOriginURL(OUString const & rOriginURL)
{
if (mxImpGraphic)
{
mxImpGraphic->setOriginURL(rOriginURL);
}
}
namespace { namespace {
struct Id: public rtl::Static<cppu::OImplementationId, Id> {}; struct Id: public rtl::Static<cppu::OImplementationId, Id> {};
......
...@@ -120,6 +120,7 @@ ImpGraphic::ImpGraphic(const ImpGraphic& rImpGraphic) ...@@ -120,6 +120,7 @@ ImpGraphic::ImpGraphic(const ImpGraphic& rImpGraphic)
, mbDummyContext(rImpGraphic.mbDummyContext) , mbDummyContext(rImpGraphic.mbDummyContext)
, maVectorGraphicData(rImpGraphic.maVectorGraphicData) , maVectorGraphicData(rImpGraphic.maVectorGraphicData)
, maPdfData(rImpGraphic.maPdfData) , maPdfData(rImpGraphic.maPdfData)
, msOriginURL(rImpGraphic.msOriginURL)
{ {
if( rImpGraphic.mpGfxLink ) if( rImpGraphic.mpGfxLink )
mpGfxLink = o3tl::make_unique<GfxLink>( *rImpGraphic.mpGfxLink ); mpGfxLink = o3tl::make_unique<GfxLink>( *rImpGraphic.mpGfxLink );
...@@ -145,6 +146,7 @@ ImpGraphic::ImpGraphic(ImpGraphic&& rImpGraphic) ...@@ -145,6 +146,7 @@ ImpGraphic::ImpGraphic(ImpGraphic&& rImpGraphic)
, mbDummyContext(rImpGraphic.mbDummyContext) , mbDummyContext(rImpGraphic.mbDummyContext)
, maVectorGraphicData(std::move(rImpGraphic.maVectorGraphicData)) , maVectorGraphicData(std::move(rImpGraphic.maVectorGraphicData))
, maPdfData(std::move(rImpGraphic.maPdfData)) , maPdfData(std::move(rImpGraphic.maPdfData))
, msOriginURL(rImpGraphic.msOriginURL)
{ {
rImpGraphic.ImplClear(); rImpGraphic.ImplClear();
rImpGraphic.mbDummyContext = false; rImpGraphic.mbDummyContext = false;
...@@ -211,6 +213,7 @@ ImpGraphic& ImpGraphic::operator=( const ImpGraphic& rImpGraphic ) ...@@ -211,6 +213,7 @@ ImpGraphic& ImpGraphic::operator=( const ImpGraphic& rImpGraphic )
maSwapInfo = rImpGraphic.maSwapInfo; maSwapInfo = rImpGraphic.maSwapInfo;
mpContext = rImpGraphic.mpContext; mpContext = rImpGraphic.mpContext;
mbDummyContext = rImpGraphic.mbDummyContext; mbDummyContext = rImpGraphic.mbDummyContext;
msOriginURL = rImpGraphic.msOriginURL;
mpAnimation.reset(); mpAnimation.reset();
...@@ -254,6 +257,7 @@ ImpGraphic& ImpGraphic::operator=(ImpGraphic&& rImpGraphic) ...@@ -254,6 +257,7 @@ ImpGraphic& ImpGraphic::operator=(ImpGraphic&& rImpGraphic)
mpGfxLink = std::move(rImpGraphic.mpGfxLink); mpGfxLink = std::move(rImpGraphic.mpGfxLink);
maVectorGraphicData = std::move(rImpGraphic.maVectorGraphicData); maVectorGraphicData = std::move(rImpGraphic.maVectorGraphicData);
maPdfData = std::move(rImpGraphic.maPdfData); maPdfData = std::move(rImpGraphic.maPdfData);
msOriginURL = rImpGraphic.msOriginURL;
rImpGraphic.ImplClear(); rImpGraphic.ImplClear();
rImpGraphic.mbDummyContext = false; rImpGraphic.mbDummyContext = false;
...@@ -373,6 +377,7 @@ void ImpGraphic::ImplClear() ...@@ -373,6 +377,7 @@ void ImpGraphic::ImplClear()
ImplClearGraphics(); ImplClearGraphics();
meType = GraphicType::NONE; meType = GraphicType::NONE;
mnSizeBytes = 0; mnSizeBytes = 0;
msOriginURL.clear();
} }
void ImpGraphic::ImplSetDefaultType() void ImpGraphic::ImplSetDefaultType()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment