File indexing completed on 2024-04-21 04:58:11

0001 /*
0002     SPDX-FileCopyrightText: 2001 Joseph Wenninger <jowenn@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "sidebar_part.h"
0007 
0008 #include <KPluginMetaData>
0009 #include <KPluginFactory>
0010 
0011 #include <QApplication>
0012 
0013 #include <konq_events.h>
0014 #include <kacceleratormanager.h>
0015 #include <KLocalizedString>
0016 #include <KPluginFactory>
0017 
0018 K_PLUGIN_CLASS_WITH_JSON(KonqSidebarPart, "konq_sidebartng.json")
0019 
0020 KonqSidebarPart::KonqSidebarPart(QWidget *parentWidget, QObject *parent, const KPluginMetaData& metaData, const QVariantList &)
0021 #if QT_VERSION_MAJOR < 6
0022     : KParts::ReadOnlyPart(parent)
0023 #else
0024     : KParts::ReadOnlyPart(parent, metaData)
0025 #endif
0026 {
0027 #if QT_VERSION_MAJOR < 6
0028     setMetaData(metaData);
0029 #endif
0030 
0031     QString currentProfile = parentWidget->window()->property("currentProfile").toString();
0032     if (currentProfile.isEmpty()) {
0033         currentProfile = "default";
0034     }
0035     m_widget = new Sidebar_Widget(parentWidget, this, currentProfile);
0036     m_extension = new KonqSidebarNavigationExtension(this, m_widget);
0037     connect(m_widget, &Sidebar_Widget::started, this, &KParts::ReadOnlyPart::started);
0038     connect(m_widget, &Sidebar_Widget::completed, this, QOverload<>::of(&KParts::ReadOnlyPart::completed));
0039     connect(m_extension, &KonqSidebarNavigationExtension::addWebSideBar, m_widget, &Sidebar_Widget::addWebSideBar);
0040     KAcceleratorManager::setNoAccel(m_widget);
0041     setWidget(m_widget);
0042 }
0043 
0044 KonqSidebarPart::~KonqSidebarPart()
0045 {
0046 }
0047 
0048 bool KonqSidebarPart::openFile()
0049 {
0050     return true;
0051 }
0052 
0053 bool KonqSidebarPart::openUrl(const QUrl &url)
0054 {
0055     return m_widget->openUrl(url);
0056 }
0057 
0058 void KonqSidebarPart::customEvent(QEvent *ev)
0059 {
0060     if (KonqFileSelectionEvent::test(ev) ||
0061             KonqFileMouseOverEvent::test(ev) ||
0062             KParts::PartActivateEvent::test(ev)) {
0063         // Forward the event to the widget
0064         QApplication::sendEvent(widget(), ev);
0065     }
0066 }
0067 
0068 ////
0069 
0070 KonqSidebarNavigationExtension::KonqSidebarNavigationExtension(KonqSidebarPart *part, Sidebar_Widget *widget_)
0071     : KParts::NavigationExtension(part), widget(widget_)
0072 {
0073 }
0074 
0075 #include "sidebar_part.moc"