[Libreoffice-commits] core.git: fpicker/source
Ahmed GHANMI
aghanmi at linagora.com
Sun Jan 7 14:43:01 UTC 2018
fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx | 20 ++++++++++++----
fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx | 3 +-
2 files changed, 18 insertions(+), 5 deletions(-)
New commits:
commit 25206db2aa65430a13a3fe3274c86cc7652c328f
Author: Ahmed GHANMI <aghanmi at linagora.com>
Date: Thu Nov 30 15:25:01 2017 +0100
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 at libreoffice.org>
Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
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.
*/
More information about the Libreoffice-commits
mailing list