X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/275d7b537de4bf6db971c9cb1d591ffe512272f9..38c34eeca:/src/panels/information/pixmapviewer.cpp diff --git a/src/panels/information/pixmapviewer.cpp b/src/panels/information/pixmapviewer.cpp index 39fedb1a1..7eca876c8 100644 --- a/src/panels/information/pixmapviewer.cpp +++ b/src/panels/information/pixmapviewer.cpp @@ -1,21 +1,8 @@ -/*************************************************************************** - * Copyright (C) 2006 by Peter Penz * - * * - * 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: 2006 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "pixmapviewer.h" @@ -26,19 +13,19 @@ #include #include -PixmapViewer::PixmapViewer(QWidget* parent, Transition transition) : - QWidget(parent), - m_animatedImage(nullptr), - m_transition(transition), - m_animationStep(0), - m_sizeHint(), - m_hasAnimatedImage(false) +PixmapViewer::PixmapViewer(QWidget *parent, Transition transition) + : QWidget(parent) + , m_animatedImage(nullptr) + , m_transition(transition) + , m_animationStep(0) + , m_sizeHint() + , m_hasAnimatedImage(false) { setMinimumWidth(KIconLoader::SizeEnormous); setMinimumHeight(KIconLoader::SizeEnormous); m_animation.setDuration(150); - m_animation.setCurveShape(QTimeLine::LinearCurve); + m_animation.setEasingCurve(QEasingCurve::Linear); if (m_transition != NoTransition) { connect(&m_animation, &QTimeLine::valueChanged, this, QOverload<>::of(&PixmapViewer::update)); @@ -50,7 +37,7 @@ PixmapViewer::~PixmapViewer() { } -void PixmapViewer::setPixmap(const QPixmap& pixmap) +void PixmapViewer::setPixmap(const QPixmap &pixmap) { if (pixmap.isNull()) { return; @@ -74,8 +61,7 @@ void PixmapViewer::setPixmap(const QPixmap& pixmap) m_pixmap = pixmap; update(); - const bool animateTransition = (m_transition != NoTransition) && - (m_pixmap.size() != m_oldPixmap.size()); + const bool animateTransition = (m_transition != NoTransition) && (m_pixmap.size() != m_oldPixmap.size()); if (animateTransition) { m_animation.start(); } else if (m_hasAnimatedImage) { @@ -88,7 +74,7 @@ void PixmapViewer::setPixmap(const QPixmap& pixmap) } } -void PixmapViewer::setSizeHint(const QSize& size) +void PixmapViewer::setSizeHint(const QSize &size) { if (m_animatedImage && size != m_sizeHint) { m_animatedImage->stop(); @@ -118,7 +104,6 @@ void PixmapViewer::setAnimatedImageFileName(const QString &fileName) m_hasAnimatedImage = m_animatedImage->isValid() && (m_animatedImage->frameCount() > 1); } - QString PixmapViewer::animatedImageFileName() const { if (!m_hasAnimatedImage) { @@ -127,7 +112,7 @@ QString PixmapViewer::animatedImageFileName() const return m_animatedImage->fileName(); } -void PixmapViewer::paintEvent(QPaintEvent* event) +void PixmapViewer::paintEvent(QPaintEvent *event) { QWidget::paintEvent(event); @@ -135,21 +120,17 @@ void PixmapViewer::paintEvent(QPaintEvent* event) if (m_transition != NoTransition || (m_hasAnimatedImage && m_animatedImage->state() != QMovie::Running)) { const float value = m_animation.currentValue(); - const int scaledWidth = static_cast((m_oldPixmap.width() * (1.0 - value)) + (m_pixmap.width() * value)); + const int scaledWidth = static_cast((m_oldPixmap.width() * (1.0 - value)) + (m_pixmap.width() * value)); const int scaledHeight = static_cast((m_oldPixmap.height() * (1.0 - value)) + (m_pixmap.height() * value)); - const bool useOldPixmap = (m_transition == SizeTransition) && - (m_oldPixmap.width() > m_pixmap.width()); - const QPixmap& largePixmap = useOldPixmap ? m_oldPixmap : m_pixmap; + const bool useOldPixmap = (m_transition == SizeTransition) && (m_oldPixmap.width() > m_pixmap.width()); + const QPixmap &largePixmap = useOldPixmap ? m_oldPixmap : m_pixmap; if (!largePixmap.isNull()) { - const QPixmap scaledPixmap = largePixmap.scaled(scaledWidth, - scaledHeight, - Qt::IgnoreAspectRatio, - Qt::FastTransformation); + const QPixmap scaledPixmap = largePixmap.scaled(scaledWidth, scaledHeight, Qt::IgnoreAspectRatio, Qt::FastTransformation); style()->drawItemPixmap(&painter, rect(), Qt::AlignCenter, scaledPixmap); } - } else { + } else if (!m_pixmap.isNull()) { style()->drawItemPixmap(&painter, rect(), Qt::AlignCenter, m_pixmap); } } @@ -172,7 +153,7 @@ void PixmapViewer::checkPendingPixmaps() void PixmapViewer::updateAnimatedImageFrame() { - Q_ASSERT (m_animatedImage); + Q_ASSERT(m_animatedImage); m_pixmap = m_animatedImage->currentPixmap(); update(); @@ -189,6 +170,7 @@ void PixmapViewer::stopAnimatedImage() bool PixmapViewer::isAnimatedMimeType(const QString &mimeType) { const QList imageFormats = QImageReader::imageFormatsForMimeType(mimeType.toUtf8()); - return std::any_of(imageFormats.begin(), imageFormats.end(), - [](const QByteArray &format){ return QMovie::supportedFormats().contains(format); }); + return std::any_of(imageFormats.begin(), imageFormats.end(), [](const QByteArray &format) { + return QMovie::supportedFormats().contains(format); + }); }