File indexing completed on 2024-04-28 15:29:21
0001 /* 0002 This file is part of the KDE project 0003 SPDX-FileCopyrightText: 1999 Simon Hausmann <hausmann@kde.org> 0004 SPDX-FileCopyrightText: 1999-2005 David Faure <faure@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #include "partbase.h" 0010 #include "partbase_p.h" 0011 0012 #include "plugin.h" 0013 0014 using namespace KParts; 0015 0016 PartBase::PartBase() 0017 : d_ptr(new PartBasePrivate(this)) 0018 { 0019 } 0020 0021 PartBase::PartBase(PartBasePrivate &dd) 0022 : d_ptr(&dd) 0023 { 0024 } 0025 0026 PartBase::~PartBase() = default; 0027 0028 void PartBase::setPartObject(QObject *obj) 0029 { 0030 Q_D(PartBase); 0031 0032 d->m_obj = obj; 0033 } 0034 0035 QObject *PartBase::partObject() const 0036 { 0037 Q_D(const PartBase); 0038 0039 return d->m_obj; 0040 } 0041 0042 #if KPARTS_BUILD_DEPRECATED_SINCE(5, 77) 0043 KAboutData PartBase::componentData() const 0044 { 0045 Q_D(const PartBase); 0046 0047 return d->componentData(); 0048 } 0049 #endif 0050 0051 #if KPARTS_BUILD_DEPRECATED_SINCE(5, 77) 0052 void PartBase::setComponentData(const KAboutData &componentData) 0053 { 0054 setComponentData(componentData, true); 0055 } 0056 #endif 0057 0058 #if KPARTS_BUILD_DEPRECATED_SINCE(5, 77) 0059 void PartBase::setComponentData(const KAboutData &pluginData, bool bLoadPlugins) 0060 { 0061 Q_D(PartBase); 0062 0063 d->setComponentData(pluginData); 0064 0065 // backward-compatible registration, usage deprecated 0066 #if KCOREADDONS_BUILD_DEPRECATED_SINCE(5, 76) 0067 QT_WARNING_PUSH 0068 QT_WARNING_DISABLE_CLANG("-Wdeprecated-declarations") 0069 QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations") 0070 KAboutData::registerPluginData(pluginData); 0071 QT_WARNING_POP 0072 #endif 0073 0074 KXMLGUIClient::setComponentName(pluginData.componentName(), pluginData.displayName()); 0075 if (bLoadPlugins) { 0076 loadPlugins(d->m_obj, this, pluginData.componentName()); 0077 } 0078 } 0079 #endif 0080 0081 #if KPARTS_BUILD_DEPRECATED_SINCE(5, 77) 0082 void PartBase::loadPlugins(QObject *parent, KXMLGUIClient *parentGUIClient, const KAboutData &instance) 0083 { 0084 loadPlugins(parent, parentGUIClient, instance.componentName()); 0085 } 0086 #endif 0087 0088 #if KPARTS_BUILD_DEPRECATED_SINCE(5, 90) 0089 void PartBase::loadPlugins(QObject *parent, KXMLGUIClient *parentGuiClient, const QString &parentInstanceName) 0090 { 0091 Q_D(PartBase); 0092 0093 if (d->m_pluginLoadingMode != DoNotLoadPlugins) { 0094 Plugin::loadPlugins(parent, parentGuiClient, parentInstanceName, d->m_pluginLoadingMode == LoadPlugins, d->m_pluginInterfaceVersion); 0095 } 0096 } 0097 0098 void PartBase::setPluginLoadingMode(PluginLoadingMode loadingMode) 0099 { 0100 Q_D(PartBase); 0101 0102 d->m_pluginLoadingMode = loadingMode; 0103 } 0104 #endif 0105 0106 #if KPARTS_BUILD_DEPRECATED_SINCE(5, 103) 0107 void KParts::PartBase::setPluginInterfaceVersion(int version) 0108 { 0109 Q_D(PartBase); 0110 0111 d->m_pluginInterfaceVersion = version; 0112 } 0113 #endif