X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5360bc3ab328c8b1161b0c5df9c5785829a3e880..3bf471e0:/src/views/versioncontrol/kversioncontrolplugin.h diff --git a/src/views/versioncontrol/kversioncontrolplugin.h b/src/views/versioncontrol/kversioncontrolplugin.h index 0de305d14..d3a39fbd6 100644 --- a/src/views/versioncontrol/kversioncontrolplugin.h +++ b/src/views/versioncontrol/kversioncontrolplugin.h @@ -23,14 +23,15 @@ class KFileItem; * steps are required (in the example below it is assumed that a plugin for * Subversion will be written): * - * - Create a fileviewsvnplugin.desktop file with the following content: + * - Create a fileviewsvnplugin.json file with the following content: * - * [Desktop Entry] - * Type=Service - * Name=Subversion - * X-KDE-ServiceTypes=FileViewVersionControlPlugin - * MimeType=text/plain; - * X-KDE-Library=fileviewsvnplugin + * { + * "KPlugin": { + * "Description": "The svn plugin", + * "Name": "Svn" + * } + * } + * * * - Create a class FileViewSvnPlugin derived from KVersionControlPlugin and @@ -44,16 +45,13 @@ class KFileItem; * - Add the following lines at the top of fileviewsvnplugin.cpp: * * #include - * #include - * K_PLUGIN_FACTORY(FileViewSvnPluginFactory, registerPlugin();) - * K_EXPORT_PLUGIN(FileViewSvnPluginFactory("fileviewsvnplugin")) + * K_PLUGIN_CLASS_WITH_JSON(FileViewSvnPlugin, "fileviewsvnplugin.json") * * * - Add the following lines to your CMakeLists.txt file: * - * kde4_add_plugin(fileviewsvnplugin fileviewsvnplugin.cpp) - * target_link_libraries(fileviewsvnplugin konq) - * install(FILES fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR}) + * kcoreaddons_add_plugin(fileviewsvnplugin SOURCES fileviewsvnplugin.cpp INSTALL_NAMESPACE "dolphin/vcs") + * target_link_libraries(fileviewsvnplugin DolphinVcs) * * * General implementation notes: @@ -143,6 +141,12 @@ public: */ virtual QString fileName() const = 0; + /** + * Returns the path of the local repository root for the versioned directory + * Returns an empty QString when directory is not part of a working copy + */ + virtual QString localRepositoryRoot(const QString& directory) const; + /** * Is invoked whenever the version control * information will get retrieved for the directory @@ -177,6 +181,7 @@ public: * @return List of actions that are available for the out of version control * items \p items. It's opposed to the \p versionedActions. Common usage * is for clone/checkout actions. + * @since 21.04 */ virtual QList outOfVersionControlActions(const KFileItemList& items) const = 0;