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]

Reply via email to