mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
Reimplement visualRegionForSelection in DolpinDetailsView.
Fixes the problem that not the entire area affected by changing the selection gets updated. QTreeView::visualRegionForSelection assumes implicitly that the visualRects of all items have the same width, which is not the case here. Fix will be in KDE 4.4 Beta 2. BUG: 218114 svn path=/trunk/KDE/kdebase/apps/; revision=1062076
This commit is contained in:
parent
5d5d5c8e80
commit
a2365b6ed8
2 changed files with 18 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
/***************************************************************************
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2006 by Peter Penz (peter.penz@gmx.at) *
|
||||
* Copyright (C) 2008 by Simon St. James (kdedevel@etotheipiplusone.com) *
|
||||
* *
|
||||
|
@ -171,6 +171,21 @@ QSet<KUrl> DolphinDetailsView::expandedUrls() const
|
|||
return m_expandedUrls;
|
||||
}
|
||||
|
||||
QRegion DolphinDetailsView::visualRegionForSelection(const QItemSelection &selection) const
|
||||
{
|
||||
// We have to make sure that the visualRect of each model index is inside the region.
|
||||
// QTreeView::visualRegionForSelection does not do it right because it assumes implicitly
|
||||
// that all visualRects have the same width, which is in general not the case here.
|
||||
QRegion selectionRegion;
|
||||
const QModelIndexList indexes = selection.indexes();
|
||||
|
||||
foreach(const QModelIndex& index, indexes) {
|
||||
selectionRegion += visualRect(index);
|
||||
}
|
||||
|
||||
return selectionRegion;
|
||||
}
|
||||
|
||||
bool DolphinDetailsView::event(QEvent* event)
|
||||
{
|
||||
if (event->type() == QEvent::Polish) {
|
||||
|
|
|
@ -52,6 +52,8 @@ public:
|
|||
*/
|
||||
QSet<KUrl> expandedUrls() const;
|
||||
|
||||
virtual QRegion visualRegionForSelection(const QItemSelection & selection) const;
|
||||
|
||||
protected:
|
||||
virtual bool event(QEvent* event);
|
||||
virtual QStyleOptionViewItem viewOptions() const;
|
||||
|
|
Loading…
Reference in a new issue