File indexing completed on 2024-05-05 05:00:27

0001 // This file is part of the KDE project
0002 // SPDX-FileCopyrightText: <year> Stefano Crocco <stefano.crocco@alice.it>
0003 // SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005 #include "placeholderpart.h"
0006 
0007 #include <KPluginMetaData>
0008 
0009 #include <QFile>
0010 #include <QLabel>
0011 #include <QJsonObject>
0012 
0013 using namespace Konq;
0014 
0015 KPluginMetaData Konq::PlaceholderPart::defaultMetadata()
0016 {
0017     QJsonObject obj;
0018     obj.insert("KPlugin", QJsonObject{{"Id", "PlaceHolderPart"}});
0019     return {obj, QString()};
0020 }
0021 
0022 Konq::PlaceholderPart::PlaceholderPart(QWidget *parentWidget, QObject* parent) :
0023 #if QT_VERSION_MAJOR < 6
0024 KParts::ReadOnlyPart(parent),
0025 #else
0026 KParts::ReadOnlyPart(parent, defaultMetadata()),
0027 #endif
0028 m_widget(new QWidget(parentWidget))
0029 {
0030     setWidget(m_widget);
0031 #if QT_VERSION_MAJOR < 6
0032     setMetaData(defaultMetadata());
0033 #endif
0034 }
0035 
0036 Konq::PlaceholderPart::~PlaceholderPart() noexcept
0037 {
0038 }
0039 
0040 bool Konq::PlaceholderPart::openUrl(const QUrl& url)
0041 {
0042     if (!url.isValid()) {
0043         return false;
0044     }
0045 
0046     setUrl(url);
0047     if (url.isLocalFile()) {
0048         setLocalFilePath(url.path());
0049     }
0050     emit setWindowCaption(url.toDisplayString());
0051     return true;
0052 }
0053 
0054 bool Konq::PlaceholderPart::openFile()
0055 {
0056     return QFile::exists(localFilePath());
0057 }
0058 
0059 
0060