Kaydet (Commit) 1eecb8df authored tarafından Thorsten Behrens's avatar Thorsten Behrens

Some cleanup and consolidation of the Impress layout work.

Also make unit test work again after Mac-app like path changes.

Change-Id: I13eae20141650e1d1d826a794d1f19baaef5f561
üst f78db7cb
...@@ -472,15 +472,15 @@ ...@@ -472,15 +472,15 @@
<prop oor:name="LayoutListFiles" oor:type="oor:string-list" oor:nillable="false"> <prop oor:name="LayoutListFiles" oor:type="oor:string-list" oor:nillable="false">
<info> <info>
<desc> <desc>
Contains a list of layout type.It contains Contains a list of xml files defining the Impress slide
properties of presobj like their Position, "layouts". It contains properties of presentation objects,
Height and Width.Values are put through like their position, width, and height. Entries are run
macro expansion, so, vnd.sun.star.expand prefix through macro expansion, so, vnd.sun.star.expand prefix is
is allowed. allowed.
</desc> </desc>
<label>List of files containing list of layouts</label> <label>List of files containing Impress slide layouts</label>
</info> </info>
<value oor:separator=";">vnd.sun.star.expand:$BRAND_BASE_DIR/share/config/soffice.cfg/simpress/layoutlist.xml</value> <value oor:separator=";">vnd.sun.star.expand:$BRAND_BASE_DIR/$BRAND_SHARE_SUBDIR/config/soffice.cfg/simpress/layoutlist.xml</value>
</prop> </prop>
<prop oor:name="PreviewNewEffects" oor:type="xs:boolean" oor:nillable="false"> <prop oor:name="PreviewNewEffects" oor:type="xs:boolean" oor:nillable="false">
<!-- OldPath: --> <!-- OldPath: -->
......
...@@ -264,8 +264,10 @@ public: ...@@ -264,8 +264,10 @@ public:
bool IsExitAfterPresenting() const; bool IsExitAfterPresenting() const;
void SetExitAfterPresenting( bool bExitAfterPresenting ); void SetExitAfterPresenting( bool bExitAfterPresenting );
void SetLayoutVector(); /// load xml-based impress layout definitions into document
std::vector<com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode>> &GetLayoutVector() { return maLayoutInfo; } void InitLayoutVector();
/// return reference to vector of Impress layout definitions
const std::vector<com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode>>& GetLayoutVector() const { return maLayoutInfo; }
/** Insert pages into this document /** Insert pages into this document
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <editeng/scriptspaceitem.hxx> #include <editeng/scriptspaceitem.hxx>
#include <unotools/useroptions.hxx> #include <unotools/useroptions.hxx>
#include <officecfg/Office/Impress.hxx>
#include <sfx2/printer.hxx> #include <sfx2/printer.hxx>
#include <sfx2/app.hxx> #include <sfx2/app.hxx>
...@@ -71,9 +72,6 @@ ...@@ -71,9 +72,6 @@
#include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/util/theMacroExpander.hpp> #include <com/sun/star/util/theMacroExpander.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/configuration/theDefaultProvider.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <rtl/ustring.hxx> #include <rtl/ustring.hxx>
#include <rtl/uri.hxx> #include <rtl/uri.hxx>
#include <osl/file.h> #include <osl/file.h>
...@@ -192,7 +190,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh) ...@@ -192,7 +190,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
mpMasterPageListWatcher = ::std::auto_ptr<ImpMasterPageListWatcher>( mpMasterPageListWatcher = ::std::auto_ptr<ImpMasterPageListWatcher>(
new ImpMasterPageListWatcher(*this)); new ImpMasterPageListWatcher(*this));
SetLayoutVector(); InitLayoutVector();
SetObjectShell(pDrDocSh); // for VCDrawModel SetObjectShell(pDrDocSh); // for VCDrawModel
if (mpDocSh) if (mpDocSh)
...@@ -1012,66 +1010,53 @@ sal_uInt16 SdDrawDocument::GetAnnotationAuthorIndex( const OUString& rAuthor ) ...@@ -1012,66 +1010,53 @@ sal_uInt16 SdDrawDocument::GetAnnotationAuthorIndex( const OUString& rAuthor )
return idx; return idx;
} }
// to get the root element of the xml file void SdDrawDocument::InitLayoutVector()
Reference<XElement> getRoot()
{ {
const Reference<css::uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext() ); const Reference<css::uno::XComponentContext> xContext(
Reference< XMultiServiceFactory > xServiceFactory( xContext->getServiceManager() , UNO_QUERY_THROW ); ::comphelper::getProcessComponentContext() );
Reference< util::XMacroExpander > xMacroExpander = util::theMacroExpander::get( xContext ); Reference< util::XMacroExpander > xMacroExpander(
Reference< XMultiServiceFactory > xConfigProvider = configuration::theDefaultProvider::get( xContext ); util::theMacroExpander::get( xContext ) );
Any propValue = uno::makeAny(
beans::PropertyValue(
"nodepath", -1,
uno::makeAny( OUString( "/org.openoffice.Office.Impress/Misc" )),
beans::PropertyState_DIRECT_VALUE ) );
Reference<container::XNameAccess> xNameAccess(
xConfigProvider->createInstanceWithArguments(
"com.sun.star.configuration.ConfigurationAccess",
Sequence<Any>( &propValue, 1 ) ), UNO_QUERY_THROW );
Sequence< rtl::OUString > aFiles;
xNameAccess->getByName( "LayoutListFiles" ) >>= aFiles;
rtl::OUString aURL;
// get file list from configuration
Sequence< rtl::OUString > aFiles(
officecfg::Office::Impress::Misc::LayoutListFiles::get(xContext) );
// loop over each file in sequence
rtl::OUString aFilename;
for( sal_Int32 i=0; i < aFiles.getLength(); ++i ) for( sal_Int32 i=0; i < aFiles.getLength(); ++i )
{ {
aURL = aFiles[i]; aFilename = aFiles[i];
if( aURL.startsWith( "vnd.sun.star.expand:" ) ) if( aFilename.startsWith( "vnd.sun.star.expand:" ) )
{ {
// cut protocol // cut protocol
rtl::OUString aMacro( aURL.copy( sizeof ( "vnd.sun.star.expand:" ) -1 ) ); rtl::OUString aMacro( aFilename.copy( sizeof ( "vnd.sun.star.expand:" ) -1 ) );
// decode uric class chars // decode uric class chars
aMacro = rtl::Uri::decode( aMacro, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); aMacro = rtl::Uri::decode( aMacro, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 );
// expand macro string // expand macro string
aURL = xMacroExpander->expandMacros( aMacro ); aFilename = xMacroExpander->expandMacros( aMacro );
} }
}
if( aURL.startsWith( "file://" ) )
{
rtl::OUString aSysPath;
if( osl_getSystemPathFromFileURL( aURL.pData, &aSysPath.pData ) == osl_File_E_None )
aURL = aSysPath;
}
const Reference<XDocumentBuilder> xDocBuilder( DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) )); if( aFilename.startsWith( "file://" ) )
const Reference<XDocument> xDoc = xDocBuilder->parseURI( aURL ); {
const Reference<XElement> xRoot = xDoc->getDocumentElement(); rtl::OUString aSysPath;
return xRoot; //this loops seems to work only once,so returning the root element if( osl_getSystemPathFromFileURL( aFilename.pData, &aSysPath.pData ) == osl_File_E_None )
} aFilename = aSysPath;
}
void SdDrawDocument::SetLayoutVector() // load layout file into DOM
{ Reference< XMultiServiceFactory > xServiceFactory(
int layoutlistsize; xContext->getServiceManager() , UNO_QUERY_THROW );
const Reference<XElement> root = getRoot(); //get the root element of my xml file const Reference<XDocumentBuilder> xDocBuilder(
const Reference<XNodeList> layoutlist = root->getElementsByTagName("layout"); DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
layoutlistsize=layoutlist->getLength();
for(int index=0; index < layoutlistsize; index++) // loop over every layout entry in current file
{ const Reference<XDocument> xDoc = xDocBuilder->parseURI( aFilename );
Reference<XNode> layoutnode = layoutlist->item(index); //get i'th layout element const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
maLayoutInfo.push_back(layoutnode); const int nElements = layoutlist->getLength();
for(int index=0; index < nElements; index++)
maLayoutInfo.push_back( layoutlist->item(index) );
} }
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -48,25 +48,11 @@ ...@@ -48,25 +48,11 @@
#include <editeng/flditem.hxx> #include <editeng/flditem.hxx>
#include <svx/sdr/contact/displayinfo.hxx> #include <svx/sdr/contact/displayinfo.hxx>
#include <svx/svditer.hxx> #include <svx/svditer.hxx>
#include <com/sun/star/xml/dom/XDocumentBuilder.hpp>
#include <com/sun/star/xml/dom/XDocument.hpp>
#include <com/sun/star/xml/dom/XNode.hpp> #include <com/sun/star/xml/dom/XNode.hpp>
#include <com/sun/star/xml/dom/XNodeList.hpp> #include <com/sun/star/xml/dom/XNodeList.hpp>
#include <com/sun/star/xml/dom/XNamedNodeMap.hpp> #include <com/sun/star/xml/dom/XNamedNodeMap.hpp>
#include <com/sun/star/xml/dom/DocumentBuilder.hpp>
#include <rtl/ustring.hxx> #include <rtl/ustring.hxx>
#include <comphelper/processfactory.hxx> #include <basegfx/tools/tools.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/util/theMacroExpander.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/configuration/theDefaultProvider.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <unotools/streamwrap.hxx>
#include <rtl/uri.hxx>
#include <unotools/ucbstreamhelper.hxx>
#include <osl/file.h>
#include "../ui/inc/DrawDocShell.hxx" #include "../ui/inc/DrawDocShell.hxx"
#include "Outliner.hxx" #include "Outliner.hxx"
...@@ -95,12 +81,6 @@ using namespace ::com::sun::star::uno; ...@@ -95,12 +81,6 @@ using namespace ::com::sun::star::uno;
using namespace com::sun::star::xml::dom; using namespace com::sun::star::xml::dom;
using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::Reference;
using ::com::sun::star::io::XInputStream;
using ::com::sun::star::lang::XMultiServiceFactory;
using ::com::sun::star::container::XNameAccess;
using ::com::sun::star::beans::PropertyValue;
TYPEINIT2( SdPage, FmFormPage, SdrObjUserCall ); TYPEINIT2( SdPage, FmFormPage, SdrObjUserCall );
/************************************************************************* /*************************************************************************
...@@ -1116,7 +1096,6 @@ Rectangle SdPage::GetLayoutRect() const ...@@ -1116,7 +1096,6 @@ Rectangle SdPage::GetLayoutRect() const
const int MAX_PRESOBJS = 7; // maximum number of presentation objects per layout const int MAX_PRESOBJS = 7; // maximum number of presentation objects per layout
const int VERTICAL = 0x8000; const int VERTICAL = 0x8000;
const int PRESOBJPROP = 4;
struct LayoutDescriptor struct LayoutDescriptor
{ {
...@@ -1247,14 +1226,10 @@ rtl::OUString enumtoString(AutoLayout aut) ...@@ -1247,14 +1226,10 @@ rtl::OUString enumtoString(AutoLayout aut)
return retstr; return retstr;
} }
static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const rtl::OUString& autolayout) static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const rtl::OUString& sLayoutType )
{ {
Rectangle aTitleRect; Rectangle aTitleRect;
Rectangle aLayoutRect; Rectangle aLayoutRect;
int presobjsize;
rtl::OUString sLayoutAttName;
rtl::OUString sPresObjKindAttName;
double propvalue[4];
if( rPage.GetPageKind() != PK_HANDOUT ) if( rPage.GetPageKind() != PK_HANDOUT )
{ {
...@@ -1278,42 +1253,39 @@ static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const ...@@ -1278,42 +1253,39 @@ static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const
} }
rRectangle[0] = aTitleRect; rRectangle[0] = aTitleRect;
for( int i = 1; i < MAX_PRESOBJS; i++ )
int i;
for( i = 1; i < MAX_PRESOBJS; i++ )
rRectangle[i] = aLayoutRect; rRectangle[i] = aLayoutRect;
i=0;
for(i=0; i< PRESOBJPROP; i++)
propvalue[i]=0;
Point aTitlePos( aTitleRect.TopLeft() ); const Point aTitlePos( aTitleRect.TopLeft() );
Size aLayoutSize( aLayoutRect.GetSize() ); const Size aLayoutSize( aLayoutRect.GetSize() );
Point aLayoutPos( aLayoutRect.TopLeft() ); const Point aLayoutPos( aLayoutRect.TopLeft() );
Size aTempSize; double propvalue[] = {0,0,0,0};
Point aTempPnt;
aTempSize = aLayoutSize;
aTempPnt = aLayoutPos;
const std::vector<Reference<XNode>> &layoutinfo = static_cast< SdDrawDocument* >( rPage.GetModel() )->GetLayoutVector(); //getting vector from "SdDrawDocument" ,not sure about the correct mechanism const std::vector< Reference<XNode> >& layoutInfo = static_cast<const SdDrawDocument*>(rPage.GetModel())->GetLayoutVector();
for(size_t y=0; y < layoutinfo.size(); y++) //loop through vector of Xnodes for( std::vector< Reference<XNode> >::const_iterator aIter=layoutInfo.begin(); aIter != layoutInfo.end(); ++aIter )
{ {
Reference<XNode> layoutnode = layoutinfo[y]; //get i'th layout element Reference<XNode> layoutNode = *aIter;
Reference<XNamedNodeMap> layoutattrlist =layoutnode->getAttributes(); Reference<XNamedNodeMap> layoutAttrList =layoutNode->getAttributes();
Reference<XNode> layoutattr = layoutattrlist->getNamedItem("type");
sLayoutAttName=layoutattr->getNodeValue(); //get the attribute value of layout(i.e it's type)
rtl::OUString sLayoutType = autolayout;
if(sLayoutAttName==sLayoutType) // get the attribute value of layout (i.e it's type)
rtl::OUString sLayoutAttName =
layoutAttrList->getNamedItem("type")->getNodeValue();
if(sLayoutAttName == sLayoutType)
{ {
int count=0; int count=0;
Reference<XNodeList> layoutchildrens = layoutnode->getChildNodes(); Reference<XNodeList> layoutChildren = layoutNode->getChildNodes();
presobjsize = layoutchildrens->getLength(); //get the length of that of the layout(number of pres objects) const int presobjsize = layoutChildren->getLength();
for( int j=0; j< presobjsize ; j++) for( int j=0; j< presobjsize ; j++)
{ {
// TODO: rework sd to permit arbitrary number of presentation objects
OSL_ASSERT(count < MAX_PRESOBJS);
rtl::OUString nodename; rtl::OUString nodename;
Reference<XNode> presobj = layoutchildrens->item(j); //get the j'th presobj for that layout Reference<XNode> presobj = layoutChildren->item(j);
nodename=presobj->getNodeName(); nodename=presobj->getNodeName();
if(nodename=="presobj")//check whether children is blank 'text-node' or 'presobj' node
//check whether children is blank 'text-node' or 'presobj' node
if(nodename == "presobj")
{ {
Reference<XNamedNodeMap> presObjAttributes = presobj->getAttributes(); Reference<XNamedNodeMap> presObjAttributes = presobj->getAttributes();
...@@ -1333,26 +1305,24 @@ static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const ...@@ -1333,26 +1305,24 @@ static void CalcAutoLayoutRectangles( SdPage& rPage,Rectangle* rRectangle ,const
sValue = presObjPosY->getNodeValue(); sValue = presObjPosY->getNodeValue();
propvalue[3] = sValue.toDouble(); propvalue[3] = sValue.toDouble();
if(count==0) if(count == 0)
{ {
Size aTitleSize ( aTitleRect.GetSize() ); Size aSize ( aTitleRect.GetSize() );
aTitleSize.Height() = sal_Int32(aTitleSize.Height() * propvalue[0]); aSize.Height() = basegfx::fround(aSize.Height() * propvalue[0]);
aTitleSize.Width() = sal_Int32(aTitleSize.Width() * propvalue[1]); aSize.Width() = basegfx::fround(aSize.Width() * propvalue[1]);
aTitlePos.X() = sal_Int32(aTitlePos.X() +(aTitleSize.Width() * propvalue[2])); Point aPos( basegfx::fround(aTitlePos.X() +(aSize.Width() * propvalue[2])),
aTitlePos.Y() = sal_Int32(aTitlePos.Y() + (aTitleSize.Height() * propvalue[3])); basegfx::fround(aTitlePos.Y() + (aSize.Height() * propvalue[3])) );
rRectangle[count] = Rectangle (aTitlePos, aTitleSize); rRectangle[count] = Rectangle(aPos, aSize);
count = count+1; count = count+1;
} }
else else
{ {
aLayoutSize = aTempSize; //to re-gain fixed layout size Size aSize( basegfx::fround(aLayoutSize.Width() * propvalue[1]),
aLayoutPos = aTempPnt; //to re-gain fixed layout pos basegfx::fround(aLayoutSize.Height() * propvalue[0]) );
aLayoutSize.Height() = sal_Int32(aLayoutSize.Height() * propvalue[0]); Point aPos( basegfx::fround(aLayoutPos.X() +(aLayoutSize.Width() * propvalue[2])),
aLayoutSize.Width() = sal_Int32(aLayoutSize.Width() * propvalue[1]); basegfx::fround(aLayoutPos.Y() + (aLayoutSize.Height() * propvalue[3])) );
aLayoutPos.X() = sal_Int32(aLayoutPos.X() +(aLayoutSize.Width() * propvalue[2])); rRectangle[count] = Rectangle (aPos, aSize);
aLayoutPos.Y() = sal_Int32(aLayoutPos.Y() + (aLayoutSize.Height() * propvalue[3])); count = count+1;
rRectangle[count] = Rectangle (aLayoutPos, aLayoutSize);
count=count+1;
} }
} }
} }
...@@ -1525,7 +1495,6 @@ void findAutoLayoutShapesImpl( SdPage& rPage, const LayoutDescriptor& rDescripto ...@@ -1525,7 +1495,6 @@ void findAutoLayoutShapesImpl( SdPage& rPage, const LayoutDescriptor& rDescripto
void SdPage::SetAutoLayout(AutoLayout eLayout, sal_Bool bInit, sal_Bool bCreate ) void SdPage::SetAutoLayout(AutoLayout eLayout, sal_Bool bInit, sal_Bool bCreate )
{ {
rtl::OUString autolayout;
sd::ScopeLockGuard aGuard( maLockAutoLayoutArrangement ); sd::ScopeLockGuard aGuard( maLockAutoLayoutArrangement );
const bool bSwitchLayout = eLayout != GetAutoLayout(); const bool bSwitchLayout = eLayout != GetAutoLayout();
...@@ -1546,12 +1515,11 @@ void SdPage::SetAutoLayout(AutoLayout eLayout, sal_Bool bInit, sal_Bool bCreate ...@@ -1546,12 +1515,11 @@ void SdPage::SetAutoLayout(AutoLayout eLayout, sal_Bool bInit, sal_Bool bCreate
Rectangle aRectangle[MAX_PRESOBJS]; Rectangle aRectangle[MAX_PRESOBJS];
const LayoutDescriptor& aDescriptor = GetLayoutDescriptor( meAutoLayout ); const LayoutDescriptor& aDescriptor = GetLayoutDescriptor( meAutoLayout );
autolayout=enumtoString(meAutoLayout); rtl::OUString sLayoutName( enumtoString(meAutoLayout) );
CalcAutoLayoutRectangles( *this, aRectangle, autolayout); CalcAutoLayoutRectangles( *this, aRectangle, sLayoutName);
std::set< SdrObject* > aUsedPresentationObjects; std::set< SdrObject* > aUsedPresentationObjects;
std::vector< SdrObject* > aLayoutShapes(PRESOBJ_MAX, 0); std::vector< SdrObject* > aLayoutShapes(PRESOBJ_MAX, 0);
findAutoLayoutShapesImpl( *this, aDescriptor, aLayoutShapes, bInit, bSwitchLayout ); findAutoLayoutShapesImpl( *this, aDescriptor, aLayoutShapes, bInit, bSwitchLayout );
......
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- At present I am not sure about corect XML namespace,so once I am aware of it.I am ready to add it. <!-- Configurable definitions of Impress slide layouts.
Currently the layout type name needs to match a set of predefined strings.
Per entry, you can declare up to one Title object, and up to four
Outline objects. All values are relative to Impress' 'layout
rect', which is roughly 90% of the available slide area.
--> -->
<layout-list> <layout-list>
<layout type="AUTOLAYOUT_TITLE_CONTENT"> <layout type="AUTOLAYOUT_TITLE_CONTENT">
...@@ -78,4 +83,4 @@ ...@@ -78,4 +83,4 @@
<presobj kind="PRESOBJ_OUTLINE1" relative-height="1" relative-width="0.488" relative-posX="0" relative-posY="0"/> <presobj kind="PRESOBJ_OUTLINE1" relative-height="1" relative-width="0.488" relative-posX="0" relative-posY="0"/>
<presobj kind="PRESOBJ_OUTLINE2" relative-height="1" relative-width="0.488" relative-posX="1.05" relative-posY="0"/> <presobj kind="PRESOBJ_OUTLINE2" relative-height="1" relative-width="0.488" relative-posX="1.05" relative-posY="0"/>
</layout> </layout>
</layout-list> </layout-list>
\ No newline at end of file
...@@ -53,6 +53,7 @@ gb_CppunitTest__get_linktargetname = CppunitTest/$(call gb_CppunitTest_get_filen ...@@ -53,6 +53,7 @@ gb_CppunitTest__get_linktargetname = CppunitTest/$(call gb_CppunitTest_get_filen
define gb_CppunitTest__make_args define gb_CppunitTest__make_args
$(HEADLESS) \ $(HEADLESS) \
"-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(OUTDIR)/unittest/install)" \ "-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(OUTDIR)/unittest/install)" \
"-env:BRAND_SHARE_SUBDIR=share" \
$(if $(URE),\ $(if $(URE),\
$(if $(strip $(CONFIGURATION_LAYERS)),\ $(if $(strip $(CONFIGURATION_LAYERS)),\
"-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \ "-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \
......
...@@ -19,7 +19,7 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/sta ...@@ -19,7 +19,7 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/sta
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/crdbus50.bau,user/autotext/en-US/crdbus50.bau)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/crdbus50.bau,user/autotext/en-US/crdbus50.bau))
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetup.xpm,user/config/psetup.xpm)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetup.xpm,user/config/psetup.xpm))
$(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/transitions.xml,user/config/soffice.cfg/simpress/transitions.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/transitions.xml,user/config/soffice.cfg/simpress/transitions.xml))
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/simpress/transitions-ogl.xml,user/config/soffice.cfg/simpress/transitions-ogl.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/transitions-ogl.xml,user/config/soffice.cfg/simpress/transitions-ogl.xml))
$(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/effects.xml,user/config/soffice.cfg/simpress/effects.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/effects.xml,user/config/soffice.cfg/simpress/effects.xml))
$(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml,user/config/soffice.cfg/simpress/layoutlist.xml)) $(eval $(call gb_Package_add_file,test_unittest,unittest/install/share/config/soffice.cfg/simpress/layoutlist.xml,user/config/soffice.cfg/simpress/layoutlist.xml))
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetupl.xpm,user/config/psetupl.xpm)) $(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/psetupl.xpm,user/config/psetupl.xpm))
......
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- At present I am not sure about corect XML namespace,so once I am aware of it.I am ready to add it. <!-- Configurable definitions of Impress slide layouts.
Currently the layout type name needs to match a set of predefined strings.
Per entry, you can declare up to one Title object, and up to four
Outline objects. All values are relative to Impress' 'layout
rect', which is roughly 90% of the available slide area.
--> -->
<layout-list> <layout-list>
<layout type="AUTOLAYOUT_TITLE_CONTENT"> <layout type="AUTOLAYOUT_TITLE_CONTENT">
...@@ -78,4 +83,4 @@ ...@@ -78,4 +83,4 @@
<presobj kind="PRESOBJ_OUTLINE1" relative-height="1" relative-width="0.488" relative-posX="0" relative-posY="0"/> <presobj kind="PRESOBJ_OUTLINE1" relative-height="1" relative-width="0.488" relative-posX="0" relative-posY="0"/>
<presobj kind="PRESOBJ_OUTLINE2" relative-height="1" relative-width="0.488" relative-posX="1.05" relative-posY="0"/> <presobj kind="PRESOBJ_OUTLINE2" relative-height="1" relative-width="0.488" relative-posX="1.05" relative-posY="0"/>
</layout> </layout>
</layout-list> </layout-list>
\ No newline at end of file
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