diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e8bb0c9505..87bc2d3c25 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -176,6 +176,7 @@ install(TARGETS dolphinprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMEL install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphin_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel) ########################################## +configure_file(dolphinpart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop @ONLY) set(dolphinpart_SRCS dolphinpart.cpp @@ -186,7 +187,7 @@ set(dolphinpart_SRCS qt5_add_resources(dolphinpart_SRCS dolphinpart.qrc) add_library(dolphinpart MODULE ${dolphinpart_SRCS}) -kcoreaddons_desktop_to_json(dolphinpart dolphinpart.desktop) +kcoreaddons_desktop_to_json(dolphinpart ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop) target_link_libraries(dolphinpart dolphinprivate @@ -194,7 +195,7 @@ target_link_libraries(dolphinpart install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/parts) -install(FILES dolphinpart.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) ########################################## diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 7aaefa6a01..18b3bbd0c1 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -17,7 +17,7 @@ #include "views/dolphinview.h" #include "views/dolphinviewactionhandler.h" -#include +#include #include #include #include @@ -47,13 +47,15 @@ K_PLUGIN_CLASS_WITH_JSON(DolphinPart, "dolphinpart.json") -DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args) +DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, + const KPluginMetaData& metaData, const QVariantList& args) : KParts::ReadOnlyPart(parent) ,m_openTerminalAction(nullptr) ,m_removeAction(nullptr) { Q_UNUSED(args) - setComponentData(*createAboutData(), false); + setMetaData(metaData); + m_extension = new DolphinPartBrowserExtension(this); // make sure that other apps using this part find Dolphin's view-file-columns icons @@ -141,7 +143,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL // TODO there was a "always open a new window" (when clicking on a directory) setting in konqueror // (sort of spacial navigation) - loadPlugins(this, this, componentData()); + loadPlugins(this, this, componentName()); } DolphinPart::~DolphinPart() @@ -281,11 +283,6 @@ void DolphinPart::updatePasteAction() Q_EMIT m_extension->setActionText( "paste", pasteInfo.second ); } -KAboutData* DolphinPart::createAboutData() -{ - return new KAboutData(QStringLiteral("dolphinpart"), i18nc("@title", "Dolphin Part"), QStringLiteral("0.1")); -} - bool DolphinPart::openUrl(const QUrl &url) { bool reload = arguments().reload(); diff --git a/src/dolphinpart.desktop b/src/dolphinpart.desktop.in similarity index 97% rename from src/dolphinpart.desktop rename to src/dolphinpart.desktop.in index 079efbe500..2f6fa456f9 100644 --- a/src/dolphinpart.desktop +++ b/src/dolphinpart.desktop.in @@ -58,6 +58,11 @@ X-KDE-BrowserView-Built-Into=konqueror Icon=view-icon InitialPreference=7 +X-KDE-PluginInfo-Name=dolphinpart +X-KDE-PluginInfo-Version=@DOLPHIN_VERSION@ +X-KDE-PluginInfo-License=LGPL v2+ + + # Provide info about the view modes using the Actions mechanism so that KService parses it. # Konqueror then queries KService to get hold of the translated texts for the view modes Actions=icons;details;compact; diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 3d613c2767..16c49f96e1 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -20,7 +20,6 @@ class DolphinPartBrowserExtension; class DolphinRemoteEncoding; class KDirLister; class DolphinView; -class KAboutData; class DolphinRemoveAction; class DolphinPart : public KParts::ReadOnlyPart @@ -40,11 +39,10 @@ class DolphinPart : public KParts::ReadOnlyPart Q_PROPERTY( QList filesToSelect READ filesToSelect WRITE setFilesToSelect ) public: - explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args); + explicit DolphinPart(QWidget* parentWidget, QObject* parent, + const KPluginMetaData& metaData, const QVariantList& args); ~DolphinPart() override; - static KAboutData* createAboutData(); - /** * Standard KParts::ReadOnlyPart openUrl method. * Called by Konqueror to view a directory in DolphinPart.