mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 08:21:22 +00:00
If grid size is changed, update correctly items position
svn path=/trunk/KDE/kdebase/apps/; revision=724802
This commit is contained in:
parent
961c3eef96
commit
919d20115f
|
@ -414,6 +414,30 @@ void KCategorizedView::Private::drawDraggedItems(QPainter *painter)
|
|||
}
|
||||
}
|
||||
|
||||
void KCategorizedView::Private::layoutChanged(bool forceItemReload)
|
||||
{
|
||||
if ((listView->viewMode() == KCategorizedView::IconMode) && proxyModel &&
|
||||
categoryDrawer && proxyModel->isCategorizedModel() &&
|
||||
(((modelSortRole != proxyModel->sortRole()) ||
|
||||
(modelSortColumn != proxyModel->sortColumn()) ||
|
||||
(modelSortOrder != proxyModel->sortOrder()) ||
|
||||
(modelCategorized != proxyModel->isCategorizedModel())) || forceItemReload))
|
||||
{
|
||||
// Force the view to update all elements
|
||||
listView->rowsInsertedArtifficial(QModelIndex(), 0, proxyModel->rowCount() - 1);
|
||||
|
||||
modelSortRole = proxyModel->sortRole();
|
||||
modelSortColumn = proxyModel->sortColumn();
|
||||
modelCategorized = proxyModel->isCategorizedModel();
|
||||
modelSortOrder = proxyModel->sortOrder();
|
||||
}
|
||||
else if ((listView->viewMode() == KCategorizedView::IconMode) && proxyModel &&
|
||||
categoryDrawer && proxyModel->isCategorizedModel())
|
||||
{
|
||||
updateScrollbars();
|
||||
}
|
||||
}
|
||||
|
||||
void KCategorizedView::Private::drawDraggedItems()
|
||||
{
|
||||
QRect rectToUpdate;
|
||||
|
@ -456,7 +480,7 @@ void KCategorizedView::setGridSize(const QSize &size)
|
|||
{
|
||||
QListView::setGridSize(size);
|
||||
|
||||
slotLayoutChanged();
|
||||
d->layoutChanged(true);
|
||||
}
|
||||
|
||||
void KCategorizedView::setModel(QAbstractItemModel *model)
|
||||
|
@ -1335,26 +1359,7 @@ void KCategorizedView::updateGeometries()
|
|||
|
||||
void KCategorizedView::slotLayoutChanged()
|
||||
{
|
||||
if ((viewMode() == KCategorizedView::IconMode) && d->proxyModel &&
|
||||
d->categoryDrawer && d->proxyModel->isCategorizedModel() &&
|
||||
((d->modelSortRole != d->proxyModel->sortRole()) ||
|
||||
(d->modelSortColumn != d->proxyModel->sortColumn()) ||
|
||||
(d->modelSortOrder != d->proxyModel->sortOrder()) ||
|
||||
(d->modelCategorized != d->proxyModel->isCategorizedModel())))
|
||||
{
|
||||
// Force the view to update all elements
|
||||
rowsInsertedArtifficial(QModelIndex(), 0, d->proxyModel->rowCount() - 1);
|
||||
|
||||
d->modelSortRole = d->proxyModel->sortRole();
|
||||
d->modelSortColumn = d->proxyModel->sortColumn();
|
||||
d->modelCategorized = d->proxyModel->isCategorizedModel();
|
||||
d->modelSortOrder = d->proxyModel->sortOrder();
|
||||
}
|
||||
else if ((viewMode() == KCategorizedView::IconMode) && d->proxyModel &&
|
||||
d->categoryDrawer && d->proxyModel->isCategorizedModel())
|
||||
{
|
||||
d->updateScrollbars();
|
||||
}
|
||||
d->layoutChanged();
|
||||
}
|
||||
|
||||
#include "kcategorizedview.moc"
|
||||
|
|
|
@ -112,6 +112,8 @@ public:
|
|||
*/
|
||||
void drawDraggedItems();
|
||||
|
||||
void layoutChanged(bool forceItemReload = false);
|
||||
|
||||
|
||||
// Attributes
|
||||
|
||||
|
|
Loading…
Reference in a new issue