summaryrefslogtreecommitdiffstats
path: root/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx')
-rw-r--r--fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx20
1 files changed, 16 insertions, 4 deletions
diff --git a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
index 35be52b6101a..c359915f4e8d 100644
--- a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
+++ b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
@@ -1072,11 +1072,10 @@ void VistaFilePickerImpl::impl_sta_SetControlValue(const RequestRef& rRequest)
case css::ui::dialogs::ControlActions::ADD_ITEMS :
{
- css::uno::Sequence< OUString > lItems;
- aValue >>= lItems;
- for (::sal_Int32 i=0; i<lItems.getLength(); ++i)
+ aValue >>= m_lItems;
+ for (::sal_Int32 i=0; i<m_lItems.getLength(); ++i)
{
- const OUString& sItem = lItems[i];
+ const OUString& sItem = m_lItems[i];
hResult = iCustom->AddControlItem(nId, i, o3tl::toW(sItem.getStr()));
}
}
@@ -1130,6 +1129,19 @@ void VistaFilePickerImpl::impl_sta_GetControlValue(const RequestRef& rRequest)
aValue <<= bool(bValue);
}
break;
+ case css::ui::dialogs::ExtendedFilePickerElementIds::LISTBOX_VERSION:
+ case css::ui::dialogs::ExtendedFilePickerElementIds::LISTBOX_TEMPLATE:
+ case css::ui::dialogs::ExtendedFilePickerElementIds::LISTBOX_IMAGE_TEMPLATE:
+ {
+ DWORD bValue = 0;
+ HRESULT hResult = iCustom->GetSelectedControlItem(nId, &bValue);
+ if ( SUCCEEDED(hResult) )
+ {
+ const OUString& sItem = m_lItems[bValue];
+ aValue = css::uno::makeAny(OUString(sItem.getStr()));
+ }
+ }
+ break;
}
if (aValue.hasValue())