summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej Hunt <andrzej.hunt@collabora.com>2014-05-05 20:48:58 +0100
committerAndrzej Hunt <andrzej.hunt@collabora.com>2014-05-05 20:48:58 +0100
commit4cf3629fcb8817e1675cbafcbbafc9b809f5e01f (patch)
tree92058b11372f533fa98b2606536455ec72a8a491
parentd3cb2467fad58bee0ff3040fdef17d6c34e4978c (diff)
fdo#76261 Get rid of unneeded and malfunctioning maItemListRect.
maItemListRect serves as a sort of bounding box for what items /could/ be visible on screen, however it is only used for determining the id of an item we have just clicked on -- given that we already know that we are clicking inside the visible area this is an unnecessary check. In fact this check is erronous as we no longer limit ourselves to "whole" rows as of 806919adf9c9bafbaba92c2d2ab35d2e2f9863f8 -- i.e. the previous assumption was that a view large enough for n rows will show precisely n (whole) rows, whereas we might be showing (n-1) complete rows, and a fraction of a row at the top and bottom of the screen, i.e. a total of n+1 rows, where maItemRect only encloses the top n rows, meaning we were erronously ignoring clicks on the (partly visible) lowest n+1 row. Change-Id: Ia52ed2e0d217a9f077cef86ee9c1847252844995
-rw-r--r--include/sfx2/thumbnailview.hxx1
-rw-r--r--sfx2/source/control/thumbnailview.cxx14
2 files changed, 3 insertions, 12 deletions
diff --git a/include/sfx2/thumbnailview.hxx b/include/sfx2/thumbnailview.hxx
index b7604266b4fd..31faaf7c40b0 100644
--- a/include/sfx2/thumbnailview.hxx
+++ b/include/sfx2/thumbnailview.hxx
@@ -309,7 +309,6 @@ protected:
ThumbnailValueItemList mFilteredItemList; ///< Cache to store the filtered items
ThumbnailValueItemList::iterator mpStartSelRange;
ScrollBar* mpScrBar;
- Rectangle maItemListRect;
long mnHeaderHeight;
long mnItemWidth;
long mnItemHeight;
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 884084dabea1..a392075de2f3 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -350,11 +350,6 @@ void ThumbnailView::CalculateItemPositions (bool bScrollBarUsed)
size_t nFirstItem = (bScrollBarUsed ? nHiddenLines : mnFirstLine) * mnCols;
size_t nLastItem = nFirstItem + (mnVisLines + 1) * mnCols;
- maItemListRect.Left() = x;
- maItemListRect.Top() = y;
- maItemListRect.Right() = x + mnCols*(mnItemWidth+nHItemSpace) - nHItemSpace - 1;
- maItemListRect.Bottom() = y + mnVisLines*(mnItemHeight+nVItemSpace) - nVItemSpace - 1;
-
// If want also draw parts of items in the last line,
// then we add one more line if parts of these line are
// visible
@@ -449,13 +444,10 @@ size_t ThumbnailView::ImplGetItem( const Point& rPos ) const
return THUMBNAILVIEW_ITEM_NOTFOUND;
}
- if ( maItemListRect.IsInside( rPos ) )
+ for (size_t i = 0; i < mFilteredItemList.size(); ++i)
{
- for (size_t i = 0; i < mFilteredItemList.size(); ++i)
- {
- if (mFilteredItemList[i]->isVisible() && mFilteredItemList[i]->getDrawArea().IsInside(rPos))
- return i;
- }
+ if (mFilteredItemList[i]->isVisible() && mFilteredItemList[i]->getDrawArea().IsInside(rPos))
+ return i;
}
return THUMBNAILVIEW_ITEM_NOTFOUND;