sfx2/source/control/templatelocalview.cxx | 4 +- sfx2/source/control/thumbnailview.cxx | 42 ++++++++++++++++++++---------- sfx2/source/control/thumbnailviewacc.cxx | 2 - 3 files changed, 31 insertions(+), 17 deletions(-)
New commits: commit c5a8e0f1dc87ebba5a4ae79fdcdfbdd4aaebce87 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 21:17:51 2013 -0430 Fetch thumbnails position and id from filter array instead." Change-Id: I35bd8b47eeba3e2f8e2ea74afbf1fe8e48390bab Reviewed-on: https://gerrit.libreoffice.org/3299 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index a122080..d08173c 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -971,8 +971,20 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId ) if ( nPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return; - if ( nPos < mItemList.size() ) { - ValueItemList::iterator it = mItemList.begin(); + if ( nPos < mFilteredItemList.size() ) { + + // delete item from the thumbnail list + for (size_t i = 0, n = mItemList.size(); i < n; ++i) + { + if (mItemList[i]->mnId == nItemId) + { + mItemList.erase(mItemList.begin()+i); + break; + } + } + + // delete item from the filter item list + ValueItemList::iterator it = mFilteredItemList.begin(); ::std::advance( it, nPos ); if ((*it)->isSelected()) @@ -982,7 +994,8 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId ) } delete *it; - mItemList.erase( it ); + mFilteredItemList.erase( it ); + mpStartSelRange = mFilteredItemList.end(); } // reset variables @@ -1026,8 +1039,8 @@ void ThumbnailView::updateItems (const std::vector<ThumbnailViewItem*> &items) size_t ThumbnailView::GetItemPos( sal_uInt16 nItemId ) const { - for ( size_t i = 0, n = mItemList.size(); i < n; ++i ) { - if ( mItemList[i]->mnId == nItemId ) { + for ( size_t i = 0, n = mFilteredItemList.size(); i < n; ++i ) { + if ( mFilteredItemList[i]->mnId == nItemId ) { return i; } } @@ -1036,7 +1049,7 @@ size_t ThumbnailView::GetItemPos( sal_uInt16 nItemId ) const sal_uInt16 ThumbnailView::GetItemId( size_t nPos ) const { - return ( nPos < mItemList.size() ) ? mItemList[nPos]->mnId : 0 ; + return ( nPos < mFilteredItemList.size() ) ? mFilteredItemList[nPos]->mnId : 0 ; } sal_uInt16 ThumbnailView::GetItemId( const Point& rPos ) const @@ -1073,11 +1086,11 @@ void ThumbnailView::SelectItem( sal_uInt16 nItemId ) if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return; - ThumbnailViewItem* pItem = mItemList[nItemPos]; + ThumbnailViewItem* pItem = mFilteredItemList[nItemPos]; if (!pItem->isSelected()) { - mItemList[nItemPos]->setSelection(true); - maItemStateHdl.Call(mItemList[nItemPos]); + pItem->setSelection(true); + maItemStateHdl.Call(pItem); if (IsReallyVisible() && IsUpdateMode()) Invalidate(); @@ -1156,11 +1169,11 @@ void ThumbnailView::DeselectItem( sal_uInt16 nItemId ) if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return; - ThumbnailViewItem* pItem = mItemList[nItemPos]; + ThumbnailViewItem* pItem = mFilteredItemList[nItemPos]; if (pItem->isSelected()) { - mItemList[nItemPos]->setSelection(false); - maItemStateHdl.Call(mItemList[nItemPos]); + pItem->setSelection(false); + maItemStateHdl.Call(pItem); if (IsReallyVisible() && IsUpdateMode()) Invalidate(); @@ -1175,7 +1188,7 @@ bool ThumbnailView::IsItemSelected( sal_uInt16 nItemId ) const if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return false; - ThumbnailViewItem* pItem = mItemList[nItemPos]; + ThumbnailViewItem* pItem = mFilteredItemList[nItemPos]; return pItem->isSelected(); } @@ -1201,7 +1214,7 @@ OUString ThumbnailView::GetItemText( sal_uInt16 nItemId ) const size_t nPos = GetItemPos( nItemId ); if ( nPos != THUMBNAILVIEW_ITEM_NOTFOUND ) - return mItemList[nPos]->maTitle; + return mFilteredItemList[nPos]->maTitle; return OUString(); } diff --git a/sfx2/source/control/thumbnailviewacc.cxx b/sfx2/source/control/thumbnailviewacc.cxx index 393bd9e..c89f1b0 100644 --- a/sfx2/source/control/thumbnailviewacc.cxx +++ b/sfx2/source/control/thumbnailviewacc.cxx @@ -350,7 +350,7 @@ uno::Reference< accessibility::XAccessible > SAL_CALL ThumbnailViewAcc::getAcces if( THUMBNAILVIEW_ITEM_NONEITEM != nItemPos ) { - ThumbnailViewItem *const pItem = mpParent->mItemList[nItemPos]; + ThumbnailViewItem *const pItem = mpParent->mFilteredItemList[nItemPos]; xRet = pItem->GetAccessible( mbIsTransientChildrenDisabled ); } } commit 15bef20d72eec275a238084994634a5cc262a354 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 21:16:55 2013 -0430 Update template item path when moving it to another folder. Change-Id: I4de701e32dfe1244ba29704633d7d15f829a9e7a Reviewed-on: https://gerrit.libreoffice.org/3298 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 6dd82df..a4437c3 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -398,7 +398,7 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_ aTemplateItem.nDocId = nTargetIdx; aTemplateItem.nRegionId = nTargetRegion; aTemplateItem.aName = pViewItem->maTitle; - aTemplateItem.aPath = pViewItem->getPath(); + aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx); aTemplateItem.aThumbnail = pViewItem->maPreview1; pTarget->maTemplates.push_back(aTemplateItem); @@ -495,7 +495,7 @@ bool TemplateLocalView::moveTemplates(const std::set<const ThumbnailViewItem*, s aTemplateItem.nDocId = nTargetIdx; aTemplateItem.nRegionId = nTargetRegion; aTemplateItem.aName = pViewItem->maTitle; - aTemplateItem.aPath = pViewItem->getPath(); + aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx); aTemplateItem.aThumbnail = pViewItem->maPreview1; pTarget->maTemplates.push_back(aTemplateItem); commit 35dc1e6bdcd912c074ef99d695618a5317d8b0be Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 18:08:24 2013 -0430 Mark thumbnailview item as unselected when updating filter. Change-Id: Ifc98603045364419a6f76316fea96c2e668c333e Reviewed-on: https://gerrit.libreoffice.org/3297 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 8d03d5a..a122080 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -1253,6 +1253,7 @@ void ThumbnailView::filterItems (const boost::function<bool (const ThumbnailView } pItem->show(false); + pItem->setSelection(false); maItemStateHdl.Call(pItem); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits