summaryrefslogtreecommitdiff
path: root/fpicker
diff options
context:
space:
mode:
authorAhmed GHANMI <aghanmi@linagora.com>2017-11-30 15:25:01 +0100
committerJulien Nabet <serval2412@yahoo.fr>2018-01-07 15:42:33 +0100
commit25206db2aa65430a13a3fe3274c86cc7652c328f (patch)
tree8788e8f0b0e40532efbb173beb041d4dfe71a235 /fpicker
parent5055134598ea29e687ce86c3252bedded24f8c3a (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.cxx20
-rw-r--r--fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx3
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.
*/