Sorry for missing default value of bTemplate in the previous sfx2 patch,
corrected in this one.
Zhang Xiaofei
Hi Mikhail,
Here I created a bunch of patches for the fix of i41881. As I
understand, the implementations in derive classes should pass template
format IDs to the second parameter of FillClass, and let
SotExchange::GetFormatDataFlavor in SfxObjectShell::SetupStorage do
the rest of the work? Please correct me if I did not get your idea right.
Thanks and Best Regards,
Felix.
------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Index: sfx2/inc/sfx2/objsh.hxx
===================================================================
RCS file: /cvs/framework/sfx2/inc/sfx2/objsh.hxx,v
retrieving revision 1.14
diff -u -p -r1.14 objsh.hxx
--- sfx2/inc/sfx2/objsh.hxx 20 May 2008 18:57:30 -0000 1.14
+++ sfx2/inc/sfx2/objsh.hxx 8 Jul 2008 06:53:59 -0000
@@ -695,7 +695,8 @@ public:
String * pAppName,
String *
pFullTypeName,
String *
pShortTypeName,
- sal_Int32 nVersion )
const = 0;
+ sal_Int32 nVersion,
+ sal_Bool bTemplate =
sal_False) const = 0;
// =================================
Index: sfx2/source/doc/objstor.cxx
===================================================================
RCS file: /cvs/framework/sfx2/source/doc/objstor.cxx,v
retrieving revision 1.212
diff -u -p -r1.212 objstor.cxx
--- sfx2/source/doc/objstor.cxx 28 May 2008 13:07:23 -0000 1.212
+++ sfx2/source/doc/objstor.cxx 8 Jul 2008 06:54:01 -0000
@@ -335,7 +335,7 @@ void SfxObjectShell::SetupStorage( const
String aFullTypeName, aShortTypeName, aAppName;
sal_uInt32 nClipFormat=0;
- FillClass( &aName, &nClipFormat, &aAppName, &aFullTypeName,
&aShortTypeName, nVersion );
+ FillClass( &aName, &nClipFormat, &aAppName, &aFullTypeName,
&aShortTypeName, nVersion, bTemplate );
if ( nClipFormat )
{
// basic doesn't have a ClipFormat
@@ -345,23 +345,6 @@ void SfxObjectShell::SetupStorage( const
SotExchange::GetFormatDataFlavor( nClipFormat, aDataFlavor );
if ( aDataFlavor.MimeType.getLength() )
{
- if ( bTemplate )
- {
- // TODO/LATER: this is a temporary solution
for BETA to avoid incompatible change
- if ( aDataFlavor.MimeType.equals(
MIMETYPE_OASIS_OPENDOCUMENT_TEXT ) )
- aDataFlavor.MimeType =
MIMETYPE_OASIS_OPENDOCUMENT_TEXT_TEMPLATE;
- else if ( aDataFlavor.MimeType.equals(
MIMETYPE_OASIS_OPENDOCUMENT_DRAWING ) )
- aDataFlavor.MimeType =
MIMETYPE_OASIS_OPENDOCUMENT_DRAWING_TEMPLATE;
- else if ( aDataFlavor.MimeType.equals(
MIMETYPE_OASIS_OPENDOCUMENT_PRESENTATION ) )
- aDataFlavor.MimeType =
MIMETYPE_OASIS_OPENDOCUMENT_PRESENTATION_TEMPLATE;
- else if ( aDataFlavor.MimeType.equals(
MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET ) )
- aDataFlavor.MimeType =
MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_TEMPLATE;
- else if ( aDataFlavor.MimeType.equals(
MIMETYPE_OASIS_OPENDOCUMENT_CHART ) )
- aDataFlavor.MimeType =
MIMETYPE_OASIS_OPENDOCUMENT_CHART_TEMPLATE;
- else if ( aDataFlavor.MimeType.equals(
MIMETYPE_OASIS_OPENDOCUMENT_FORMULA ) )
- aDataFlavor.MimeType =
MIMETYPE_OASIS_OPENDOCUMENT_FORMULA_TEMPLATE;
- }
-
try
{
xProps->setPropertyValue(
::rtl::OUString::createFromAscii( "MediaType" ), uno::makeAny(
aDataFlavor.MimeType ) );
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]