retRect.setLeft(retRect.left() + column * listView->spacing() +
column * itemWidth);
- float rows;
- int rowsInt;
foreach (const QString &category, categories)
{
if (category == curCategory)
break;
- rows = (float) ((float) categoriesIndexes[category].count() /
- (float) elementsPerRow);
- rowsInt = categoriesIndexes[category].count() / elementsPerRow;
+ float rows = (float) ((float) categoriesIndexes[category].count() /
+ (float) elementsPerRow);
+ int rowsInt = categoriesIndexes[category].count() / elementsPerRow;
if (rows - trunc(rows)) rowsInt++;
if (!elementsPerRow)
elementsPerRow++;
- float rows;
- int rowsInt;
foreach (const QString &itCategory, categories)
{
if (itCategory == category)
break;
- rows = (float) ((float) categoriesIndexes[itCategory].count() /
- (float) elementsPerRow);
- rowsInt = categoriesIndexes[itCategory].count() / elementsPerRow;
+ float rows = (float) ((float) categoriesIndexes[itCategory].count() /
+ (float) elementsPerRow);
+ int rowsInt = categoriesIndexes[itCategory].count() / elementsPerRow;
if (rows - trunc(rows)) rowsInt++;
{
QStyleOptionViewItemV3 option = listView->viewOptions();
option.state &= ~QStyle::State_MouseOver;
- int dx;
- int dy;
foreach (const QModelIndex &index, listView->selectionModel()->selectedIndexes())
{
- dx = mousePosition.x() - initialPressPosition.x() + listView->horizontalOffset();
- dy = mousePosition.y() - initialPressPosition.y() + listView->verticalOffset();
+ const int dx = mousePosition.x() - initialPressPosition.x() + listView->horizontalOffset();
+ const int dy = mousePosition.y() - initialPressPosition.y() + listView->verticalOffset();
option.rect = visualRect(index);
option.rect.adjust(dx, dy, dx, dy);
- listView->itemDelegate(index)->paint(painter, option, index);
+ if (option.rect.intersects(listView->viewport()->rect()))
+ {
+ listView->itemDelegate(index)->paint(painter, option, index);
+ }
}
}
void KListView::Private::drawDraggedItems()
{
- int dx;
- int dy;
QRect rectToUpdate;
QRect currentRect;
foreach (const QModelIndex &index, listView->selectionModel()->selectedIndexes())
{
- dx = mousePosition.x() - initialPressPosition.x() + listView->horizontalOffset();
- dy = mousePosition.y() - initialPressPosition.y() + listView->verticalOffset();
+ int dx = mousePosition.x() - initialPressPosition.x() + listView->horizontalOffset();
+ int dy = mousePosition.y() - initialPressPosition.y() + listView->verticalOffset();
currentRect = visualRect(index);
currentRect.adjust(dx, dy, dx, dy);
- rectToUpdate = rectToUpdate.united(currentRect);
+ if (currentRect.intersects(listView->viewport()->rect()))
+ {
+ rectToUpdate = rectToUpdate.united(currentRect);
+ }
}
listView->viewport()->update(lastDraggedItemsRect);
int start,
int end)
{
+ Q_UNUSED(parent);
+
d->lastSelection = QItemSelection();
d->elementsInfo.clear();
d->elementsPosition.clear();