KOverlayIconPlugin Class

Base class for overlay icon plugins. More...

Header: #include <KOverlayIconPlugin>
CMake: find_package(KF6 REQUIRED COMPONENTS KIO)
target_link_libraries(mytarget PRIVATE KF6::KIOCore)
Since: 5.16
Inherits: QObject

Public Functions

virtual QStringList getOverlays(const QUrl &item) = 0

Signals

void overlaysChanged(const QUrl &url, const QStringList &overlays)

Detailed Description

Enables file managers to show custom overlay icons on files.

This plugin can be created and installed through kcoreaddons_add_plugin

kcoreaddons_add_plugin(myoverlayplugin SOURCES myoverlayplugin.cpp INSTALL_NAMESPACE "kf6/overlayicon")
target_link_libraries(myoverlayplugin KF6::KIOCore)

The C++ file should look like this:

#include <KOverlayIconPlugin>

class MyOverlayPlugin : public KOverlayIconPlugin
{
    Q_PLUGIN_METADATA(IID "org.kde.overlayicon.myplugin")
    Q_OBJECT

public:
    MyOverlayPlugin() {
    }

    QStringList getOverlays(const QUrl &url) override {
        // Implement your logic
    }
};

#include "myoverlayplugin.moc"

Member Function Documentation

[pure virtual] QStringList KOverlayIconPlugin::getOverlays(const QUrl &item)

Returns a list of overlay icons to add to a file This can be a path to an icon, or the icon name

This function is called from the main thread and must not block. It is recommended to have a cache. And if the item is not in cache just return an empty list and call the overlaysChanged when the information is available.

[signal] void KOverlayIconPlugin::overlaysChanged(const QUrl &url, const QStringList &overlays)

Emit this signal when the list of overlay icons changed for a given URL