]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kstandarditemlistgroupheader.cpp
Merge branch 'release/22.04'
[dolphin.git] / src / kitemviews / kstandarditemlistgroupheader.cpp
index 1e23c0a56a5a500166258f8d7cab21bf79be1808..28497ddfc2dbff5011097425d5d420ae14e7c622 100644 (file)
@@ -1,28 +1,14 @@
-/***************************************************************************
- *   Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com>             *
- *                                                                         *
- *   Based on the Itemviews NG project from Trolltech Labs:                *
- *   http://qt.gitorious.org/qt-labs/itemviews-ng                          *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
- ***************************************************************************/
+/*
+ * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
+ *
+ * Based on the Itemviews NG project from Trolltech Labs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #include "kstandarditemlistgroupheader.h"
 
-#include <kratingpainter.h>
+#include <KRatingPainter>
 #include <QPainter>
 
 KStandardItemListGroupHeader::KStandardItemListGroupHeader(QGraphicsWidget* parent) :
@@ -31,8 +17,7 @@ KStandardItemListGroupHeader::KStandardItemListGroupHeader(QGraphicsWidget* pare
     m_text(),
     m_pixmap()
 {
-    m_text.setTextFormat(Qt::PlainText);
-    m_text.setPerformanceHint(QStaticText::AggressiveCaching);
+
 }
 
 KStandardItemListGroupHeader::~KStandardItemListGroupHeader()
@@ -51,7 +36,7 @@ void KStandardItemListGroupHeader::paintRole(QPainter* painter, const QRectF& ro
 {
     if (m_pixmap.isNull()) {
         painter->setPen(color);
-        painter->drawStaticText(roleBounds.topLeft(), m_text);
+        painter->drawText(roleBounds, 0, m_text);
     } else {
         painter->drawPixmap(roleBounds.topLeft(), m_pixmap);
     }
@@ -69,27 +54,31 @@ void KStandardItemListGroupHeader::paintSeparator(QPainter* painter, const QColo
     if (scrollOrientation() == Qt::Horizontal) {
         painter->drawLine(0, 0, 0, size().height() - 1);
     } else {
-        painter->drawLine(0, 0, size().width() - 1, 0);
+        if (layoutDirection() == Qt::LeftToRight) {
+            painter->drawLine(0, 0, size().width() - 1, 0);
+        } else {
+            painter->drawLine(1, 0, size().width(), 0);
+        }
     }
 }
 
 void KStandardItemListGroupHeader::roleChanged(const QByteArray &current, const QByteArray &previous)
 {
-    Q_UNUSED(current);
-    Q_UNUSED(previous);
+    Q_UNUSED(current)
+    Q_UNUSED(previous)
     m_dirtyCache = true;
 }
 
 void KStandardItemListGroupHeader::dataChanged(const QVariant& current, const QVariant& previous)
 {
-    Q_UNUSED(current);
-    Q_UNUSED(previous);
+    Q_UNUSED(current)
+    Q_UNUSED(previous)
     m_dirtyCache = true;
 }
 
 void KStandardItemListGroupHeader::resizeEvent(QGraphicsSceneResizeEvent* event)
 {
-    QGraphicsWidget::resizeEvent(event);
+    KItemListGroupHeader::resizeEvent(event);
     m_dirtyCache = true;
 }
 
@@ -101,7 +90,7 @@ void KStandardItemListGroupHeader::updateCache()
     const qreal maxWidth = size().width() - 4 * styleOption().padding;
 
     if (role() == "rating") {
-        m_text = QString(); // krazy:exlude=nullstrassign
+        m_text = QString();
 
         const qreal height = styleOption().fontMetrics.ascent();
         const QSizeF pixmapSize(qMin(height * 5, maxWidth), height);
@@ -118,8 +107,7 @@ void KStandardItemListGroupHeader::updateCache()
 
         QFontMetricsF fontMetrics(font());
         const QString text = fontMetrics.elidedText(data().toString(), Qt::ElideRight, maxWidth);
-        m_text.setText(text);
+        m_text = text;
     }
 }
 
-#include "kstandarditemlistgroupheader.moc"