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"