[Libreoffice-commits] core.git: include/vcl vcl/inc vcl/source

Tomaž Vajngerl tomaz.vajngerl at collabora.co.uk
Sun Feb 11 06:35:55 UTC 2018


 include/vcl/graph.hxx       |    3 +++
 vcl/inc/impgraph.hxx        |   11 +++++++++++
 vcl/source/gdi/graph.cxx    |   17 +++++++++++++++++
 vcl/source/gdi/impgraph.cxx |    5 +++++
 4 files changed, 36 insertions(+)

New commits:
commit c6a23023150c164a19236139fa413d43006ce21c
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date:   Thu Feb 8 20:00:37 2018 +0900

    Add origin URL to Graphic to remember where the image came from
    
    Change-Id: I73e7377c2049211de0b464efff03058dc5de33a6
    Reviewed-on: https://gerrit.libreoffice.org/49554
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/include/vcl/graph.hxx b/include/vcl/graph.hxx
index f0a528c84b42..2ec7a7e14706 100644
--- a/include/vcl/graph.hxx
+++ b/include/vcl/graph.hxx
@@ -196,6 +196,9 @@ public:
         return reinterpret_cast<std::size_t>(ImplGetImpGraphic());
     }
 
+    OUString getOriginURL() const;
+    void setOriginURL(OUString const & rOriginURL);
+
 public:
 
     std::shared_ptr<GraphicReader>& GetContext();
diff --git a/vcl/inc/impgraph.hxx b/vcl/inc/impgraph.hxx
index 1dc5adc30ab5..6c76275abbb2 100644
--- a/vcl/inc/impgraph.hxx
+++ b/vcl/inc/impgraph.hxx
@@ -50,6 +50,7 @@ private:
     bool                         mbDummyContext;
     VectorGraphicDataPtr         maVectorGraphicData;
     css::uno::Sequence<sal_Int8> maPdfData;
+    OUString msOriginURL;
 
 private:
 
@@ -70,6 +71,16 @@ private:
     bool                operator==( const ImpGraphic& rImpGraphic ) const;
     bool                operator!=( const ImpGraphic& rImpGraphic ) const { return !( *this == rImpGraphic ); }
 
+    OUString getOriginURL() const
+    {
+        return msOriginURL;
+    }
+
+    void setOriginURL(OUString const & rOriginURL)
+    {
+        msOriginURL = rOriginURL;
+    }
+
     void                ImplCreateSwapInfo();
     void                ImplClearGraphics();
     void                ImplClear();
diff --git a/vcl/source/gdi/graph.cxx b/vcl/source/gdi/graph.cxx
index 0505bf6e1172..69e962c8ee64 100644
--- a/vcl/source/gdi/graph.cxx
+++ b/vcl/source/gdi/graph.cxx
@@ -597,6 +597,23 @@ const uno::Sequence<sal_Int8>& Graphic::getPdfData() const
     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 {
 
 struct Id: public rtl::Static<cppu::OImplementationId, Id> {};
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index 84aa0462c863..0e4ecc354ed1 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -120,6 +120,7 @@ ImpGraphic::ImpGraphic(const ImpGraphic& rImpGraphic)
     , mbDummyContext(rImpGraphic.mbDummyContext)
     , maVectorGraphicData(rImpGraphic.maVectorGraphicData)
     , maPdfData(rImpGraphic.maPdfData)
+    , msOriginURL(rImpGraphic.msOriginURL)
 {
     if( rImpGraphic.mpGfxLink )
         mpGfxLink = o3tl::make_unique<GfxLink>( *rImpGraphic.mpGfxLink );
@@ -145,6 +146,7 @@ ImpGraphic::ImpGraphic(ImpGraphic&& rImpGraphic)
     , mbDummyContext(rImpGraphic.mbDummyContext)
     , maVectorGraphicData(std::move(rImpGraphic.maVectorGraphicData))
     , maPdfData(std::move(rImpGraphic.maPdfData))
+    , msOriginURL(rImpGraphic.msOriginURL)
 {
     rImpGraphic.ImplClear();
     rImpGraphic.mbDummyContext = false;
@@ -211,6 +213,7 @@ ImpGraphic& ImpGraphic::operator=( const ImpGraphic& rImpGraphic )
         maSwapInfo = rImpGraphic.maSwapInfo;
         mpContext = rImpGraphic.mpContext;
         mbDummyContext = rImpGraphic.mbDummyContext;
+        msOriginURL = rImpGraphic.msOriginURL;
 
         mpAnimation.reset();
 
@@ -254,6 +257,7 @@ ImpGraphic& ImpGraphic::operator=(ImpGraphic&& rImpGraphic)
     mpGfxLink = std::move(rImpGraphic.mpGfxLink);
     maVectorGraphicData = std::move(rImpGraphic.maVectorGraphicData);
     maPdfData = std::move(rImpGraphic.maPdfData);
+    msOriginURL = rImpGraphic.msOriginURL;
 
     rImpGraphic.ImplClear();
     rImpGraphic.mbDummyContext = false;
@@ -373,6 +377,7 @@ void ImpGraphic::ImplClear()
     ImplClearGraphics();
     meType = GraphicType::NONE;
     mnSizeBytes = 0;
+    msOriginURL.clear();
 }
 
 void ImpGraphic::ImplSetDefaultType()


More information about the Libreoffice-commits mailing list