]> cloud.milkyroute.net Git - dolphin.git/commitdiff
dolphinpart: port to new KPluginMetaData-based KParts API
authorFriedrich W. H. Kossebau <kossebau@kde.org>
Sat, 28 Nov 2020 10:24:29 +0000 (11:24 +0100)
committerElvis Angelaccio <elvis.angelaccio@kde.org>
Mon, 7 Dec 2020 22:09:58 +0000 (22:09 +0000)
src/CMakeLists.txt
src/dolphinpart.cpp
src/dolphinpart.desktop.in [moved from src/dolphinpart.desktop with 97% similarity]
src/dolphinpart.h

index e8bb0c95057bc5cbd5bd17af2b8c8a14237df31e..87bc2d3c25b62d9bb5ad5f08f1072dc574cc8d5e 100644 (file)
@@ -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})
 
 ##########################################
 
index 7aaefa6a018ec3032afb9bd124201cc492c849e4..18b3bbd0c1a28e083fdcc241ece5b6c5877b34e0 100644 (file)
@@ -17,7 +17,7 @@
 #include "views/dolphinview.h"
 #include "views/dolphinviewactionhandler.h"
 
-#include <KAboutData>
+#include <KPluginMetaData>
 #include <KActionCollection>
 #include <KAuthorized>
 #include <KConfigGroup>
 
 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();
similarity index 97%
rename from src/dolphinpart.desktop
rename to src/dolphinpart.desktop.in
index 079efbe5008c1d10cca32d7bc2337758d97ffa7f..2f6fa456f9987c43e72216ab1b546d7c34803ab9 100644 (file)
@@ -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;
index 3d613c2767761c8048f863b7a627d960a26cc048..16c49f96e1f7f767b69e0dc3c0241c8ec1b906d5 100644 (file)
@@ -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<QUrl> 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.