┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-09-19 16:38:07 +0200
committerPeter Penz <[email protected]>2011-09-19 16:39:08 +0200
commitf9bcd0a47cbdf0806c35a82856efdbe06279fb82 (patch)
treebc23a8f97413d6f910031fca2446df9428cfb999 /src/kitemviews/kitemlistview.cpp
parent8879f5e7527caee52966f352af7fa9585fe58192 (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.cpp38
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;