[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - desktop/source filter/source

2022-04-06 Thread Mert Tumer (via logerrit)
 desktop/source/lib/init.cxx|9 -
 filter/source/storagefilterdetect/filterdetect.cxx |7 +++
 2 files changed, 15 insertions(+), 1 deletion(-)

New commits:
commit 49f8a7333bddceb3b8bd18d81ff593fa39f5a437
Author: Mert Tumer 
AuthorDate: Wed Apr 6 16:59:53 2022 +0300
Commit: Andras Timar 
CommitDate: Wed Apr 6 22:20:14 2022 +0200

lok: load template documents as regular documents

otherwise lok cannot save them directly because
libreoffice will try to open a save-as dialog
For odg, change the draw8_template type draw8

Signed-off-by: Mert Tumer 
Change-Id: I34b0ed03adcac89eaa926f8ae6c57e6f622a90f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132633
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Henry Castro 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 5721b56573d6..f3396a3f4bc7 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2380,7 +2380,7 @@ static LibreOfficeKitDocument* 
lo_documentLoadWithOptions(LibreOfficeKit* pThis,
  Application::SetDialogCancelMode(DialogCancelMode::LOKSilent);
 }
 
-uno::Sequence aFilterOptions(3);
+uno::Sequence aFilterOptions(4);
 aFilterOptions[0] = css::beans::PropertyValue( "FilterOptions",
0,
uno::makeAny(aOptions),
@@ -2427,6 +2427,13 @@ static LibreOfficeKitDocument* 
lo_documentLoadWithOptions(LibreOfficeKit* pThis,
 aFilterOptions[3].Value <<= nUpdateDoc;
 */
 
+// set this explicitly false to be able to load template files
+// as regular files, otherwise we cannot save them; it will try
+// to bring saveas dialog which cannot work with LOK case
+aFilterOptions[3].Name = "AsTemplate";
+aFilterOptions[3].Value <<= false;
+
+
 const int nThisDocumentId = nDocumentIdCounter++;
 SfxViewShell::SetCurrentDocId(ViewShellDocId(nThisDocumentId));
 uno::Reference xComponent = 
xComponentLoader->loadComponentFromURL(
diff --git a/filter/source/storagefilterdetect/filterdetect.cxx 
b/filter/source/storagefilterdetect/filterdetect.cxx
index 02ed875c6699..694251c389b3 100644
--- a/filter/source/storagefilterdetect/filterdetect.cxx
+++ b/filter/source/storagefilterdetect/filterdetect.cxx
@@ -33,6 +33,8 @@
 #include 
 #include 
 
+#include 
+
 using namespace ::com::sun::star;
 using utl::MediaDescriptor;
 
@@ -103,6 +105,11 @@ OUString SAL_CALL 
StorageFilterDetect::detect(uno::SequencegetPropertyValue( "MediaType" ) >>= aMediaType;
 aTypeName = getInternalFromMediaType( aMediaType );
+if (comphelper::LibreOfficeKit::isActive() && aTypeName == 
"draw8_template")
+{
+// save it as draw8 instead of template format
+aTypeName = "draw8";
+}
 }
 
 catch( const lang::WrappedTargetException& aWrap )


[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - desktop/source filter/source sfx2/source sw/inc sw/source

2022-02-02 Thread Szymon Kłos (via logerrit)
 desktop/source/lib/init.cxx |1 +
 filter/source/svg/svgexport.cxx |6 +-
 filter/source/svg/svgfilter.cxx |   10 ++
 filter/source/svg/svgfilter.hxx |1 +
 filter/source/svg/svgwriter.cxx |   22 +-
 filter/source/svg/svgwriter.hxx |2 ++
 sfx2/source/doc/objstor.cxx |   15 +++
 sw/inc/cmdid.h  |1 +
 sw/inc/unoprnms.hxx |1 +
 sw/source/core/unocore/unoframe.cxx |   16 +++-
 sw/source/core/unocore/unomap1.cxx  |1 +
 11 files changed, 73 insertions(+), 3 deletions(-)

New commits:
commit c5833988681caa30b612105bb1eb3a362de9b0f9
Author: Szymon Kłos 
AuthorDate: Mon Jan 31 17:15:21 2022 +0100
Commit: Szymon Kłos 
CommitDate: Wed Feb 2 18:25:29 2022 +0100

lok: render image preview with lower resolution

renderShapeSelection callback is used to render
image previews which are later used during
eg. rotation.

Do not render preview with original size which
slows down app a lot. Use 1280x720 max.

Change-Id: Ia8365a67d87cea869ef74cb70ce4830439a523b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129230
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Mert Tumer 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 0c93a7f9d626..5721b56573d6 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -3839,6 +3839,7 @@ static size_t 
doc_renderShapeSelection(LibreOfficeKitDocument* pThis, char** pOu
 }
 aMediaDescriptor["SelectionOnly"] <<= true;
 aMediaDescriptor["OutputStream"] <<= xOut;
+aMediaDescriptor["IsPreview"] <<= true; // will down-scale graphics
 
 xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsConstPropertyValueList());
 
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index f5ab1a67b94a..b0110e71c297 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -797,7 +797,9 @@ bool SVGFilter::implExportWriterTextGraphic( const 
Reference< view::XSelectionSu
 const Graphic aOriginalGraphic(xOriginalGraphic);
 
 uno::Reference xTransformedGraphic;
-xPropertySet->getPropertyValue("TransformedGraphic") >>= 
xTransformedGraphic;
+xPropertySet->getPropertyValue(
+mbIsPreview ? OUString("GraphicPreview") : 
OUString("TransformedGraphic"))
+>>= xTransformedGraphic;
 
 if (!xTransformedGraphic.is())
 return false;
@@ -973,6 +975,8 @@ bool SVGFilter::implExportDocument()
 mpSVGWriter->SetEmbeddedBitmapRefs(  );
 implExportTiledBackground();
 }
+if( mbIsPreview )
+mpSVGWriter->SetPreviewMode();
 
 // #i124608# export a given object selection, so no MasterPage 
export at all
 if (!mbExportShapeSelection)
diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx
index 5677d63fcc6c..25c96c3d1848 100644
--- a/filter/source/svg/svgfilter.cxx
+++ b/filter/source/svg/svgfilter.cxx
@@ -90,6 +90,7 @@ SVGFilter::SVGFilter( const Reference< XComponentContext >& 
rxCtx ) :
 mbExportShapeSelection(false),
 maFilterData(),
 mxDefaultPage(),
+mbIsPreview(false),
 mbWriterFilter(false),
 mbCalcFilter(false),
 mbImpressFilter(false),
@@ -119,6 +120,15 @@ sal_Bool SAL_CALL SVGFilter::filter( const Sequence< 
PropertyValue >& rDescripto
 
 if(mxSrcDoc.is())
 {
+for (sal_Int32 nInd = 0; nInd < rDescriptor.getLength(); nInd++)
+{
+if (rDescriptor[nInd].Name == "IsPreview")
+{
+rDescriptor[nInd].Value >>= mbIsPreview;
+break;
+}
+}
+
 for (sal_Int32 nInd = 0; nInd < rDescriptor.getLength(); nInd++)
 {
 if (rDescriptor[nInd].Name == "FilterName")
diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx
index ae9418ea49c5..d95710ca3e40 100644
--- a/filter/source/svg/svgfilter.hxx
+++ b/filter/source/svg/svgfilter.hxx
@@ -218,6 +218,7 @@ private:
 Sequence< PropertyValue >   maFilterData;
 Reference< css::drawing::XDrawPage > mxDefaultPage;
 std::vector< Reference< css::drawing::XDrawPage > > mSelectedPages;
+boolmbIsPreview;
 
 boolmbWriterFilter;
 boolmbCalcFilter;
diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx
index 694cc073a81c..006a2ca48073 100644
--- a/filter/source/svg/svgwriter.cxx
+++ b/filter/source/svg/svgwriter.cxx
@@ -2867,7 +2867,27 @@ void SVGActionWriter::ImplWriteBmp( const BitmapEx& 
rBmpEx,
 }
 }
 
-if( bCached || GraphicConverter::Export( aOStm, rBmpEx, 
ConvertDataFormat::PNG ) ==