diff --git a/src-ml-test-app/source/main/DeveloperScreen.bs b/src-ml-test-app/source/main/DeveloperScreen.bs index 0164e117..6f80bc3a 100644 --- a/src-ml-test-app/source/main/DeveloperScreen.bs +++ b/src-ml-test-app/source/main/DeveloperScreen.bs @@ -18,6 +18,7 @@ namespace main '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ protected function getPage2() return [ + ["List Editing (team screen)", function(): m.showScreen(m.createSGNode("TeamScreen")): end function] ["Grid Item JumpToItem", function(): m.showScreen(m.createSGNode("FocusOnGridItemScreen")): end function] ["Grid Item Moving", function(): m.showScreen(m.createSGNode("UpdateGridItemsScreen")): end function] ["List Updates", function(): m.showScreen(m.createSGNode("UpdateListDataScreen")): end function] diff --git a/src/source/ml/ItemDelegateMixin.bs b/src/source/ml/ItemDelegateMixin.bs index 448ea153..ab3ca389 100644 --- a/src/source/ml/ItemDelegateMixin.bs +++ b/src/source/ml/ItemDelegateMixin.bs @@ -7,6 +7,8 @@ namespace ml.itemDelegateMixin if m.listEventMap = invalid m.listEventMap = {} end if + m.__lastMaestroEventName = "" + if instance = invalid instance = m end if @@ -70,8 +72,11 @@ namespace ml.itemDelegateMixin else if eventName = "gainingFocus" or eventName = "losingFocus" m.listItemDelegate[m.listEventMap[eventName]](event.direction, event.fraction) else - m.listItemDelegate[m.listEventMap[eventName]](event.direction) + if eventName <> m.__lastMaestroEventName + m.listItemDelegate[m.listEventMap[eventName]](event.direction) + end if end if + m.__lastMaestroEventName = eventName end function diff --git a/src/source/ml/RowItemViewManager.bs b/src/source/ml/RowItemViewManager.bs index d8d56f98..ac31038c 100644 --- a/src/source/ml/RowItemViewManager.bs +++ b/src/source/ml/RowItemViewManager.bs @@ -246,15 +246,16 @@ namespace ml m.updateRenderedComponents(m.direction, m.itemScroller.index, true) m.itemScroller.getComponentInfos(true) m.itemScroller.processChanges(changes) - ' ? " LLLL " ; m.itemScroller.numberOfComponents ; " ONC " ; oldNumComponents + ' ? " LLLL " ; m.itemScroller.numberOfComponents ; " ONC " ; oldNumComponents ; " FI "; m.itemScroller.index m.rowInfos = invalid if (m.itemScroller.numberOfComponents = 0 and oldNumComponents > 0) or (oldNumComponents = 0 and m.itemScroller.numberOfComponents > 0) ' ? "::::::::::::::::: SUB ITEMS ZERO CHANGE - TELL LIST" m.owner@.forceUpdate() end if if m.row.isFocused - ' m.itemScroller.forceFocusOnIndex(m.itemScroller.index) - m.owner.focusedCellIndex = m.itemScroller.index + ' ? " IS FOCUSED ON" ; m.itemScroller.index + m.itemScroller.moveToIndex(m.itemScroller.index, false) + m.itemScroller.forceFocusOnIndex(m.itemScroller.index) end if end function