[Libreoffice-commits] core.git: Branch 'libreoffice-5-0-0' - svx/source

Lionel Elie Mamane lionel at mamane.lu
Thu Jul 30 17:06:09 PDT 2015


 svx/source/fmcomp/gridcell.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit df9dce5ee3036cea2dd4dd4ec055c8836454d84e
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Jul 22 16:26:31 2015 +0200

    tdf#90889 ListBox in grid: properly set selection on change from model
    
    In particular when changing row.
    
    1) Teach DbCellControl about "SelectedItems" as known value property.
    
    2) Fix DbListBox::updateFromModel to actually use the SelectedItems
       it reads from the model, as opposed to throwing it away.
    
    Change-Id: I7074c13b3d271bf2362aa059378aa857682a040b
    Reviewed-on: https://gerrit.libreoffice.org/17300
    Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
    Tested-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>

diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 1e0cd51..54c868a 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -572,6 +572,7 @@ DbCellControl::DbCellControl( DbGridColumn& _rColumn, bool /*_bText*/ )
         implDoPropertyListening( FM_PROP_STATE, false );
         implDoPropertyListening( FM_PROP_TEXT, false );
         implDoPropertyListening( FM_PROP_EFFECTIVE_VALUE, false );
+        implDoPropertyListening( FM_PROP_SELECT_SEQ, false );
 
         // be listener at the bound field as well
         try
@@ -676,6 +677,7 @@ void DbCellControl::_propertyChanged(const PropertyChangeEvent& _rEvent) throw(R
         ||  _rEvent.PropertyName == FM_PROP_STATE
         ||  _rEvent.PropertyName == FM_PROP_TEXT
         ||  _rEvent.PropertyName == FM_PROP_EFFECTIVE_VALUE
+        ||  _rEvent.PropertyName == FM_PROP_SELECT_SEQ
         )
     {   // it was one of the known "value" properties
         if ( !isValuePropertyLocked() )
@@ -2645,7 +2647,7 @@ void DbListBox::updateFromModel( Reference< XPropertySet > _rxModel )
     OSL_ENSURE( _rxModel.is() && m_pWindow, "DbListBox::updateFromModel: invalid call!" );
 
     Sequence< sal_Int16 > aSelection;
-    _rxModel->getPropertyValue( FM_PROP_SELECT_SEQ );
+    _rxModel->getPropertyValue( FM_PROP_SELECT_SEQ ) >>= aSelection;
 
     sal_Int16 nSelection = -1;
     if ( aSelection.getLength() > 0 )


More information about the Libreoffice-commits mailing list