Lines 523-528
Link Here
|
523 |
throw RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM("AquaClipboard: Cannot create com.sun.star.datatransfer.MimeContentTypeFactory")), NULL); |
523 |
throw RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM("AquaClipboard: Cannot create com.sun.star.datatransfer.MimeContentTypeFactory")), NULL); |
524 |
} |
524 |
} |
525 |
|
525 |
|
|
|
526 |
DataFlavorMapper::~DataFlavorMapper() |
527 |
{ |
528 |
// release potential NSStrings |
529 |
for( std::hash_map< rtl::OUString, NSString*, rtl::OUStringHash >::iterator it |
530 |
= maOfficeOnlyTypes.begin(); it != maOfficeOnlyTypes.end(); ++it ) |
531 |
{ |
532 |
[it->second release]; |
533 |
it->second = nil; |
534 |
} |
535 |
} |
536 |
|
526 |
DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor(NSString* systemDataFlavor) const |
537 |
DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor(NSString* systemDataFlavor) const |
527 |
{ |
538 |
{ |
528 |
DataFlavor oOOFlavor; |
539 |
DataFlavor oOOFlavor; |
Lines 538-559
Link Here
|
538 |
} |
549 |
} |
539 |
} // for |
550 |
} // for |
540 |
|
551 |
|
541 |
return oOOFlavor; |
552 |
// look if this might be an internal type; if it comes in here it must have |
|
|
553 |
// been through openOfficeToSystemFlavor before, so it should then be in the map |
554 |
rtl::OUString aTryFlavor( NSStringToOUString( systemDataFlavor ) ); |
555 |
if( maOfficeOnlyTypes.find( aTryFlavor ) != maOfficeOnlyTypes.end() ) |
556 |
{ |
557 |
oOOFlavor.MimeType = aTryFlavor; |
558 |
oOOFlavor.HumanPresentableName = rtl::OUString(); |
559 |
oOOFlavor.DataType = CPPUTYPE_SEQINT8; |
560 |
} |
561 |
|
562 |
return oOOFlavor; |
542 |
} |
563 |
} |
543 |
|
564 |
|
544 |
NSString* DataFlavorMapper::openOfficeToSystemFlavor(const DataFlavor& oOOFlavor) const |
565 |
NSString* DataFlavorMapper::openOfficeToSystemFlavor(const DataFlavor& oOOFlavor) const |
545 |
{ |
566 |
{ |
546 |
NSString* sysFlavor = NULL; |
567 |
NSString* sysFlavor = NULL; |
547 |
|
568 |
|
548 |
for (size_t i = 0; i < SIZE_FLAVOR_MAP; i++) |
569 |
for (size_t i = 0; i < SIZE_FLAVOR_MAP; i++) |
549 |
{ |
570 |
{ |
550 |
if (oOOFlavor.MimeType.compareToAscii(flavorMap[i].OOoFlavor, strlen(flavorMap[i].OOoFlavor)) == 0) |
571 |
if (oOOFlavor.MimeType.compareToAscii(flavorMap[i].OOoFlavor, strlen(flavorMap[i].OOoFlavor)) == 0) |
551 |
{ |
572 |
{ |
552 |
sysFlavor = flavorMap[i].SystemFlavor; |
573 |
sysFlavor = flavorMap[i].SystemFlavor; |
553 |
} |
574 |
} |
554 |
} |
575 |
} |
555 |
|
576 |
|
556 |
return sysFlavor; |
577 |
if( ! sysFlavor ) |
|
|
578 |
{ |
579 |
std::hash_map<rtl::OUString, NSString*, rtl::OUStringHash >::const_iterator it |
580 |
= maOfficeOnlyTypes.find( oOOFlavor.MimeType ); |
581 |
if( it == maOfficeOnlyTypes.end() ) |
582 |
{ |
583 |
sysFlavor = maOfficeOnlyTypes[ oOOFlavor.MimeType ] = OUStringToNSString( oOOFlavor.MimeType ); |
584 |
} |
585 |
else |
586 |
sysFlavor = it->second; |
587 |
} |
588 |
|
589 |
return sysFlavor; |
557 |
} |
590 |
} |
558 |
|
591 |
|
559 |
NSString* DataFlavorMapper::openOfficeImageToSystemFlavor(NSPasteboard* pPasteboard) const |
592 |
NSString* DataFlavorMapper::openOfficeImageToSystemFlavor(NSPasteboard* pPasteboard) const |
Lines 690-695
Link Here
|
690 |
|
723 |
|
691 |
if (str != NULL) |
724 |
if (str != NULL) |
692 |
{ |
725 |
{ |
|
|
726 |
[str retain]; |
693 |
[array addObject: str]; |
727 |
[array addObject: str]; |
694 |
} |
728 |
} |
695 |
} |
729 |
} |