diff options
author | Kai Sommerfeld <kso@openoffice.org> | 2010-10-01 12:50:38 +0200 |
---|---|---|
committer | Kai Sommerfeld <kso@openoffice.org> | 2010-10-01 12:50:38 +0200 |
commit | 6cf96e73055e4e63efaf64f14555087d89b56b4d (patch) | |
tree | bed5541c29851b3d58039b6bd10e86ca257caead | |
parent | a22764f91490d8f4f95d104c2f4872305ac95a63 (diff) |
#i114876# - Added support for MediaDescriptor properties 'SuggestedSaveAsDir' and 'SuggestedSaveAsName'.
-rw-r--r-- | sfx2/inc/sfx2/sfxsids.hrc | 32 | ||||
-rw-r--r--[-rwxr-xr-x] | sfx2/source/appl/appuno.cxx | 94 |
2 files changed, 82 insertions, 44 deletions
diff --git a/sfx2/inc/sfx2/sfxsids.hrc b/sfx2/inc/sfx2/sfxsids.hrc index 26e1991c24b8..1d4d5efd76ac 100644 --- a/sfx2/inc/sfx2/sfxsids.hrc +++ b/sfx2/inc/sfx2/sfxsids.hrc @@ -191,7 +191,7 @@ #define SID_EXPLORER_FILEPROPS_END (SID_SFX_START + 1399) #define ID_FILETP_START SID_EXPLORER_FILEPROPS_START -#define ID_FILETP_READONLY (ID_FILETP_START + 0) +#define ID_FILETP_READONLY (ID_FILETP_START + 0) #define ID_FILETP_TITLE (ID_FILETP_START + 1) #define SID_EXPLORER_PROPS_START (SID_SFX_START + 1410) @@ -225,9 +225,9 @@ #define SID_OFFICE_PLK (SID_SFX_START + 1601) #define SID_OFFICE_PALK (SID_SFX_START + 1604) #define SID_CHECK_KEY (SID_SFX_START + 1605) -#define SID_OFFICE_PRIVATE_USE (SID_SFX_START + 1606) -#define SID_OFFICE_COMMERCIAL_USE (SID_SFX_START + 1607) -#define SID_OFFICE_CUSTOMERNUMBER (SID_SFX_START + 1608) +#define SID_OFFICE_PRIVATE_USE (SID_SFX_START + 1606) +#define SID_OFFICE_COMMERCIAL_USE (SID_SFX_START + 1607) +#define SID_OFFICE_CUSTOMERNUMBER (SID_SFX_START + 1608) #define SID_OFFICE_INVALIDATE_TITLE (SID_SFX_START + 1609) #define SID_OFFICE_CHECK_PLZ (SID_SFX_START + 1610) #define SID_INTERNET_SEARCH (SID_SFX_START + 1611) @@ -240,11 +240,11 @@ #define SID_NEW_MSG_PARENT (SID_SFX_START + 1622) -#define SID_PGP_ENCODE (SID_SFX_START + 1625) -#define SID_PGP_DECODE (SID_SFX_START + 1626) -#define SID_TIPWINDOW (SID_SFX_START + 1632) +#define SID_PGP_ENCODE (SID_SFX_START + 1625) +#define SID_PGP_DECODE (SID_SFX_START + 1626) +#define SID_TIPWINDOW (SID_SFX_START + 1632) #define SID_CHARSET (SID_SFX_START + 1633) -#define SID_OVERWRITE (SID_SFX_START + 1634) +#define SID_OVERWRITE (SID_SFX_START + 1634) #define SID_RENAME (SID_SFX_START + 1653) #define SID_PARTWIN (SID_SFX_START + 1640) #define SID_CRASH (SID_SFX_START + 1645) @@ -275,7 +275,7 @@ #define SID_SHOW_IME_STATUS_WINDOW (SID_SFX_START + 1680) #define SID_UPDATE_CONFIG (SID_SFX_START + 1681) #define SID_VIEWONLY (SID_SFX_START + 1682) -#define SID_REPAIRPACKAGE (SID_SFX_START + 1683) +#define SID_REPAIRPACKAGE (SID_SFX_START + 1683) #define SID_ADDONHELP (SID_SFX_START + 1684) #define SID_OBJECTSHELL (SID_SFX_START + 1685) #define SID_MINIMIZED (SID_SFX_START + 1687) @@ -309,7 +309,9 @@ #define SID_DEFAULTFILENAME (SID_SFX_START + 1717) #define SID_MODIFYPASSWORDINFO (SID_SFX_START + 1718) #define SID_RECOMMENDREADONLY (SID_SFX_START + 1719) -#define SID_SFX_free_START (SID_SFX_START + 1720) +#define SID_SUGGESTEDSAVEASDIR (SID_SFX_START + 1720) +#define SID_SUGGESTEDSAVEASNAME (SID_SFX_START + 1721) +#define SID_SFX_free_START (SID_SFX_START + 1722) #define SID_SFX_free_END (SID_SFX_START + 3999) #define SID_OPEN_NEW_VIEW (SID_SFX_START + 520) @@ -493,7 +495,7 @@ #define SID_PASTE (SID_SFX_START + 712) // steht unter diesem Wert in chaos/cntids.hrc!!! -//#define SID_DELETE (SID_SFX_START + 713) +//#define SID_DELETE (SID_SFX_START + 713) #define SID_BACKSPACE (SID_SFX_START + 714) #define SID_FORMATPAINTBRUSH (SID_SFX_START + 715) @@ -657,7 +659,7 @@ #define SID_OPT_HELP_PATH (SID_SFX_START + 1560) #define SID_OPT_BOOKMARKS_PATH (SID_SFX_START + 1561) #define SID_OPT_GALLERY_PATH (SID_SFX_START + 1562) -#define SID_OPT_NEWDOC_PATH (SID_SFX_START + 1563) +#define SID_OPT_NEWDOC_PATH (SID_SFX_START + 1563) #define SID_OPT_AGENTS_PATH (SID_SFX_START + 1564) #define SID_OPT_AUTOPILOT_PATH (SID_SFX_START + 1565) #define SID_OPT_EXPLORER_PATH (SID_SFX_START + 1566) @@ -751,9 +753,9 @@ #define SID_ATTR_AUTOHELPAGENT (SID_OPTIONS_START + 67) #define SID_AUTOHELPAGENT_RESET (SID_OPTIONS_START + 68) #define SID_HELPAGENT_TIMEOUT (SID_OPTIONS_START + 93) -#define SID_ATTR_WELCOMESCREEN (SID_OPTIONS_START + 81) +#define SID_ATTR_WELCOMESCREEN (SID_OPTIONS_START + 81) #define SID_WELCOMESCREEN_RESET (SID_OPTIONS_START + 82) -#define SID_RESTORE_EXPAND_STATE (SID_OPTIONS_START + 83) +#define SID_RESTORE_EXPAND_STATE (SID_OPTIONS_START + 83) #define SID_ATTR_QUICKLAUNCHER (SID_OPTIONS_START + 74) #define SID_ATTR_YEAR2000 (SID_OPTIONS_START + 87) #define SID_ATTR_ALLOWFOLDERWEBVIEW (SID_OPTIONS_START + 92) @@ -825,7 +827,7 @@ #define SID_INET_CHANNELS_ONOFF (SID_OPTIONS_START + 64) -#define SID_INET_COOKIESHANDLE (SID_OPTIONS_START + 69) +#define SID_INET_COOKIESHANDLE (SID_OPTIONS_START + 69) #define SID_INET_CACHEJS (SID_OPTIONS_START + 70) #define SID_INET_CACHEEXPIRED (SID_OPTIONS_START + 71) diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx index 6f9d3b258745..c391f201583f 100755..100644 --- a/sfx2/source/appl/appuno.cxx +++ b/sfx2/source/appl/appuno.cxx @@ -166,7 +166,7 @@ static char const sDontEdit[] = "DontEdit"; static char const sSilent[] = "Silent"; static char const sJumpMark[] = "JumpMark"; static char const sFileName[] = "FileName"; -static char const sSalvageURL[] = "SalvagedFile"; +static char const sSalvagedFile[] = "SalvagedFile"; static char const sStatusInd[] = "StatusIndicator"; static char const sModel[] = "Model"; static char const sFrame[] = "Frame"; @@ -192,6 +192,8 @@ static char const sUseSystemDialog[] = "UseSystemDialog"; static char const sStandardDir[] = "StandardDir"; static char const sBlackList[] = "BlackList"; static char const sModifyPasswordInfo[] = "ModifyPasswordInfo"; +static char const sSuggestedSaveAsDir[] = "SuggestedSaveAsDir"; +static char const sSuggestedSaveAsName[] = "SuggestedSaveAsName"; void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rArgs, SfxAllItemSet& rSet, const SfxSlot* pSlot ) { @@ -686,7 +688,7 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque { ::rtl::OUString sVal; sal_Bool bOK = ((rProp.Value >>= sVal) && sVal.getLength()); - DBG_ASSERT( bOK, "invalid type or value for StanadardDir" ); + DBG_ASSERT( bOK, "invalid type or value for StandardDir" ); if (bOK) rSet.Put( SfxStringItem( SID_STANDARD_DIR, sVal ) ); } @@ -710,11 +712,11 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque if (bOK) rSet.Put( SfxStringItem( SID_FILE_NAME, sVal ) ); } - else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSalvageURL)) ) + else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSalvagedFile)) ) { ::rtl::OUString sVal; sal_Bool bOK = (rProp.Value >>= sVal); - DBG_ASSERT( bOK, "invalid type or value for SalvageURL" ); + DBG_ASSERT( bOK, "invalid type or value for SalvagedFile" ); if (bOK) rSet.Put( SfxStringItem( SID_DOC_SALVAGE, sVal ) ); } @@ -722,7 +724,7 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque { ::rtl::OUString sVal; sal_Bool bOK = (rProp.Value >>= sVal); - DBG_ASSERT( bOK, "invalid type or value for SalvageURL" ); + DBG_ASSERT( bOK, "invalid type or value for FolderName" ); if (bOK) rSet.Put( SfxStringItem( SID_PATH, sVal ) ); } @@ -851,6 +853,22 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque { rSet.Put( SfxUnoAnyItem( SID_MODIFYPASSWORDINFO, rProp.Value ) ); } + else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSuggestedSaveAsDir)) ) + { + ::rtl::OUString sVal; + sal_Bool bOK = ((rProp.Value >>= sVal) && sVal.getLength()); + DBG_ASSERT( bOK, "invalid type or value for SuggestedSaveAsDir" ); + if (bOK) + rSet.Put( SfxStringItem( SID_SUGGESTEDSAVEASDIR, sVal ) ); + } + else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSuggestedSaveAsName)) ) + { + ::rtl::OUString sVal; + sal_Bool bOK = ((rProp.Value >>= sVal) && sVal.getLength()); + DBG_ASSERT( bOK, "invalid type or value for SuggestedSaveAsName" ); + if (bOK) + rSet.Put( SfxStringItem( SID_SUGGESTEDSAVEASNAME, sVal ) ); + } #ifdef DBG_UTIL else --nFoundArgs; @@ -1065,6 +1083,10 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta nAdditional++; if ( rSet.GetItemState( SID_MODIFYPASSWORDINFO ) == SFX_ITEM_SET ) nAdditional++; + if ( rSet.GetItemState( SID_SUGGESTEDSAVEASDIR ) == SFX_ITEM_SET ) + nAdditional++; + if ( rSet.GetItemState( SID_SUGGESTEDSAVEASNAME ) == SFX_ITEM_SET ) + nAdditional++; // consider additional arguments nProps += nAdditional; @@ -1206,6 +1228,10 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta continue; if ( nId == SID_MODIFYPASSWORDINFO ) continue; + if ( nId == SID_SUGGESTEDSAVEASDIR ) + continue; + if ( nId == SID_SUGGESTEDSAVEASNAME ) + continue; } ByteString aDbg( "Unknown item detected: "); @@ -1490,7 +1516,7 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta } if ( rSet.GetItemState( SID_DOC_SALVAGE, sal_False, &pItem ) == SFX_ITEM_SET ) { - pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSalvageURL)); + pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSalvagedFile)); pValue[nActProp++].Value <<= ( ::rtl::OUString(((SfxStringItem*)pItem)->GetValue()) ); } if ( rSet.GetItemState( SID_PATH, sal_False, &pItem ) == SFX_ITEM_SET ) @@ -1569,6 +1595,16 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sModifyPasswordInfo)); pValue[nActProp++].Value = ( ((SfxUnoAnyItem*)pItem)->GetValue() ); } + if ( rSet.GetItemState( SID_SUGGESTEDSAVEASDIR, sal_False, &pItem ) == SFX_ITEM_SET ) + { + pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSuggestedSaveAsDir)); + pValue[nActProp++].Value <<= ( ::rtl::OUString(((SfxStringItem*)pItem)->GetValue()) ); + } + if ( rSet.GetItemState( SID_SUGGESTEDSAVEASNAME, sal_False, &pItem ) == SFX_ITEM_SET ) + { + pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSuggestedSaveAsName)); + pValue[nActProp++].Value <<= ( ::rtl::OUString(((SfxStringItem*)pItem)->GetValue()) ); + } } } @@ -1874,8 +1910,8 @@ ErrCode SfxMacroLoader::loadMacro( const ::rtl::OUString& rURL, com::sun::star:: } if ( pSh && pSh->GetModel().is() ) - // remove flag for modal mode - pSh->SetMacroMode_Impl( FALSE ); + // remove flag for modal mode + pSh->SetMacroMode_Impl( FALSE ); } else nErr = ERRCODE_BASIC_PROC_UNDEFINED; @@ -2377,18 +2413,18 @@ RequestFilterOptions::RequestFilterOptions( ::com::sun::star::uno::Reference< :: ::rtl::OUString temp; ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > temp2; ::com::sun::star::document::FilterOptionsRequest aOptionsRequest( temp, - temp2, + temp2, rModel, rProperties ); - m_aRequest <<= aOptionsRequest; + m_aRequest <<= aOptionsRequest; - m_pAbort = new ContinuationAbort; - m_pOptions = new FilterOptionsContinuation; + m_pAbort = new ContinuationAbort; + m_pOptions = new FilterOptionsContinuation; - m_lContinuations.realloc( 2 ); - m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort ); - m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pOptions ); + m_lContinuations.realloc( 2 ); + m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort ); + m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pOptions ); } ::com::sun::star::uno::Any SAL_CALL RequestFilterOptions::getRequest() @@ -2411,17 +2447,17 @@ RequestPackageReparation::RequestPackageReparation( ::rtl::OUString aName ) ::rtl::OUString temp; ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > temp2; ::com::sun::star::document::BrokenPackageRequest aBrokenPackageRequest( temp, - temp2, - aName ); + temp2, + aName ); - m_aRequest <<= aBrokenPackageRequest; + m_aRequest <<= aBrokenPackageRequest; - m_pApprove = new ContinuationApprove; - m_pDisapprove = new ContinuationDisapprove; + m_pApprove = new ContinuationApprove; + m_pDisapprove = new ContinuationDisapprove; - m_lContinuations.realloc( 2 ); - m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pApprove ); - m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pDisapprove ); + m_lContinuations.realloc( 2 ); + m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pApprove ); + m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pDisapprove ); } /*uno::*/Any SAL_CALL RequestPackageReparation::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException) @@ -2464,15 +2500,15 @@ NotifyBrokenPackage::NotifyBrokenPackage( ::rtl::OUString aName ) ::rtl::OUString temp; ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > temp2; ::com::sun::star::document::BrokenPackageRequest aBrokenPackageRequest( temp, - temp2, - aName ); + temp2, + aName ); - m_aRequest <<= aBrokenPackageRequest; + m_aRequest <<= aBrokenPackageRequest; - m_pAbort = new ContinuationAbort; + m_pAbort = new ContinuationAbort; - m_lContinuations.realloc( 1 ); - m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort ); + m_lContinuations.realloc( 1 ); + m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort ); } /*uno::*/Any SAL_CALL NotifyBrokenPackage::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException) |