diff options
author | Ahmed GHANMI <aghanmi@linagora.com> | 2017-11-30 15:25:01 +0100 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2018-01-07 15:42:33 +0100 |
commit | 25206db2aa65430a13a3fe3274c86cc7652c328f (patch) | |
tree | 8788e8f0b0e40532efbb173beb041d4dfe71a235 /fpicker | |
parent | 5055134598ea29e687ce86c3252bedded24f8c3a (diff) |
tdf#113070: Fix master document issue
In fpicker module we don't treat template listbox "LISTBOX_TEMPLATE" element
selected in "impl_sta_GetControlValue" function. In order to fix this issue
we added a sequence "gitems" which save items added in template listbox
while creating the ODM creation graphic interface. Also we added a section
in impl_sta_GetControlValue function to get user selection from template
listbox and the get the item from gitems and we return
the value.
Change-Id: Ibbf0a134ade8c59d8e6f333236070954da067305
Reviewed-on: https://gerrit.libreoffice.org/45589
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Diffstat (limited to 'fpicker')
-rw-r--r-- | fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx | 20 | ||||
-rw-r--r-- | fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx | 3 |
2 files changed, 18 insertions, 5 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()) diff --git a/fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx b/fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx index 5161d787e767..01efd0f58c72 100644 --- a/fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx +++ b/fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx @@ -103,7 +103,8 @@ class VistaFilePickerImpl : private ::cppu::BaseMutex { public: - + // Workaround made to get input in Template Listbox + css::uno::Sequence< OUString > m_lItems; /** used for marshalling requests. * Will be used to map requests to the right implementations. */ |