diff options
| author | Peter Penz <[email protected]> | 2011-09-19 16:38:07 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-09-19 16:39:08 +0200 |
| commit | f9bcd0a47cbdf0806c35a82856efdbe06279fb82 (patch) | |
| tree | bc23a8f97413d6f910031fca2446df9428cfb999 /src/kitemviews/kitemlistview.cpp | |
| parent | 8879f5e7527caee52966f352af7fa9585fe58192 (diff) | |
Rough draft for getting back the header for the details-view
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 2a7b0e4cd..1dc05e38f 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -24,6 +24,7 @@ #include "kitemlistcontroller.h" #include "kitemlistgroupheader.h" +#include "kitemlistheader_p.h" #include "kitemlistrubberband_p.h" #include "kitemlistselectionmanager.h" #include "kitemlistsizehintresolver_p.h" @@ -74,7 +75,8 @@ KItemListView::KItemListView(QGraphicsWidget* parent) : m_rubberBand(0), m_mousePos(), m_autoScrollIncrement(0), - m_autoScrollTimer(0) + m_autoScrollTimer(0), + m_header(0) { setAcceptHoverEvents(true); @@ -223,6 +225,24 @@ bool KItemListView::autoScroll() const return m_autoScrollTimer != 0; } +void KItemListView::setHeaderShown(bool show) +{ + if (show && !m_header) { + m_header = new KItemListHeader(this); + updateHeaderWidth(); + m_layouter->setHeaderHeight(m_header->size().height()); + } else if (!show && m_header) { + delete m_header; + m_header = 0; + m_layouter->setHeaderHeight(0); + } +} + +bool KItemListView::isHeaderShown() const +{ + return m_header != 0; +} + KItemListController* KItemListView::controller() const { return m_controller; @@ -532,6 +552,12 @@ QList<KItemListWidget*> KItemListView::visibleItemListWidgets() const return m_visibleItems.values(); } +void KItemListView::resizeEvent(QGraphicsSceneResizeEvent* event) +{ + QGraphicsWidget::resizeEvent(event); + updateHeaderWidth(); +} + void KItemListView::slotItemsInserted(const KItemRangeList& itemRanges) { markVisibleRolesSizesAsDirty(); @@ -1295,6 +1321,16 @@ void KItemListView::updateWidgetProperties(KItemListWidget* widget, int index) widget->setData(m_model->data(index)); } +void KItemListView::updateHeaderWidth() +{ + if (!m_header) { + return; + } + + // TODO 1: Use the required width of all roles + m_header->resize(size().width(), m_header->size().height()); +} + int KItemListView::calculateAutoScrollingIncrement(int pos, int range, int oldInc) { int inc = 0; |
