This is an automatically generated e-mail. To reply, visit: http://svn.reviewboard.kde.org/r/6401/

Review request for kdelibs, Kevin Ottens and Rafael Fernández López.
By Thomas Richard.

Description

When a row other then the last got removed from a model, the widgets that are created by the itemdelegate are not moved. This is obviously a big problem when you start removing rows in between. The wrong widgets will show up in the wrong rows. This also happens when you insert a new row instead of appending it.

This patch will update the widgets position of the rows that come behind the one that is inserted/removed. I also had to change QModelIndex to QPersistentModelIndex at one place because the modelindex changes when your remove/insert a row in the middle and new widgets would get created.

Testing

*Compiling
*Insert a row at the start/in the middle/at the end
*Remove a row at the start/in the middle/at the end

Everything seems to work now.

Diffs

  • trunk/KDE/kdelibs/kdeui/itemviews/kwidgetitemdelegate.h (1214155)
  • trunk/KDE/kdelibs/kdeui/itemviews/kwidgetitemdelegate.cpp (1214155)
  • trunk/KDE/kdelibs/kdeui/itemviews/kwidgetitemdelegate_p.h (1214155)
  • trunk/KDE/kdelibs/kdeui/itemviews/kwidgetitemdelegatepool_p.h (1214155)

View Diff