┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-11-26 01:05:58 +0100
committerPeter Penz <[email protected]>2011-11-26 01:16:31 +0100
commit362817d1834f2ada3ea4552a25fa39bbbb540f8c (patch)
tree706f316224397b44f95516ba857bb8d380a0bb47 /src/kitemviews/kitemlistview.h
parentbf1a8f989e75a50c9a5c839e69573a87ab9ad934 (diff)
Folders Panel fixes
The following functionality from Dolphin 1.x has been ported to the new view-engine: - Allow expanding/collapsing of items - Automatically select the current item - Context menu for items Related improvements to the view-engine: - Make the expanding/collapsing interface already accessible in the base classes KItemModelBase and KItemListView. If no expanding/collapsing is supported at all by derived models (which is usually the default case) simply not reimplementing those 3 methods is sufficient and it does not introduce an additional complexity like in QAbstractItemModel/QModelIndex. - Automatically handle the expanding/collapsing in KItemListController. This also includes the key-handling, which is quite special for expandable items. - Don't let KItemListView automatically scroll to the current item if the current item got changed. The automatic scrolling should only be done if the current item has been changed by the user. Hence this functionality has been moved to the KItemListController which currently only triggers the automatic scrolling if the current item has been changed by the keyboard (we might extend the usecases later if required).
Diffstat (limited to 'src/kitemviews/kitemlistview.h')
-rw-r--r--src/kitemviews/kitemlistview.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h
index 481dd90f6..1da0cd7d2 100644
--- a/src/kitemviews/kitemlistview.h
+++ b/src/kitemviews/kitemlistview.h
@@ -169,12 +169,28 @@ public:
virtual QHash<QByteArray, QSizeF> visibleRolesSizes(const KItemRangeList& itemRanges) const;
/**
+ * @return True if the view supports the expanding of items. Per default false
+ * is returned. If expanding of items is supported, the methods
+ * KItemModelBase::setExpanded(), KItemModelBase::isExpanded() and
+ * KItemModelBase::isExpandable() must be reimplemented. The view-implementation
+ * has to take care itself how to visually represent the expanded items provided
+ * by the model.
+ */
+ virtual bool supportsItemExpanding() const;
+
+ /**
* @return The rectangle of the item relative to the top/left of
* the currently visible area (see KItemListView::offset()).
*/
QRectF itemRect(int index) const;
/**
+ * Scrolls to the item with the index \a index so that the item
+ * will be fully visible.
+ */
+ void scrollToItem(int index);
+
+ /**
* @return The number of items that can be shown in parallel for one offset.
* Assuming the scrolldirection is vertical then a value of 4 means
* that 4 columns for items are available. Assuming the scrolldirection