]> cloud.milkyroute.net Git - dolphin.git/commit
Make sure that widgets are initialized when changing the view mode
authorFrank Reininghaus <frank78ac@googlemail.com>
Wed, 24 Jul 2013 20:30:54 +0000 (22:30 +0200)
committerFrank Reininghaus <frank78ac@googlemail.com>
Wed, 24 Jul 2013 20:31:48 +0000 (22:31 +0200)
commit3991e9d24eb2aba2ea7228f925cfa0a60e55463f
tree9ee2b15764b79a2fb9c2878708e9ce653d381877
parent0ad86983f4d746d2995720b895c14051556eeeee
Make sure that widgets are initialized when changing the view mode

The problem was that DolphinItemListView overrides the virtual function
onItemLayoutChanged() without calling the base class implementation.
Therefore, KStandardItemListView::updateLayoutOfVisibleItems(), which
calls initializeItemListWidget(), is never called.

This patch refactors the "change item layout"/"supports item expanding"
code a bit to make it more robust and fix the problem that the view
looks "messed up" when switching from Details View without expandable
folders to Icons View.

I'm only pushing this patch to master (going to be KDE 4.12).
The patch is a bit too intrusive for the KDE/4.11 branch for my taste
at this point of the release cycle, and the bug is not a real
showstopper. If it works well in master, one could consider backporting
it to a 4.11.x bug fix release.

Thanks to Emmanuel Pescosta for helping to analyze this issue.

BUG: 302703
REVIEW: 111632
FIXED-IN: 4.12.0
src/kitemviews/kfileitemlistview.cpp
src/kitemviews/kstandarditemlistview.cpp
src/kitemviews/kstandarditemlistview.h
src/views/dolphinitemlistview.cpp
src/views/dolphinitemlistview.h