Author: alg
Date: Thu Jun  6 12:10:35 2013
New Revision: 1490250

URL: http://svn.apache.org/r1490250
Log:
i122420 Re-activated the internal OpenOfficeToSystemFlavor

Modified:
    openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
    openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx
    openoffice/trunk/main/vcl/aqua/source/dtrans/OSXTransferable.cxx
    openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx?rev=1490250&r1=1490249&r2=1490250&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx 
(original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx Thu Jun  
6 12:10:35 2013
@@ -549,9 +549,10 @@ DataFlavor DataFlavorMapper::systemToOpe
        return oOOFlavor;
 }
 
-NSString* DataFlavorMapper::openOfficeToSystemFlavor(const DataFlavor& 
oOOFlavor) const
+NSString* DataFlavorMapper::openOfficeToSystemFlavor(const DataFlavor& 
oOOFlavor, bool& rbInternal) const
 {
     NSString* sysFlavor = NULL;
+    rbInternal = false;
     
        for( size_t i = 0; i < SIZE_FLAVOR_MAP; ++i )
        {
@@ -561,18 +562,17 @@ NSString* DataFlavorMapper::openOfficeTo
                }
        }
 
-        return sysFlavor;
-}
-        
-NSString* DataFlavorMapper::internalOpenOfficeToSystemFlavor(const DataFlavor& 
oOOFlavor) const
-{
-    NSString* sysFlavor = NULL;
-    OfficeOnlyTypes::const_iterator it = maOfficeOnlyTypes.find( 
oOOFlavor.MimeType );
-    if( it == maOfficeOnlyTypes.end() )
-        sysFlavor = maOfficeOnlyTypes[ oOOFlavor.MimeType ] = 
OUStringToNSString( oOOFlavor.MimeType );
-    else
-        sysFlavor = it->second;
-       
+    if(!sysFlavor)
+    {
+        rbInternal = true;
+        OfficeOnlyTypes::const_iterator it = maOfficeOnlyTypes.find( 
oOOFlavor.MimeType );
+
+        if( it == maOfficeOnlyTypes.end() )
+            sysFlavor = maOfficeOnlyTypes[ oOOFlavor.MimeType ] = 
OUStringToNSString( oOOFlavor.MimeType );
+        else
+            sysFlavor = it->second;
+    }
+
     return sysFlavor;
 }
 
@@ -697,7 +697,7 @@ NSArray* DataFlavorMapper::flavorSequenc
   sal_uInt32 nFlavors = flavors.getLength();
   NSMutableArray* array = [[NSMutableArray alloc] initWithCapacity: 1];
 
-  bool bNeedDummyInternalFlavor (true);
+  bool bNeedDummyInternalFlavor(false);
   
   for (sal_uInt32 i = 0; i < nFlavors; i++)
   {
@@ -708,11 +708,7 @@ NSArray* DataFlavorMapper::flavorSequenc
       }
       else
       {
-          NSString* str = openOfficeToSystemFlavor(flavors[i]);
-          if (str == NULL)
-              str = internalOpenOfficeToSystemFlavor(flavors[i]);
-          else
-              bNeedDummyInternalFlavor = false;
+          NSString* str = openOfficeToSystemFlavor(flavors[i], 
bNeedDummyInternalFlavor);
           
           if (str != NULL)
           {

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx?rev=1490250&r1=1490249&r2=1490250&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx 
(original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx Thu Jun  
6 12:10:35 2013
@@ -85,7 +85,7 @@ public:
         If there is no suiteable mapping available NULL will
         be returned.
   */
-  NSString* openOfficeToSystemFlavor(const 
com::sun::star::datatransfer::DataFlavor& oooDataFlavor) const;
+  NSString* openOfficeToSystemFlavor(const 
com::sun::star::datatransfer::DataFlavor& oooDataFlavor, bool& rbInternal) 
const;
 
   /* Select the best available image data type
         If there is no suiteable mapping available NULL will
@@ -132,8 +132,6 @@ private:
    */
   bool isValidMimeContentType(const rtl::OUString& contentType) const;
 
-  NSString* internalOpenOfficeToSystemFlavor(const 
com::sun::star::datatransfer::DataFlavor& oooDataFlavor) const;
-
 private:
   ::com::sun::star::uno::Reference< 
::com::sun::star::datatransfer::XMimeContentTypeFactory> mrXMimeCntFactory;
   typedef std::hash_map< rtl::OUString, NSString*, rtl::OUStringHash > 
OfficeOnlyTypes;

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/OSXTransferable.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/OSXTransferable.cxx?rev=1490250&r1=1490249&r2=1490250&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/OSXTransferable.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/OSXTransferable.cxx Thu Jun  6 
12:10:35 2013
@@ -84,10 +84,11 @@ Any SAL_CALL OSXTransferable::getTransfe
                                                                           
static_cast<XTransferable*>(this));
        }
 
+  bool bInternal(false);
   NSString* sysFormat = 
       (aFlavor.MimeType.compareToAscii( "image/png", 9 ) == 0)
       ? mDataFlavorMapper->openOfficeImageToSystemFlavor( mPasteboard )
-      : mDataFlavorMapper->openOfficeToSystemFlavor(aFlavor);
+      : mDataFlavorMapper->openOfficeToSystemFlavor(aFlavor, bInternal);
   DataProviderPtr_t dp;
 
   if ([sysFormat caseInsensitiveCompare: NSFilenamesPboardType] == 
NSOrderedSame)

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx?rev=1490250&r1=1490249&r2=1490250&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx Thu Jun  6 
12:10:35 2013
@@ -343,10 +343,11 @@ void SAL_CALL AquaClipboard::flushClipbo
        {
                Sequence<DataFlavor> flavorList = 
mXClipboardContent->getTransferDataFlavors(); 
                sal_uInt32 nFlavors = flavorList.getLength();
-               
+        bool bInternal(false);
+
                for (sal_uInt32 i = 0; i < nFlavors; i++)
                {
-                       NSString* sysType = 
mpDataFlavorMapper->openOfficeToSystemFlavor(flavorList[i]);
+                       NSString* sysType = 
mpDataFlavorMapper->openOfficeToSystemFlavor(flavorList[i], bInternal);
                        
                        if (sysType != NULL)
                        {


Reply via email to