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 | c6e93aae1e17af0d671e3d52e3dfe17927900c5e (patch) | |
tree | 8e0fab313ebb0ca3e6bea9153bb71e4a9a39ec62 /fpicker/source | |
parent | 04c1ee26eb444332d0569a300ca91666e66cc61b (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
Diffstat (limited to 'fpicker/source')
-rw-r--r-- | fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx index 2b9bda83b8..31784e44bd 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); } } |