summaryrefslogtreecommitdiff
path: root/sdext/source
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source')
-rw-r--r--sdext/source/minimizer/description.xml11
-rw-r--r--sdext/source/minimizer/fileopendialog.cxx14
-rwxr-xr-xsdext/source/minimizer/help/component.txt5
-rw-r--r--sdext/source/minimizer/images/em47.pngbin0 -> 5448 bytes
-rw-r--r--sdext/source/minimizer/images/em47_hc.pngbin0 -> 3182 bytes
-rw-r--r--sdext/source/minimizer/makefile.mk22
-rw-r--r--sdext/source/minimizer/manifest.xml2
-rw-r--r--sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu48
-rw-r--r--sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu27
-rw-r--r--sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk47
-rw-r--r--sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu4
-rw-r--r--sdext/source/pdfimport/config/description.xml6
-rwxr-xr-xsdext/source/pdfimport/help/component.txt4
-rw-r--r--sdext/source/pdfimport/images/pdfiext.pngbin1965 -> 5448 bytes
-rw-r--r--sdext/source/pdfimport/images/pdfiext_hc.pngbin1160 -> 3182 bytes
-rw-r--r--sdext/source/pdfimport/pdfparse/pdfentries.cxx27
-rwxr-xr-xsdext/source/pdfimport/wrapper/wrapper.cxx63
-rw-r--r--sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx53
-rw-r--r--sdext/source/presenter/bitmaps/em47.pngbin0 -> 5448 bytes
-rw-r--r--sdext/source/presenter/bitmaps/em47_hc.pngbin0 -> 3182 bytes
-rw-r--r--sdext/source/presenter/description.xml9
-rwxr-xr-xsdext/source/presenter/help/component.txt5
-rw-r--r--sdext/source/presenter/help/en-US/com.sun.PresenterScreen/presenter.xhp14
-rw-r--r--sdext/source/presenter/makefile.mk4
24 files changed, 183 insertions, 182 deletions
diff --git a/sdext/source/minimizer/description.xml b/sdext/source/minimizer/description.xml
index 54cb88762a4d..922d47096e6b 100644
--- a/sdext/source/minimizer/description.xml
+++ b/sdext/source/minimizer/description.xml
@@ -12,21 +12,26 @@
</dependencies>
<registration>
- <simple-license accept-by="admin" default-license-id="lic-en-US">
+ <simple-license accept-by="admin" default-license-id="lic-en-US" suppress-if-required="true" >
<license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
</simple-license>
</registration>
- <version value="1.0"/>
+ <version value="1.0.2"/>
<platform value="UPDATED_SUPPORTED_PLATFORM"/>
<publisher>
- <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Sun Microsystems</name>
+ <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Oracle</name>
</publisher>
<display-name>
<name lang="en-US">Presentation Minimizer</name>
</display-name>
+ <icon>
+ <default xlink:href="bitmaps/em47.png" />
+ <high-contrast xlink:href="bitmaps/em47_hc.png" />
+ </icon>
+
</description>
diff --git a/sdext/source/minimizer/fileopendialog.cxx b/sdext/source/minimizer/fileopendialog.cxx
index 832914e5c8ab..3bb42da1f2f4 100644
--- a/sdext/source/minimizer/fileopendialog.cxx
+++ b/sdext/source/minimizer/fileopendialog.cxx
@@ -33,6 +33,7 @@
#include "pppoptimizertoken.hxx"
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp>
#include <com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
#include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp>
@@ -55,6 +56,7 @@
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XContainerQuery.hpp>
+#include <com/sun/star/view/XControlAccess.hpp>
#include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
@@ -63,6 +65,7 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::container;
+using namespace ::com::sun::star::view;
using namespace ::com::sun::star::ui::dialogs;
FileOpenDialog::FileOpenDialog( const Reference< XComponentContext >& rxMSF ) :
@@ -75,6 +78,17 @@ FileOpenDialog::FileOpenDialog( const Reference< XComponentContext >& rxMSF ) :
OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ui.dialogs.FilePicker" ) ), aInitPropSeq, rxMSF ),UNO_QUERY_THROW );
mxFilePicker->setMultiSelectionMode( sal_False );
+ Reference< XFilePickerControlAccess > xAccess( mxFilePicker, UNO_QUERY );
+ if ( xAccess.is() )
+ {
+ Any aValue( static_cast< sal_Bool >( sal_True ) );
+ try
+ {
+ xAccess->setValue( ExtendedFilePickerElementIds::CHECKBOX_AUTOEXTENSION, 0, aValue );
+ }
+ catch( com::sun::star::uno::Exception& )
+ {}
+ }
// collecting a list of impress filters
Reference< XNameAccess > xFilters( mxMSF->getServiceManager()->createInstanceWithContext(
diff --git a/sdext/source/minimizer/help/component.txt b/sdext/source/minimizer/help/component.txt
index f6222edc2386..98f2687800ff 100755
--- a/sdext/source/minimizer/help/component.txt
+++ b/sdext/source/minimizer/help/component.txt
@@ -1,3 +1,2 @@
-The Presentation Minimizer is used to reduce the file size of the current
-presentation. Images will be compressed, and data that is no longer needed
-will be removed.
+The Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed, and data that is no longer needed will be removed.
+The Presentation Minimizer can optimize the image quality size. Presentations designed for screen or projector do not require the same high quality as presentations designed for print.
diff --git a/sdext/source/minimizer/images/em47.png b/sdext/source/minimizer/images/em47.png
new file mode 100644
index 000000000000..a018f1710ea5
--- /dev/null
+++ b/sdext/source/minimizer/images/em47.png
Binary files differ
diff --git a/sdext/source/minimizer/images/em47_hc.png b/sdext/source/minimizer/images/em47_hc.png
new file mode 100644
index 000000000000..418cd1479298
--- /dev/null
+++ b/sdext/source/minimizer/images/em47_hc.png
Binary files differ
diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk
index 1140494e17de..18c7a0a435c5 100644
--- a/sdext/source/minimizer/makefile.mk
+++ b/sdext/source/minimizer/makefile.mk
@@ -38,8 +38,8 @@ ENABLE_EXCEPTIONS=TRUE
.INCLUDE : $(PRJ)$/util$/makefile.pmk
# set in minimizer.pmk
-#EXTENSIONNAME:=SunPresentationMinimizer
-EXTENSION_ZIPNAME:=sun-presentation-minimizer
+#EXTENSIONNAME:=PresentationMinimizer
+EXTENSION_ZIPNAME:=presentation-minimizer
.IF "$(ENABLE_MINIMIZER)" != "YES"
@all:
@@ -83,11 +83,8 @@ DEF1NAME= $(SHL1TARGET)
COMPONENT_MERGED_XCU= \
$(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/Addons.xcu \
- $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/extension$/SunPresentationMinimizer.xcu \
- $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/UI$/ImpressWindowState.xcu
-
-COMPONENT_XCU= \
- $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/ProtocolHandler.xcu
+ $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/ProtocolHandler.xcu \
+ $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/extension$/SunPresentationMinimizer.xcu
COMPONENT_FILES= \
$(EXTENSIONDIR)$/registry$/schema$/org$/openoffice$/Office$/extension$/SunPresentationMinimizer.xcs
@@ -98,7 +95,6 @@ COMPONENT_LIBRARIES= \
# rather freestyle or common to all?
COMPONENT_BITMAPS= \
- $(EXTENSIONDIR)$/bitmaps$/aboutlogo.png \
$(EXTENSIONDIR)$/bitmaps$/opt_16.png \
$(EXTENSIONDIR)$/bitmaps$/opt_26.png \
$(EXTENSIONDIR)$/bitmaps$/opt_16_h.png \
@@ -106,6 +102,10 @@ COMPONENT_BITMAPS= \
$(EXTENSIONDIR)$/bitmaps$/minimizepresi_80.png \
$(EXTENSIONDIR)$/bitmaps$/minimizepresi_80_h.png
+COMPONENT_IMAGES=\
+ $(EXTENSIONDIR)$/bitmaps$/em47.png \
+ $(EXTENSIONDIR)$/bitmaps$/em47_hc.png
+
# rather freestyle or common to all?
COMPONENT_HELP= \
$(EXTENSIONDIR)$/help$/help_de.odt \
@@ -113,7 +113,7 @@ COMPONENT_HELP= \
$(EXTENSIONDIR)$/help$/component.txt
# make sure to add your custom files here
-EXTENSION_PACKDEPS=$(COMPONENT_BITMAPS) $(COMPONENT_HELP)
+EXTENSION_PACKDEPS=$(COMPONENT_BITMAPS) $(COMPONENT_IMAGES) $(COMPONENT_HELP)
# --- Targets ----------------------------------
@@ -129,6 +129,10 @@ $(COMPONENT_BITMAPS) : $(SOLARSRC)$/$(RSCDEFIMG)$/minimizer$/$$(@:f)
@@-$(MKDIRHIER) $(@:d)
$(COPY) $< $@
+$(COMPONENT_IMAGES) : images$/$$(@:f)
+ @@-$(MKDIRHIER) $(@:d)
+ $(COPY) $< $@
+
$(COMPONENT_HELP) : help$/$$(@:f)
@@-$(MKDIRHIER) $(@:d)
$(COPY) $< $@
diff --git a/sdext/source/minimizer/manifest.xml b/sdext/source/minimizer/manifest.xml
index 41587ebcfd69..eac189524f26 100644
--- a/sdext/source/minimizer/manifest.xml
+++ b/sdext/source/minimizer/manifest.xml
@@ -11,8 +11,6 @@
manifest:full-path="registry/data/org/openoffice/Office/Addons.xcu"/>
<manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
manifest:full-path="registry/data/org/openoffice/Office/ProtocolHandler.xcu"/>
- <manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
- manifest:full-path="registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu"/>
<manifest:file-entry manifest:media-type="application/vnd.sun.star.package-bundle-description"
manifest:full-path="help/component.txt"/>
</manifest:manifest>
diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu
index 21f951a15c38..2b4465b402f1 100644
--- a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu
+++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu
@@ -1,24 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Addons" oor:package="org.openoffice.Office">
<node oor:name="AddonUI">
- <node oor:name="OfficeToolBar">
- <node oor:name="org.openoffice.Office.SunPresentationMinimizer" oor:op="replace">
- <node oor:name="m1" oor:op="replace">
- <prop oor:name="URL" oor:type="xs:string">
- <value>vnd.com.sun.star.comp.SunPresentationMinimizer:execute</value>
- </prop>
- <prop oor:name="Title" oor:type="xs:string">
- <value xml:lang="en-US">Minimize Presentation</value>
- </prop>
- <prop oor:name="Target" oor:type="xs:string">
- <value>_self</value>
- </prop>
- <prop oor:name="Context" oor:type="xs:string">
- <value>com.sun.star.presentation.PresentationDocument</value>
- </prop>
- </node>
- </node>
- </node>
<node oor:name="Images">
<node oor:name="opt-image" oor:op="replace">
<prop oor:name="URL">
@@ -77,36 +59,6 @@
</node>
</node>
</node>
- <node oor:name="Command2" oor:op="replace">
- <prop oor:name="MergePoint">
- <value>.uno:HelpMenu\.uno:About</value>
- </prop>
- <prop oor:name="MergeCommand">
- <value>AddBefore</value>
- </prop>
- <prop oor:name="MergeFallback">
- <value>AddPath</value>
- </prop>
- <prop oor:name="MergeContext">
- <value>com.sun.star.presentation.PresentationDocument</value>
- </prop>
- <node oor:name="MenuItems">
- <node oor:name="SunPresentationMinimizerAbout1" oor:op="replace">
- <prop oor:name="URL" oor:type="xs:string">
- <value>vnd.com.sun.star.comp.SunPresentationMinimizer:about</value>
- </prop>
- <prop oor:name="Title" oor:type="xs:string">
- <value xml:lang="en-US">About Sun Presentation Minimizer</value>
- </prop>
- <prop oor:name="Target" oor:type="xs:string">
- <value>_self</value>
- </prop>
- <prop oor:name="Context" oor:type="xs:string">
- <value>com.sun.star.presentation.PresentationDocument</value>
- </prop>
- </node>
- </node>
- </node>
</node>
</node>
</node>
diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu
deleted file mode 100644
index 9be906f2da42..000000000000
--- a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oor:component-data xmlns:oor="http://openoffice.org/2001/registry"
-xmlns:xs="http://www.w3.org/2001/XMLSchema"
-oor:name="ImpressWindowState"
-oor:package="org.openoffice.Office.UI">
- <node oor:name="UIElements">
- <node oor:name="States">
- <node oor:name="private:resource/toolbar/addon_org.openoffice.Office.SunPresentationMinimizer" oor:op="replace">
- <prop oor:name="ContextSensitive" oor:type="xs:boolean">
- <value>false</value>
- </prop>
- <prop oor:name="UIName" oor:type="xs:string">
- <value xml:lang="en-US">Minimizer</value>
- </prop>
- <prop oor:name="Visible" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- <prop oor:name="Docked" oor:type="xs:boolean">
- <value>false</value>
- </prop>
- <prop oor:name="Style" oor:type="xs:int">
- <value>2</value>
- </prop>
- </node>
- </node>
- </node>
-</oor:component-data>
diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk
deleted file mode 100644
index c9c83d21f5c8..000000000000
--- a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..$/..$/..$/..$/..$/..$/..
-
-PRJNAME=sdext
-TARGET=data_ooOUI
-PACKAGE=org.openoffice.Office.UI
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/source$/minimizer$/minimizer.pmk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Targets ------------------------------------------------------
-
-XCUFILES= \
- ImpressWindowState.xcu
-
-MODULEFILES=
-
-LOCALIZEDFILES= \
- ImpressWindowState.xcu
-
-.INCLUDE : target.mk
diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu
index 13a586ce109b..5cbf05be8d0a 100644
--- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu
+++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu
@@ -6,10 +6,6 @@
</prop>
<prop oor:name="HelpFile" oor:type="xs:string">
- <info>
- <desc>Specifies the filename of the help document after installation,
- the help can be found in sdext/source/minimizer/help</desc>
- </info>
<value xml:lang="en-US">%origin%/../../../../../../help/help_en-US.odt</value>
</prop>
diff --git a/sdext/source/pdfimport/config/description.xml b/sdext/source/pdfimport/config/description.xml
index 08e2f505653a..c2d36bd58be1 100644
--- a/sdext/source/pdfimport/config/description.xml
+++ b/sdext/source/pdfimport/config/description.xml
@@ -11,7 +11,7 @@
</dependencies>
<registration>
- <simple-license accept-by="admin" default-license-id="lic-en-US">
+ <simple-license accept-by="admin" default-license-id="lic-en-US" suppress-if-required="true" >
<license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
</simple-license>
</registration>
@@ -21,11 +21,11 @@
<platform value="UPDATED_SUPPORTED_PLATFORM" />
<publisher>
- <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Sun Microsystems</name>
+ <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Oracle</name>
</publisher>
<display-name>
- <name lang="en-US">PDF Import Extension</name>
+ <name lang="en-US">PDF Import</name>
</display-name>
<icon>
diff --git a/sdext/source/pdfimport/help/component.txt b/sdext/source/pdfimport/help/component.txt
index e2dfbc9b99f6..969581ef2fbf 100755
--- a/sdext/source/pdfimport/help/component.txt
+++ b/sdext/source/pdfimport/help/component.txt
@@ -1,3 +1 @@
-PDF documents are imported in Draw and Impress to preserve the layout and to
-allow basic editing. It is the perfect solution for changing dates, numbers
-or small portions of text.
+The PDF Import Extension allows you to import and modify PDF documents. Best results with 100% layout accuracy can be achieved with the "PDF/ODF hybrid file" format, which this extension also enables. A hybrid PDF/ODF file is a PDF file that contains an embedded ODF source file. Hybrid PDF/ODF files will be opened in OpenOffice.org as an ODF file without any layout changes.
diff --git a/sdext/source/pdfimport/images/pdfiext.png b/sdext/source/pdfimport/images/pdfiext.png
index 31f48ea8fb69..a018f1710ea5 100644
--- a/sdext/source/pdfimport/images/pdfiext.png
+++ b/sdext/source/pdfimport/images/pdfiext.png
Binary files differ
diff --git a/sdext/source/pdfimport/images/pdfiext_hc.png b/sdext/source/pdfimport/images/pdfiext_hc.png
index 3870cc4709d4..418cd1479298 100644
--- a/sdext/source/pdfimport/images/pdfiext_hc.png
+++ b/sdext/source/pdfimport/images/pdfiext_hc.png
Binary files differ
diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
index 2d163118a5ec..a2ff6b996ff2 100644
--- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
@@ -638,8 +638,17 @@ bool PDFObject::getDeflatedStream( char** ppStream, unsigned int* pBytes, const
m_pStream->m_pDict->m_aMap.find( "Filter" );
if( it != m_pStream->m_pDict->m_aMap.end() )
{
- // is the (first) filter FlateDecode ?
PDFName* pFilter = dynamic_cast<PDFName*>(it->second);
+ if( ! pFilter )
+ {
+ PDFArray* pArray = dynamic_cast<PDFArray*>(it->second);
+ if( pArray && ! pArray->m_aSubElements.empty() )
+ {
+ pFilter = dynamic_cast<PDFName*>(pArray->m_aSubElements.front());
+ }
+ }
+
+ // is the (first) filter FlateDecode ?
if( pFilter && pFilter->m_aName.equals( "FlateDecode" ) )
{
bIsDeflated = true;
@@ -669,8 +678,6 @@ bool PDFObject::getDeflatedStream( char** ppStream, unsigned int* pBytes, const
}
else
*ppStream = NULL, *pBytes = 0;
- // FIXME: one could also deflate if FlateDecode ws the
- // first filter in an array
return bIsDeflated;
}
@@ -1196,7 +1203,7 @@ PDFFileImplData* PDFFile::impl_getData() const
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "DocId is <" );
for( int i = 0; i < m_pData->m_aDocID.getLength(); i++ )
- fprintf( stderr, "%.2x", sal_uInt32(sal_uInt8(m_pData->m_aDocID.getStr()[i])) );
+ fprintf( stderr, "%.2x", (unsigned int)sal_uInt8(m_pData->m_aDocID.getStr()[i]) );
fprintf( stderr, ">\n" );
#endif
}
@@ -1258,9 +1265,9 @@ PDFFileImplData* PDFFile::impl_getData() const
#if OSL_DEBUG_LEVEL > 1
else
{
- fprintf( stderr, "O entry has length %d, should be 32 <", aEnt.getLength() );
+ fprintf( stderr, "O entry has length %d, should be 32 <", (int)aEnt.getLength() );
for( int i = 0; i < aEnt.getLength(); i++ )
- fprintf( stderr, " %.2X", sal_uInt32(sal_uInt8(aEnt.getStr()[i])) );
+ fprintf( stderr, " %.2X", (unsigned int)sal_uInt8(aEnt.getStr()[i]) );
fprintf( stderr, ">\n" );
}
#endif
@@ -1277,9 +1284,9 @@ PDFFileImplData* PDFFile::impl_getData() const
#if OSL_DEBUG_LEVEL > 1
else
{
- fprintf( stderr, "U entry has length %d, should be 32 <", aEnt.getLength() );
+ fprintf( stderr, "U entry has length %d, should be 32 <", (int)aEnt.getLength() );
for( int i = 0; i < aEnt.getLength(); i++ )
- fprintf( stderr, " %.2X", sal_uInt32(sal_uInt8(aEnt.getStr()[i])) );
+ fprintf( stderr, " %.2X", (unsigned int)sal_uInt8(aEnt.getStr()[i]) );
fprintf( stderr, ">\n" );
}
#endif
@@ -1297,13 +1304,13 @@ PDFFileImplData* PDFFile::impl_getData() const
if( pNum )
m_pData->m_nPEntry = static_cast<sal_uInt32>(static_cast<sal_Int32>(pNum->m_fValue));
#if OSL_DEBUG_LEVEL > 1
- fprintf( stderr, "p entry is 0x%x\n", m_pData->m_nPEntry );
+ fprintf( stderr, "p entry is %p\n", m_pData->m_nPEntry );
#endif
}
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "Encryption dict: sec handler: %s, version = %d, revision = %d, key length = %d\n",
pFilter ? OUStringToOString( pFilter->getFilteredName(), RTL_TEXTENCODING_UTF8 ).getStr() : "<unknown>",
- m_pData->m_nAlgoVersion, m_pData->m_nStandardRevision, m_pData->m_nKeyLength );
+ (int)m_pData->m_nAlgoVersion, (int)m_pData->m_nStandardRevision, m_pData->m_nKeyLength );
#endif
break;
}
diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx
index abab9d783225..0eafbbb83327 100755
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
@@ -197,6 +197,60 @@ public:
void parseLine( const ::rtl::OString& rLine );
};
+
+namespace
+{
+
+ /** Unescapes line-ending characters in input string. These
+ characters are encoded as pairs of characters: '\\' 'n', resp.
+ '\\' 'r'. This function converts them back to '\n', resp. '\r'.
+ */
+ rtl::OString lcl_unescapeLineFeeds(const rtl::OString& i_rStr)
+ {
+ const size_t nOrigLen(sal::static_int_cast<size_t>(i_rStr.getLength()));
+ const sal_Char* const pOrig(i_rStr.getStr());
+ sal_Char* const pBuffer(new sal_Char[nOrigLen + 1]);
+
+ const sal_Char* pRead(pOrig);
+ sal_Char* pWrite(pBuffer);
+ const sal_Char* pCur(pOrig);
+ while ((pCur = strchr(pCur, '\\')) != 0)
+ {
+ const sal_Char cNext(pCur[1]);
+ if (cNext == 'n' || cNext == 'r' || cNext == '\\')
+ {
+ const size_t nLen(pCur - pRead);
+ strncpy(pWrite, pRead, nLen);
+ pWrite += nLen;
+ *pWrite = cNext == 'n' ? '\n' : (cNext == 'r' ? '\r' : '\\');
+ ++pWrite;
+ pCur = pRead = pCur + 2;
+ }
+ else
+ {
+ // Just continue on the next character. The current
+ // block will be copied the next time it goes through the
+ // 'if' branch.
+ ++pCur;
+ }
+ }
+ // maybe there are some data to copy yet
+ if (sal::static_int_cast<size_t>(pRead - pOrig) < nOrigLen)
+ {
+ const size_t nLen(nOrigLen - (pRead - pOrig));
+ strncpy(pWrite, pRead, nLen);
+ pWrite += nLen;
+ }
+ *pWrite = '\0';
+
+ rtl::OString aResult(pBuffer);
+ delete[] pBuffer;
+ return aResult;
+ }
+
+}
+
+
::rtl::OString Parser::readNextToken()
{
OSL_PRECOND(m_nCharIndex!=-1,"insufficient input");
@@ -322,7 +376,7 @@ void Parser::readChar()
readDouble(aUnoMatrix.m10);
readDouble(aUnoMatrix.m11);
- rtl::OString aChars = m_aLine.copy( m_nCharIndex );
+ rtl::OString aChars = lcl_unescapeLineFeeds( m_aLine.copy( m_nCharIndex ) );
// chars gobble up rest of line
m_nCharIndex = -1;
@@ -476,7 +530,7 @@ void Parser::readFont()
readInt32(nFileLen);
nSize = nSize < 0.0 ? -nSize : nSize;
- aFontName = m_aLine.copy( m_nCharIndex );
+ aFontName = lcl_unescapeLineFeeds( m_aLine.copy( m_nCharIndex ) );
// name gobbles up rest of line
m_nCharIndex = -1;
@@ -668,8 +722,9 @@ void Parser::readLink()
readDouble(aBounds.Y2);
m_pSink->hyperLink( aBounds,
- rtl::OStringToOUString( m_aLine.copy(m_nCharIndex),
- RTL_TEXTENCODING_UTF8 ));
+ rtl::OStringToOUString( lcl_unescapeLineFeeds(
+ m_aLine.copy(m_nCharIndex) ),
+ RTL_TEXTENCODING_UTF8 ) );
// name gobbles up rest of line
m_nCharIndex = -1;
}
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 1fa9ff32b530..5361330fd697 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -37,6 +37,8 @@
#include <math.h>
#include <vector>
+#include <boost/shared_array.hpp>
+
#if defined __SUNPRO_CC
#pragma disable_warn
#elif defined _MSC_VER
@@ -78,10 +80,44 @@ inline double normalize( double val )
return fabs(val) < 0.0000001 ? 0.0 : val;
}
-const char* escapeLineFeed( const char* pStr )
+namespace
+{
+
+/** Escapes line-ending characters (\n and \r) in input string.
+ */
+boost::shared_array<char> lcl_escapeLineFeeds(const char* const i_pStr)
{
- // TODO(Q3): Escape linefeeds
- return pStr;
+ size_t nLength(strlen(i_pStr));
+ char* pBuffer = new char[2*nLength+1];
+
+ const char* pRead = i_pStr;
+ char* pWrite = pBuffer;
+ while( nLength-- )
+ {
+ if( *pRead == '\r' )
+ {
+ *pWrite++ = '\\';
+ *pWrite++ = 'r';
+ }
+ else if( *pRead == '\n' )
+ {
+ *pWrite++ = '\\';
+ *pWrite++ = 'n';
+ }
+ else if( *pRead == '\\' )
+ {
+ *pWrite++ = '\\';
+ *pWrite++ = '\\';
+ }
+ else
+ *pWrite++ = *pRead;
+ pRead++;
+ }
+ *pWrite++ = 0;
+
+ return boost::shared_array<char>(pBuffer);
+}
+
}
/// for the temp char buffer the header gets snprintfed in
@@ -464,12 +500,14 @@ void PDFOutDev::processLink(Link* link, Catalog*)
{
const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->getCString();
+ boost::shared_array<char> pEsc( lcl_escapeLineFeeds(pURI) );
+
printf( "drawLink %f %f %f %f %s\n",
normalize(x1),
normalize(y1),
normalize(x2),
normalize(y2),
- escapeLineFeed(pURI) );
+ pEsc.get() );
}
}
@@ -634,6 +672,8 @@ void PDFOutDev::updateFont(GfxState *state)
printf( " %lld", fontID );
aFont = it->second;
+
+ boost::shared_array<char> pEsc( lcl_escapeLineFeeds(aFont.familyName.getCString()) );
printf( " %d %d %d %d %f %d %s",
aFont.isEmbedded,
aFont.isBold,
@@ -641,7 +681,7 @@ void PDFOutDev::updateFont(GfxState *state)
aFont.isUnderline,
normalize(state->getTransformedFontSize()),
nEmbedSize,
- escapeLineFeed(aFont.familyName.getCString()) );
+ pEsc.get() );
}
printf( "\n" );
@@ -765,7 +805,8 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y,
for( int i=0; i<uLen; ++i )
{
buf[ m_pUtf8Map->mapUnicode(u[i], buf, sizeof(buf)-1) ] = 0;
- printf( "%s", escapeLineFeed(buf) );
+ boost::shared_array<char> pEsc( lcl_escapeLineFeeds(buf) );
+ printf( "%s", pEsc.get() );
}
printf( "\n" );
diff --git a/sdext/source/presenter/bitmaps/em47.png b/sdext/source/presenter/bitmaps/em47.png
new file mode 100644
index 000000000000..a018f1710ea5
--- /dev/null
+++ b/sdext/source/presenter/bitmaps/em47.png
Binary files differ
diff --git a/sdext/source/presenter/bitmaps/em47_hc.png b/sdext/source/presenter/bitmaps/em47_hc.png
new file mode 100644
index 000000000000..418cd1479298
--- /dev/null
+++ b/sdext/source/presenter/bitmaps/em47_hc.png
Binary files differ
diff --git a/sdext/source/presenter/description.xml b/sdext/source/presenter/description.xml
index af1c4fee348e..8a56838ad263 100644
--- a/sdext/source/presenter/description.xml
+++ b/sdext/source/presenter/description.xml
@@ -12,7 +12,7 @@
</dependencies>
<registration>
- <simple-license accept-by="admin" default-license-id="lic-en-US">
+ <simple-license accept-by="admin" default-license-id="lic-en-US" suppress-if-required="true" >
<license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
</simple-license>
</registration>
@@ -22,11 +22,16 @@
<platform value="UPDATED_PLATFORM" />
<publisher>
- <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Sun Microsystems</name>
+ <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Oracle</name>
</publisher>
<display-name>
<name lang="en">Presenter Console</name>
</display-name>
+ <icon>
+ <default xlink:href="bitmaps/em47.png" />
+ <high-contrast xlink:href="bitmaps/em47_hc.png" />
+ </icon>
+
</description>
diff --git a/sdext/source/presenter/help/component.txt b/sdext/source/presenter/help/component.txt
index 3be173ddb89d..26a10c622fe9 100755
--- a/sdext/source/presenter/help/component.txt
+++ b/sdext/source/presenter/help/component.txt
@@ -1,3 +1,2 @@
-The Presenter Console Extension provides more control over your slide show
-presentation, such as the ability to see the upcoming slide, the slide notes,
-and a presentation timer whereas the audience see only the current slide.
+The Presenter Console Extension provides more control over your slide show presentation, such as the ability to see the upcoming slide, the slide notes, and a presentation timer whereas the audience see only the current slide.
+To avoid confusions by displaying a large number of presentation elements, the Presenter Console displays the elements on three different easily changeable views.
diff --git a/sdext/source/presenter/help/en-US/com.sun.PresenterScreen/presenter.xhp b/sdext/source/presenter/help/en-US/com.sun.PresenterScreen/presenter.xhp
index dd06ace98f95..a1172d540d7e 100644
--- a/sdext/source/presenter/help/en-US/com.sun.PresenterScreen/presenter.xhp
+++ b/sdext/source/presenter/help/en-US/com.sun.PresenterScreen/presenter.xhp
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
-
+
<!--
***********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -29,11 +29,11 @@
*
************************************************************************
-->
-
-
+
+
<meta>
<topic id="textpresenterxml" indexer="include" status="PUBLISH">
- <title xml-lang="en-US" id="tit" l10n="NEW">Sun Presenter Console Keyboard Shortcuts</title>
+ <title xml-lang="en-US" id="tit" l10n="NEW">Oracle Presenter Console Keyboard Shortcuts</title>
<filename>/com.sun.PresenterScreen-PLATFORMID/presenter.xhp</filename>
</topic>
</meta>
@@ -41,8 +41,8 @@
<bookmark xml-lang="en-US" branch="hid/com.sun.PresenterScreen" id="bm_id3138439" localize="false"/>
<bookmark xml-lang="en-US" branch="index" id="bm_id0921200912285678"><bookmark_value>Presenter Console shortcuts</bookmark_value>
</bookmark>
-<paragraph xml-lang="en-US" id="hd_id0921201912165661" role="heading" level="1" l10n="NEW">Sun Presenter Console Keyboard Shortcuts</paragraph>
- <paragraph xml-lang="en-US" id="par_id0921201912165656" role="paragraph" l10n="NEW">When running a slide show using the Sun Presenter Console, you can use the following keys:</paragraph>
+<paragraph xml-lang="en-US" id="hd_id0921201912165661" role="heading" level="1" l10n="NEW">Oracle Presenter Console Keyboard Shortcuts</paragraph>
+ <paragraph xml-lang="en-US" id="par_id0921201912165656" role="paragraph" l10n="NEW">When running a slide show using the Oracle Presenter Console, you can use the following keys:</paragraph>
<table id="tbl_id0921200901051232">
<tablerow>
<tablecell>
diff --git a/sdext/source/presenter/makefile.mk b/sdext/source/presenter/makefile.mk
index 6f3538d7f806..c6dbe7185ec9 100644
--- a/sdext/source/presenter/makefile.mk
+++ b/sdext/source/presenter/makefile.mk
@@ -231,7 +231,9 @@ COMPONENT_BITMAPS= \
\
$(ZIP1DIR)$/bitmaps$/LabelMouseOverLeft.png \
$(ZIP1DIR)$/bitmaps$/LabelMouseOverCenter.png \
- $(ZIP1DIR)$/bitmaps$/LabelMouseOverRight.png
+ $(ZIP1DIR)$/bitmaps$/LabelMouseOverRight.png \
+ $(ZIP1DIR)$/bitmaps$/em47.png \
+ $(ZIP1DIR)$/bitmaps$/em47_hc.png
COMPONENT_MANIFEST= \
$(ZIP1DIR)$/META-INF$/manifest.xml