]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/tooltips/dolphinfilemetadatawidget.cpp
Port to QStringView
[dolphin.git] / src / views / tooltips / dolphinfilemetadatawidget.cpp
index 755636c6cf5db097c16509547ddafb114e24a2d2..01877e4ee823971f74337bba9986c37153cda696 100644 (file)
@@ -1,49 +1,30 @@
-/***************************************************************************
- *   Copyright (C) 2010 by Peter Penz <peter.penz19@gmail.com>             *
- *   Copyright (C) 2008 by Fredrik Höglund <fredrik@kde.org>               *
- *   Copyright (C) 2012 by Mark Gaiser <markg85@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: 2010 Peter Penz <peter.penz19@gmail.com>
+ * SPDX-FileCopyrightText: 2008 Fredrik Höglund <fredrik@kde.org>
+ * SPDX-FileCopyrightText: 2012 Mark Gaiser <markg85@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #include "dolphinfilemetadatawidget.h"
 
 #include <KColorScheme>
 #include <KSeparator>
 #include <KStringHandler>
-#include <QTextDocument>
+#include <Baloo/FileMetaDataWidget>
 
 #include <QLabel>
 #include <QStyleOptionFrame>
 #include <QStylePainter>
-#include <QVBoxLayout>
+#include <QTextDocument>
 #include <QTextLayout>
-#include <QTextLine>
-
-#ifndef HAVE_BALOO
-#include <KFileMetaDataWidget>
-#else
-#include <Baloo/FileMetaDataWidget>
-#endif
+#include <QVBoxLayout>
 
 DolphinFileMetaDataWidget::DolphinFileMetaDataWidget(QWidget* parent) :
     QWidget(parent),
-    m_preview(0),
-    m_name(0),
-    m_fileMetaDataWidget(0)
+    m_preview(nullptr),
+    m_name(nullptr),
+    m_fileMetaDataWidget(nullptr)
 {
     // Create widget for file preview
     m_preview = new QLabel(this);
@@ -63,15 +44,11 @@ DolphinFileMetaDataWidget::DolphinFileMetaDataWidget(QWidget* parent) :
     m_name->setMaximumWidth(fontMetrics.averageCharWidth() * 40);
 
     // Create widget for the meta data
-#ifndef HAVE_BALOO
-    m_fileMetaDataWidget = new KFileMetaDataWidget(this);
-    connect(m_fileMetaDataWidget, &KFileMetaDataWidget::metaDataRequestFinished,
-            this, &DolphinFileMetaDataWidget::metaDataRequestFinished);
-#else
     m_fileMetaDataWidget = new Baloo::FileMetaDataWidget(this);
     connect(m_fileMetaDataWidget, &Baloo::FileMetaDataWidget::metaDataRequestFinished,
             this, &DolphinFileMetaDataWidget::metaDataRequestFinished);
-#endif
+    connect(m_fileMetaDataWidget, &Baloo::FileMetaDataWidget::urlActivated,
+            this, &DolphinFileMetaDataWidget::urlActivated);
     m_fileMetaDataWidget->setForegroundRole(QPalette::ToolTipText);
     m_fileMetaDataWidget->setReadOnly(true);
 
@@ -89,7 +66,7 @@ DolphinFileMetaDataWidget::DolphinFileMetaDataWidget(QWidget* parent) :
 
     QHBoxLayout* layout = new QHBoxLayout(this);
     layout->addWidget(m_preview);
-    layout->addSpacing(layout->margin());
+    layout->addSpacing(layout->contentsMargins().left());
     layout->addLayout(textLayout);
 }
 
@@ -104,9 +81,16 @@ void DolphinFileMetaDataWidget::setPreview(const QPixmap& pixmap)
 
 QPixmap DolphinFileMetaDataWidget::preview() const
 {
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
     if (m_preview->pixmap()) {
         return *m_preview->pixmap();
     }
+#else
+    if (!m_preview->pixmap(Qt::ReturnByValue).isNull()) {
+        return m_preview->pixmap(Qt::ReturnByValue);
+    }
+#endif
+
     return QPixmap();
 }
 
@@ -129,7 +113,7 @@ void DolphinFileMetaDataWidget::setName(const QString& name)
     QTextLine line = textLayout.createLine();
     while (line.isValid()) {
         line.setLineWidth(m_name->maximumWidth());
-        wrappedText += processedName.midRef(line.textStart(), line.textLength());
+        wrappedText += QStringView(processedName).mid(line.textStart(), line.textLength());
 
         line = textLayout.createLine();
         if (line.isValid()) {