]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistselectiontoggle.cpp
Add explicit moc includes to sources for moc-covered headers
[dolphin.git] / src / kitemviews / private / kitemlistselectiontoggle.cpp
index c33c15ec2848fecbbcf8f4a9a9e581bfee3d550a..df61b30731adf2f58b68feabe50410bfd5272918 100644 (file)
@@ -1,34 +1,20 @@
-/***************************************************************************
- *   Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com>             *
- *                                                                         *
- *   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>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #include "kitemlistselectiontoggle.h"
 
-#include <KIconEffect>
 #include <KIconLoader>
-#include <QPainter>
 
-#include <KDebug>
+#include <QIcon>
+#include <QPainter>
 
-KItemListSelectionToggle::KItemListSelectionToggle(QGraphicsItem* parent) :
-    QGraphicsWidget(parent, 0),
-    m_checked(false),
-    m_hovered(false)
+KItemListSelectionToggle::KItemListSelectionToggle(QGraphicsItem *parent)
+    : QGraphicsWidget(parent)
+    , m_checked(false)
+    m_hovered(false)
 {
 }
 
@@ -59,26 +45,26 @@ void KItemListSelectionToggle::setHovered(bool hovered)
     }
 }
 
-void KItemListSelectionToggle::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
+void KItemListSelectionToggle::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 {
-    Q_UNUSED(option);
-    Q_UNUSED(widget);
+    Q_UNUSED(option)
+    Q_UNUSED(widget)
 
     if (m_pixmap.isNull()) {
         updatePixmap();
     }
 
-    const qreal x = (size().width()  - qreal(m_pixmap.width()))  / 2;
-    const qreal y = (size().height() - qreal(m_pixmap.height())) / 2;
+    const qreal x = (size().width() - qreal(m_pixmap.width() / m_pixmap.devicePixelRatioF())) / 2;
+    const qreal y = (size().height() - qreal(m_pixmap.height() / m_pixmap.devicePixelRatioF())) / 2;
     painter->drawPixmap(x, y, m_pixmap);
 }
 
-void KItemListSelectionToggle::resizeEvent(QGraphicsSceneResizeEventevent)
+void KItemListSelectionToggle::resizeEvent(QGraphicsSceneResizeEvent *event)
 {
     QGraphicsWidget::resizeEvent(event);
 
     if (!m_pixmap.isNull()) {
-        const int pixmapSize = m_pixmap.size().width(); // Pixmap width is always equal pixmap height
+        const int pixmapSize = m_pixmap.size().width() / m_pixmap.devicePixelRatioF(); // Pixmap width is always equal pixmap height
 
         if (pixmapSize != iconSize()) {
             // If the required icon size is different from the actual pixmap size,
@@ -91,9 +77,8 @@ void KItemListSelectionToggle::resizeEvent(QGraphicsSceneResizeEvent* event)
 
 void KItemListSelectionToggle::updatePixmap()
 {
-    const QString icon = m_checked ? "list-remove" : "list-add";
-    const KIconLoader::States state = m_hovered ? KIconLoader::ActiveState : KIconLoader::DisabledState;
-    m_pixmap = KIconLoader::global()->loadIcon(icon, KIconLoader::Desktop, iconSize(), state);
+    const QString icon = m_checked ? QStringLiteral("emblem-remove") : QStringLiteral("emblem-added");
+    m_pixmap = QIcon::fromTheme(icon).pixmap(iconSize(), m_hovered ? QIcon::Active : QIcon::Disabled);
 }
 
 int KItemListSelectionToggle::iconSize() const
@@ -115,3 +100,4 @@ int KItemListSelectionToggle::iconSize() const
     return iconSize;
 }
 
+#include "moc_kitemlistselectiontoggle.cpp"