mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 00:11:21 +00:00
Now we have it: don't update the whole viewport, and be safe when drawing, so there are not parts forgetting to be updated
svn path=/trunk/KDE/kdebase/apps/; revision=750990
This commit is contained in:
parent
c9509654ba
commit
15bf954906
|
@ -1040,7 +1040,8 @@ void KCategorizedView::mouseMoveEvent(QMouseEvent *event)
|
||||||
end = d->mousePosition;
|
end = d->mousePosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
rect = QRect(start, end).intersected(viewport()->rect().adjusted(-16, -16, 16, 16));
|
rect = QRect(start, end).adjusted(-16, -16, 16, 16);
|
||||||
|
rect = rect.united(QRect(start, end).adjusted(16, 16, -16, -16)).intersected(viewport()->rect());
|
||||||
|
|
||||||
viewport()->update(rect);
|
viewport()->update(rect);
|
||||||
}
|
}
|
||||||
|
@ -1112,6 +1113,34 @@ void KCategorizedView::mouseReleaseEvent(QMouseEvent *event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QRect rect;
|
||||||
|
if (!d->isDragging)
|
||||||
|
{
|
||||||
|
QPoint start, end, initialPressPosition;
|
||||||
|
|
||||||
|
initialPressPosition = d->initialPressPosition;
|
||||||
|
|
||||||
|
initialPressPosition.setY(initialPressPosition.y() - verticalOffset());
|
||||||
|
initialPressPosition.setX(initialPressPosition.x() - horizontalOffset());
|
||||||
|
|
||||||
|
if (d->initialPressPosition.x() > d->mousePosition.x() ||
|
||||||
|
d->initialPressPosition.y() > d->mousePosition.y())
|
||||||
|
{
|
||||||
|
start = d->mousePosition;
|
||||||
|
end = initialPressPosition;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
start = initialPressPosition;
|
||||||
|
end = d->mousePosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
rect = QRect(start, end).adjusted(-16, -16, 16, 16);
|
||||||
|
rect = rect.united(QRect(start, end).adjusted(16, 16, -16, -16)).intersected(viewport()->rect());
|
||||||
|
|
||||||
|
viewport()->update(rect);
|
||||||
|
}
|
||||||
|
|
||||||
if (d->hovered.isValid())
|
if (d->hovered.isValid())
|
||||||
viewport()->update(visualRect(d->hovered));
|
viewport()->update(visualRect(d->hovered));
|
||||||
else if (!d->hoveredCategory.isEmpty())
|
else if (!d->hoveredCategory.isEmpty())
|
||||||
|
|
Loading…
Reference in a new issue