diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2009-10-02 11:10:40 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2009-10-02 11:10:40 +0000 |
commit | 36a931bd7ffca530cd91c51326d9f021b5319bc6 (patch) | |
tree | b09d5bea67e0f24c53be49eb1f0d563e5b10a5df | |
parent | 2d5e9e410be4a8a96b37acdaff8a7f9b2758b1c8 (diff) |
CWS-TOOLING: integrate CWS fwk118
2009-09-22 17:19:38 +0200 cd r276361 : #i105263# GetFileTypeIndex() uses a 1 based index
2009-09-22 11:10:29 +0200 cd r276351 : #i105154# Fix bad element exists exception for ui configuration
-rw-r--r-- | fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx | 41 | ||||
-rwxr-xr-x | framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx | 2 |
2 files changed, 22 insertions, 21 deletions
diff --git a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx index 58041b3fe628..ed2d5041ad67 100644 --- a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx +++ b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx @@ -872,30 +872,31 @@ void VistaFilePickerImpl::impl_sta_ShowDialogModal(const RequestRef& rRequest) { if (m_sFilename.getLength()) { - ::rtl::OUString aFileURL(m_sDirectory);
- sal_Int32 nIndex = aFileURL.lastIndexOf('/');
- if (nIndex != aFileURL.getLength()-1)
- aFileURL += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/"));
- aFileURL += m_sFilename;
-
+ ::rtl::OUString aFileURL(m_sDirectory); + sal_Int32 nIndex = aFileURL.lastIndexOf('/'); + if (nIndex != aFileURL.getLength()-1) + aFileURL += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/")); + aFileURL += m_sFilename; + TFileDialogCustomize iCustom = impl_getCustomizeInterface(); BOOL bValue = FALSE; HRESULT hResult = iCustom->GetCheckButtonState( css::ui::dialogs::ExtendedFilePickerElementIds::CHECKBOX_AUTOEXTENSION, &bValue); if ( bValue ) { - ::rtl::OUString aExt;
- UINT nFileType;
- hResult = iDialog->GetFileTypeIndex(&nFileType);
+ ::rtl::OUString aExt; + UINT nFileType; + hResult = iDialog->GetFileTypeIndex(&nFileType); if ( SUCCEEDED(hResult) ) - {
+ { + ::sal_Int32 nRealIndex = (nFileType-1); // COM dialog base on 1 ... filter container on 0 .-) ::std::vector< COMDLG_FILTERSPEC > lFilters = lcl_buildFilterList(m_lFilters); - LPCWSTR lpFilterExt = lFilters[nFileType].pszSpec; + LPCWSTR lpFilterExt = lFilters[nRealIndex].pszSpec; lpFilterExt = wcsrchr( lpFilterExt, '.' ); if ( lpFilterExt ) aFileURL += reinterpret_cast<const sal_Unicode*>(lpFilterExt); - }
+ } } // Check existence of file. Set folder only for this special case @@ -904,15 +905,15 @@ void VistaFilePickerImpl::impl_sta_ShowDialogModal(const RequestRef& rRequest) WIN32_FIND_DATA aFindFileData; HANDLE hFind = FindFirstFile( reinterpret_cast<LPCWSTR>(aSystemPath.getStr()), &aFindFileData ); - if (hFind != INVALID_HANDLE_VALUE)
- iDialog->SetFolder(pFolder);
- else
- hResult = iDialog->AddPlace(pFolder, FDAP_TOP);
-
+ if (hFind != INVALID_HANDLE_VALUE) + iDialog->SetFolder(pFolder); + else + hResult = iDialog->AddPlace(pFolder, FDAP_TOP); + FindClose( hFind ); - }
- else
- hResult = iDialog->AddPlace(pFolder, FDAP_TOP);
+ } + else + hResult = iDialog->AddPlace(pFolder, FDAP_TOP); } } diff --git a/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx b/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx index 9b2284c0c6b8..5b67b13d8805 100755 --- a/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx +++ b/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx @@ -1281,7 +1281,7 @@ throw ( ElementExistException, IllegalArgumentException, IllegalAccessException, bInsertData = true; } } - if ( !pDataSettings ) + if ( !pDataSettings || bInsertData ) { aUIElementData.bDefault = false; if ( !m_bUseDefault ) |