]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistheader.cpp
Fix selection rect after porting from QFontMetrics::width()
[dolphin.git] / src / kitemviews / kitemlistheader.cpp
index f1050538d3290f79b39d33282f6e7dd4a40089df..a82af44e764eb4184d44901d737f8e4c71f19387 100644 (file)
@@ -18,8 +18,8 @@
  ***************************************************************************/
 
 #include "kitemlistheader.h"
-#include "kitemlistheaderwidget_p.h"
 #include "kitemlistview.h"
+#include "private/kitemlistheaderwidget.h"
 
 KItemListHeader::~KItemListHeader()
 {
@@ -30,7 +30,8 @@ void KItemListHeader::setAutomaticColumnResizing(bool automatic)
     if (m_headerWidget->automaticColumnResizing() != automatic) {
         m_headerWidget->setAutomaticColumnResizing(automatic);
         if (automatic) {
-            m_view->updateColumnWidthsForHeader();
+            m_view->applyAutomaticColumnWidths();
+            m_view->doLayout(KItemListView::NoAnimation);
         }
     }
 }
@@ -45,6 +46,7 @@ void KItemListHeader::setColumnWidth(const QByteArray& role, qreal width)
     if (!m_headerWidget->automaticColumnResizing()) {
         m_headerWidget->setColumnWidth(role, width);
         m_view->applyColumnWidthsFromHeader();
+        m_view->doLayout(KItemListView::NoAnimation);
     }
 }
 
@@ -62,18 +64,25 @@ void KItemListHeader::setColumnWidths(const QHash<QByteArray, qreal>& columnWidt
         }
 
         m_view->applyColumnWidthsFromHeader();
+        m_view->doLayout(KItemListView::NoAnimation);
     }
 }
 
+qreal KItemListHeader::preferredColumnWidth(const QByteArray& role) const
+{
+    return m_headerWidget->preferredColumnWidth(role);
+}
+
 KItemListHeader::KItemListHeader(KItemListView* listView) :
-    QObject(listView->parent()),
+    QObject(listView),
     m_view(listView)
 {
     m_headerWidget = m_view->m_headerWidget;
     Q_ASSERT(m_headerWidget);
 
-    connect(m_headerWidget, SIGNAL(columnWidthChanged(QByteArray,qreal,qreal)),
-            this, SIGNAL(columnWidthChanged(QByteArray,qreal,qreal)));
+    connect(m_headerWidget, &KItemListHeaderWidget::columnWidthChanged,
+            this, &KItemListHeader::columnWidthChanged);
+    connect(m_headerWidget, &KItemListHeaderWidget::columnWidthChangeFinished,
+            this, &KItemListHeader::columnWidthChangeFinished);
 }
 
-#include "kitemlistheader.moc"