[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