[graphics/gwenview] /: Drop KIPI support

Nicolas Fella null at kde.org
Thu Dec 2 19:20:26 GMT 2021


Git commit 0f39bcc72b9078f16e343749f56aa8dff55a14dc by Nicolas Fella.
Committed on 02/12/2021 at 00:32.
Pushed by ngraham into branch 'master'.

Drop KIPI support

KIPI offers export functionality for various external services

However it has been abandoned from its original authors and receives no real development any more

A lot, if not all of its providers are defunct and it severly lacks UI polish

Gwenview already has integration with Purpose which offers a similar (albeit theoretically reduced) functionality with a much more polished experience

M  +0    -1    .kde-ci.yml
M  +0    -6    CMakeLists.txt
M  +0    -14   app/CMakeLists.txt
M  +1    -4    app/gwenviewui.rc
D  +0    -125  app/kipiexportaction.cpp
D  +0    -56   app/kipiexportaction.h
D  +0    -87   app/kipiimagecollectionselector.cpp
D  +0    -53   app/kipiimagecollectionselector.h
D  +0    -513  app/kipiinterface.cpp
D  +0    -145  app/kipiinterface.h
D  +0    -55   app/kipiuploadwidget.cpp
D  +0    -52   app/kipiuploadwidget.h
M  +0    -30   app/mainwindow.cpp
M  +0    -45   app/org.kde.gwenview.appdata.xml
M  +0    -1    config-gwenview.h.cmake
M  +0    -6    doc/index.docbook

https://invent.kde.org/graphics/gwenview/commit/0f39bcc72b9078f16e343749f56aa8dff55a14dc

diff --git a/.kde-ci.yml b/.kde-ci.yml
index a43b5caa..caf3d364 100644
--- a/.kde-ci.yml
+++ b/.kde-ci.yml
@@ -25,6 +25,5 @@ Dependencies:
     'frameworks/kiconthemes': '@stable'
     'frameworks/kparts': '@stable'
     'frameworks/knotifications': '@stable'
-    'graphics/libkipi': '@same'
     'graphics/libkdcraw': '@same'
     'libraries/phonon': '@stable'
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 257b7a21..0ce254a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -110,12 +110,6 @@ if (TIFF_FOUND)
     set(HAVE_TIFF true)
 endif()
 
-find_package(KF5Kipi)
-if (KF5Kipi_FOUND)
-   set(KIPI_FOUND true)
-endif()
-set_package_properties(KF5Kipi PROPERTIES URL "https://phabricator.kde.org/source/kipi-plugins/" DESCRIPTION "Provides various image manipulation and export features" TYPE OPTIONAL)
-
 find_package(LCMS2)
 set_package_properties(LCMS2 PROPERTIES URL "http://www.littlecms.com" DESCRIPTION "Color management engine" TYPE REQUIRED)
 
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 94b22d45..43f5e0c9 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -45,16 +45,6 @@ if (NOT GWENVIEW_SEMANTICINFO_BACKEND_NONE)
         )
 endif()
 
-if (KF5Kipi_FOUND)
-    set (gwenview_SRCS
-        ${gwenview_SRCS}
-        kipiexportaction.cpp
-        kipiimagecollectionselector.cpp
-        kipiinterface.cpp
-        kipiuploadwidget.cpp
-        )
-endif()
-
 ki18n_wrap_ui(gwenview_SRCS
     advancedconfigpage.ui
     fullscreenconfigwidget.ui
@@ -95,10 +85,6 @@ endif()
 
 target_link_libraries(gwenview LINK_INTERFACE_LIBRARIES KF5::KIOCore Qt5::Core)
 
-if (KF5Kipi_FOUND)
-    target_link_libraries(gwenview KF5::Kipi)
-endif()
-
 if (HAVE_TIFF)
     target_link_libraries(gwenview TIFF::TIFF)
 endif()
diff --git a/app/gwenviewui.rc b/app/gwenviewui.rc
index d207da6e..8eba8237 100644
--- a/app/gwenviewui.rc
+++ b/app/gwenviewui.rc
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE gui SYSTEM "kpartgui.dtd">
-<gui name="gwenview" version="64">
+<gui name="gwenview" version="65">
 
 <MenuBar>
     <Menu name="file" >
@@ -79,9 +79,6 @@
         <Separator/>
         <Action name="go_start_page"/>
     </Menu>
-    <Menu name="plugins">
-        <text>&Plugins</text>
-    </Menu>
     <Menu name="settings" noMerge="1">
         <text>&Settings</text>
         <!--
diff --git a/app/kipiexportaction.cpp b/app/kipiexportaction.cpp
deleted file mode 100644
index 7ad01afb..00000000
--- a/app/kipiexportaction.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2010 Aurélien Gâteau <agateau at kde.org>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-// Self
-#include "kipiexportaction.h"
-
-// Qt
-#include <QMenu>
-
-// KF
-#include <KLocalizedString>
-
-// Local
-#include "kipiinterface.h"
-#include <lib/gwenviewconfig.h>
-
-namespace Gwenview
-{
-struct KIPIExportActionPrivate {
-    KIPIExportAction *q;
-    KIPIInterface *mKIPIInterface;
-    QAction *mDefaultAction;
-    QList<QAction *> mExportActionList;
-
-    void updateMenu()
-    {
-        auto *menu = static_cast<QMenu *>(q->menu());
-        menu->clear();
-
-        if (mDefaultAction && mExportActionList.contains(mDefaultAction)) {
-            if (mExportActionList.count() > 1) {
-                menu->addSection(i18n("Last Used Plugin"));
-            }
-            menu->addAction(mDefaultAction);
-            menu->addSection(i18n("Other Plugins"));
-        }
-        for (QAction *action : qAsConst(mExportActionList)) {
-            action->setIconVisibleInMenu(true);
-            if (action != mDefaultAction) {
-                menu->addAction(action);
-            }
-        }
-    }
-};
-
-KIPIExportAction::KIPIExportAction(QObject *parent)
-    : KToolBarPopupAction(QIcon::fromTheme(QStringLiteral("document-share")), i18nc("@action", "Share"), parent)
-    , d(new KIPIExportActionPrivate)
-{
-    d->q = this;
-    d->mKIPIInterface = nullptr;
-    d->mDefaultAction = nullptr;
-    setToolTip(i18nc("@info:tooltip", "Share images using various services"));
-
-    setDelayed(false);
-    connect(menu(), &QMenu::aboutToShow, this, &KIPIExportAction::init);
-    connect(menu(), &QMenu::triggered, this, &KIPIExportAction::slotPluginTriggered);
-}
-
-KIPIExportAction::~KIPIExportAction()
-{
-    delete d;
-}
-
-void KIPIExportAction::setKIPIInterface(KIPIInterface *interface)
-{
-    d->mKIPIInterface = interface;
-    connect(d->mKIPIInterface, &KIPIInterface::loadingFinished, this, &KIPIExportAction::init);
-}
-
-void KIPIExportAction::init()
-{
-    d->mExportActionList = d->mKIPIInterface->pluginActions(KIPI::ExportPlugin);
-    if (d->mKIPIInterface->isLoadingFinished()) {
-        // Look for default action
-        QString defaultActionText = GwenviewConfig::defaultExportPluginText();
-        for (QAction *action : qAsConst(d->mExportActionList)) {
-            if (action->text() == defaultActionText) {
-                setDefaultAction(action);
-                break;
-            }
-        }
-        // We are done, don't come back next time menu is shown
-        disconnect(menu(), &QMenu::aboutToShow, this, &KIPIExportAction::init);
-        // TODO: Temporary fix for the 'Share' menu not showing when updated
-        // the second time. See Bug 395034 and D13312
-        d->updateMenu();
-    }
-    d->updateMenu();
-}
-
-void KIPIExportAction::setDefaultAction(QAction *action)
-{
-    if (action == d->mDefaultAction) {
-        return;
-    }
-    d->mDefaultAction = action;
-
-    GwenviewConfig::setDefaultExportPluginText(action->text());
-}
-
-void KIPIExportAction::slotPluginTriggered(QAction *action)
-{
-    setDefaultAction(action);
-    d->updateMenu();
-}
-
-} // namespace
diff --git a/app/kipiexportaction.h b/app/kipiexportaction.h
deleted file mode 100644
index b4743fbf..00000000
--- a/app/kipiexportaction.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2010 Aurélien Gâteau <agateau at kde.org>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-#ifndef KIPIEXPORTACTION_H
-#define KIPIEXPORTACTION_H
-
-// Qt
-
-// KF
-#include <KToolBarPopupAction>
-
-// Local
-
-namespace Gwenview
-{
-class KIPIInterface;
-
-struct KIPIExportActionPrivate;
-class KIPIExportAction : public KToolBarPopupAction
-{
-    Q_OBJECT
-public:
-    explicit KIPIExportAction(QObject *parent);
-    ~KIPIExportAction() override;
-
-    void setKIPIInterface(KIPIInterface *);
-
-private Q_SLOTS:
-    void init();
-    void setDefaultAction(QAction *);
-    void slotPluginTriggered(QAction *);
-
-private:
-    KIPIExportActionPrivate *const d;
-};
-
-} // namespace
-
-#endif /* KIPIEXPORTACTION_H */
diff --git a/app/kipiimagecollectionselector.cpp b/app/kipiimagecollectionselector.cpp
deleted file mode 100644
index 9340004b..00000000
--- a/app/kipiimagecollectionselector.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2008 Aurélien Gâteau <agateau at kde.org>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-// Self
-#include "kipiimagecollectionselector.h"
-
-// Qt
-#include <QListWidget>
-#include <QVBoxLayout>
-
-// KF
-#include <KLocalizedString>
-
-// Local
-
-namespace Gwenview
-{
-struct KIPIImageCollectionSelectorPrivate {
-    KIPIInterface *mInterface;
-    QListWidget *mListWidget;
-};
-
-KIPIImageCollectionSelector::KIPIImageCollectionSelector(KIPIInterface *interface, QWidget *parent)
-    : KIPI::ImageCollectionSelector(parent)
-    , d(new KIPIImageCollectionSelectorPrivate)
-{
-    d->mInterface = interface;
-
-    d->mListWidget = new QListWidget;
-    const QList<KIPI::ImageCollection> list = interface->allAlbums();
-    for (const KIPI::ImageCollection &collection : list) {
-        auto *item = new QListWidgetItem(d->mListWidget);
-        QString name = collection.name();
-        int imageCount = collection.images().size();
-        QString title = i18ncp("%1 is collection name, %2 is image count in collection", "%1 (%2 image)", "%1 (%2 images)", name, imageCount);
-
-        item->setText(title);
-        item->setData(Qt::UserRole, name);
-    }
-
-    connect(d->mListWidget, &QListWidget::currentRowChanged, this, &KIPIImageCollectionSelector::selectionChanged);
-
-    auto *layout = new QVBoxLayout(this);
-    layout->addWidget(d->mListWidget);
-    layout->setContentsMargins(0, 0, 0, 0);
-}
-
-KIPIImageCollectionSelector::~KIPIImageCollectionSelector()
-{
-    delete d;
-}
-
-QList<KIPI::ImageCollection> KIPIImageCollectionSelector::selectedImageCollections() const
-{
-    QListWidgetItem *item = d->mListWidget->currentItem();
-    QList<KIPI::ImageCollection> selectedList;
-    if (item) {
-        QString name = item->data(Qt::UserRole).toString();
-        const QList<KIPI::ImageCollection> list = d->mInterface->allAlbums();
-        for (const KIPI::ImageCollection &collection : list) {
-            if (collection.name() == name) {
-                selectedList << collection;
-                break;
-            }
-        }
-    }
-    return selectedList;
-}
-
-} // namespace
diff --git a/app/kipiimagecollectionselector.h b/app/kipiimagecollectionselector.h
deleted file mode 100644
index 5fceaef1..00000000
--- a/app/kipiimagecollectionselector.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2008 Aurélien Gâteau <agateau at kde.org>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-#ifndef KIPIIMAGECOLLECTIONSELECTOR_H
-#define KIPIIMAGECOLLECTIONSELECTOR_H
-
-// Qt
-
-// KF
-
-// KIPI
-#include <kipi/imagecollection.h>
-#include <kipi/imagecollectionselector.h>
-
-// Local
-#include "kipiinterface.h"
-
-namespace Gwenview
-{
-struct KIPIImageCollectionSelectorPrivate;
-class KIPIImageCollectionSelector : public KIPI::ImageCollectionSelector
-{
-    Q_OBJECT
-public:
-    KIPIImageCollectionSelector(KIPIInterface *, QWidget *parent);
-    ~KIPIImageCollectionSelector() override;
-
-    QList<KIPI::ImageCollection> selectedImageCollections() const override;
-
-private:
-    KIPIImageCollectionSelectorPrivate *const d;
-};
-
-} // namespace
-
-#endif /* KIPIIMAGECOLLECTIONSELECTOR_H */
diff --git a/app/kipiinterface.cpp b/app/kipiinterface.cpp
deleted file mode 100644
index 5aac3d79..00000000
--- a/app/kipiinterface.cpp
+++ /dev/null
@@ -1,513 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2000-2008 Aurélien Gâteau <agateau at kde.org>
-Copyright 2008      Angelo Naselli  <anaselli at linux.it>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-#include "kipiinterface.h"
-
-// Qt
-#include <QAction>
-#include <QDesktopServices>
-#include <QFileSystemWatcher>
-#include <QList>
-#include <QMenu>
-#include <QRegExp>
-#include <QTimer>
-#include <QUrl>
-
-// KF
-#include <KActionCollection>
-#include <KDirLister>
-#include <KIO/DesktopExecParser>
-#include <KLocalizedString>
-#include <KXMLGUIFactory>
-
-// KIPI
-#include <kipi/imageinfo.h>
-#include <kipi/imageinfoshared.h>
-#include <kipi/pluginloader.h>
-
-// local
-#include "gwenview_app_debug.h"
-#include "kipiimagecollectionselector.h"
-#include "kipiuploadwidget.h"
-#include "mainwindow.h"
-#include <lib/contextmanager.h>
-#include <lib/jpegcontent.h>
-#include <lib/mimetypeutils.h>
-#include <lib/semanticinfo/sorteddirmodel.h>
-#include <lib/timeutils.h>
-
-#define KIPI_PLUGINS_URL QStringLiteral("appstream://org.kde.kipi_plugins")
-
-namespace Gwenview
-{
-#undef ENABLE_LOG
-#undef LOG
-
-//#define ENABLE_LOG
-#ifdef ENABLE_LOG
-#define LOG(x) qCDebug(GWENVIEW_APP_LOG) << x
-#else
-#define LOG(x) ;
-#endif
-
-class KIPIImageInfo : public KIPI::ImageInfoShared
-{
-    static const QRegExp sExtensionRE;
-
-public:
-    KIPIImageInfo(KIPI::Interface *interface, const QUrl &url)
-        : KIPI::ImageInfoShared(interface, url)
-    {
-        KFileItem item(url);
-
-        mAttributes.insert(QStringLiteral("name"), url.fileName());
-        mAttributes.insert(QStringLiteral("comment"), comment());
-        mAttributes.insert(QStringLiteral("date"), TimeUtils::dateTimeForFileItem(item));
-        mAttributes.insert(QStringLiteral("orientation"), orientation());
-        mAttributes.insert(QStringLiteral("title"), prettyFileName());
-        int size = item.size();
-        if (size > 0) {
-            mAttributes.insert(QStringLiteral("filesize"), size);
-        }
-    }
-
-    QMap<QString, QVariant> attributes() override
-    {
-        return mAttributes;
-    }
-
-    void delAttributes(const QStringList &attributeNames) override
-    {
-        for (const QString &name : attributeNames) {
-            mAttributes.remove(name);
-        }
-    }
-
-    void clearAttributes() override
-    {
-        mAttributes.clear();
-    }
-
-    void addAttributes(const QVariantMap &attributes) override
-    {
-        QVariantMap::ConstIterator it = attributes.constBegin(), end = attributes.constEnd();
-        for (; it != end; ++it) {
-            mAttributes.insert(it.key(), it.value());
-        }
-    }
-
-private:
-    QString prettyFileName() const
-    {
-        QString txt = _url.fileName();
-        txt.replace('_', ' ');
-        txt.remove(sExtensionRE);
-        return txt;
-    }
-
-    QString comment() const
-    {
-        if (!_url.isLocalFile())
-            return QString();
-
-        JpegContent content;
-        bool ok = content.load(_url.toLocalFile());
-        if (!ok)
-            return QString();
-
-        return content.comment();
-    }
-
-    int orientation() const
-    {
-#if 0 // PORT QT5
-        KFileMetaInfo metaInfo(_url);
-
-        if (!metaInfo.isValid()) {
-            return 0;
-        }
-
-        const KFileMetaInfoItem& mii = metaInfo.item("http://freedesktop.org/standards/xesam/1.0/core#orientation");
-        bool ok = false;
-        const Orientation orientation = (Orientation)mii.value().toInt(&ok);
-        if (!ok) {
-            return 0;
-        }
-
-        switch (orientation) {
-        case NOT_AVAILABLE:
-        case NORMAL:
-            return 0;
-
-        case ROT_90:
-            return 90;
-
-        case ROT_180:
-            return 180;
-
-        case ROT_270:
-            return 270;
-
-        case HFLIP:
-        case VFLIP:
-        case TRANSPOSE:
-        case TRANSVERSE:
-            qCWarning(GWENVIEW_APP_LOG) << "Can't represent an orientation value of" << orientation << "as an angle (" << _url << ')';
-            return 0;
-        }
-#endif
-        // qCWarning(GWENVIEW_APP_LOG) << "Don't know how to handle an orientation value of" << orientation << '(' << _url << ')';
-        return 0;
-    }
-
-    QVariantMap mAttributes;
-};
-
-const QRegExp KIPIImageInfo::sExtensionRE("\\.[a-z0-9]+$", Qt::CaseInsensitive);
-
-struct MenuInfo {
-    QString mName;
-    QList<QAction *> mActions;
-    QString mIconName;
-
-    MenuInfo()
-    {
-    }
-
-    MenuInfo(const QString &name, const QString &iconName)
-        : mName(name)
-        , mIconName(iconName)
-    {
-    }
-};
-using MenuInfoMap = QMap<KIPI::Category, MenuInfo>;
-
-struct KIPIInterfacePrivate {
-    KIPIInterface *q;
-    MainWindow *mMainWindow;
-    QMenu *mPluginMenu;
-    KIPI::PluginLoader *mPluginLoader;
-    KIPI::PluginLoader::PluginList mPluginQueue;
-    MenuInfoMap mMenuInfoMap;
-    QAction *mLoadingAction;
-    QAction *mNoPluginAction;
-    QAction *mInstallPluginAction;
-    QFileSystemWatcher mPluginWatcher;
-    QTimer mPluginLoadTimer;
-
-    void setupPluginsMenu()
-    {
-        mPluginMenu = static_cast<QMenu *>(mMainWindow->factory()->container("plugins", mMainWindow));
-        QObject::connect(mPluginMenu, &QMenu::aboutToShow, q, &KIPIInterface::loadPlugins);
-    }
-
-    QAction *createDummyPluginAction(const QString &text)
-    {
-        auto *action = new QAction(q);
-        action->setText(text);
-        // PORT QT5 action->setShortcutConfigurable(false);
-        action->setEnabled(false);
-        return action;
-    }
-};
-
-KIPIInterface::KIPIInterface(MainWindow *mainWindow)
-    : KIPI::Interface(mainWindow)
-    , d(new KIPIInterfacePrivate)
-{
-    d->q = this;
-    d->mMainWindow = mainWindow;
-    d->mPluginLoader = nullptr;
-    d->mLoadingAction = d->createDummyPluginAction(i18n("Loading..."));
-    d->mNoPluginAction = d->createDummyPluginAction(i18n("No Plugin Found"));
-    d->mInstallPluginAction = d->createDummyPluginAction(i18nc("@item:inmenu", "Install Plugins"));
-    connect(&d->mPluginLoadTimer, &QTimer::timeout, this, &KIPIInterface::loadPlugins);
-
-    d->setupPluginsMenu();
-    QObject::connect(d->mMainWindow->contextManager(), &ContextManager::selectionChanged, this, &KIPIInterface::slotSelectionChanged);
-    QObject::connect(d->mMainWindow->contextManager(), &ContextManager::currentDirUrlChanged, this, &KIPIInterface::slotDirectoryChanged);
-#if 0
-//TODO instead of delaying can we load them all at start-up to use actions somewhere else?
-// delay a bit, so that it's called after loadPlugins()
-    QTimer::singleShot(0, this, SLOT(init()));
-#endif
-}
-
-KIPIInterface::~KIPIInterface()
-{
-    delete d;
-}
-
-static bool actionLessThan(QAction *a1, QAction *a2)
-{
-    QString a1Text = a1->text().remove('&');
-    QString a2Text = a2->text().remove('&');
-    return QString::compare(a1Text, a2Text, Qt::CaseInsensitive) < 0;
-}
-
-void KIPIInterface::loadPlugins()
-{
-    // Already done
-    if (d->mPluginLoader) {
-        return;
-    }
-
-    d->mMenuInfoMap[KIPI::ImagesPlugin] = MenuInfo(i18nc("@title:menu", "Images"), QStringLiteral("viewimage"));
-    d->mMenuInfoMap[KIPI::ToolsPlugin] = MenuInfo(i18nc("@title:menu", "Tools"), QStringLiteral("tools"));
-    d->mMenuInfoMap[KIPI::ImportPlugin] = MenuInfo(i18nc("@title:menu", "Import"), QStringLiteral("document-import"));
-    d->mMenuInfoMap[KIPI::ExportPlugin] = MenuInfo(i18nc("@title:menu", "Export"), QStringLiteral("document-export"));
-    d->mMenuInfoMap[KIPI::BatchPlugin] = MenuInfo(i18nc("@title:menu", "Batch Processing"), QStringLiteral("editimage"));
-    d->mMenuInfoMap[KIPI::CollectionsPlugin] = MenuInfo(i18nc("@title:menu", "Collections"), QStringLiteral("view-list-symbolic"));
-
-    d->mPluginLoader = new KIPI::PluginLoader();
-    d->mPluginLoader->setInterface(this);
-    d->mPluginLoader->init();
-    d->mPluginQueue = d->mPluginLoader->pluginList();
-    d->mPluginMenu->addAction(d->mLoadingAction);
-    loadOnePlugin();
-}
-
-void KIPIInterface::loadOnePlugin()
-{
-    while (!d->mPluginQueue.isEmpty()) {
-        KIPI::PluginLoader::Info *pluginInfo = d->mPluginQueue.takeFirst();
-        if (!pluginInfo->shouldLoad()) {
-            continue;
-        }
-
-        KIPI::Plugin *plugin = pluginInfo->plugin();
-        if (!plugin) {
-            qCWarning(GWENVIEW_APP_LOG) << "Plugin from library" << pluginInfo->library() << "failed to load";
-            continue;
-        }
-
-        plugin->setup(d->mMainWindow);
-        const QList<QAction *> actions = plugin->actions();
-        for (QAction *action : actions) {
-            KIPI::Category category = plugin->category(action);
-
-            if (!d->mMenuInfoMap.contains(category)) {
-                qCWarning(GWENVIEW_APP_LOG) << "Unknown category '" << category;
-                continue;
-            }
-
-            d->mMenuInfoMap[category].mActions << action;
-        }
-        // FIXME: Port
-        // plugin->actionCollection()->readShortcutSettings();
-
-        // If we reach this point, we just loaded one plugin. Go back to the
-        // event loop. We will come back to load the remaining plugins or create
-        // the menu later
-        QMetaObject::invokeMethod(this, &KIPIInterface::loadOnePlugin, Qt::QueuedConnection);
-        return;
-    }
-
-    // If we reach this point, all plugins have been loaded. We can fill the
-    // menu
-    MenuInfoMap::Iterator it = d->mMenuInfoMap.begin(), end = d->mMenuInfoMap.end();
-    for (; it != end; ++it) {
-        MenuInfo &info = it.value();
-        if (!info.mActions.isEmpty()) {
-            QMenu *menu = d->mPluginMenu->addMenu(info.mName);
-            menu->setIcon(QIcon::fromTheme(info.mIconName));
-            std::sort(info.mActions.begin(), info.mActions.end(), actionLessThan);
-            for (QAction *action : qAsConst(info.mActions)) {
-                menu->addAction(action);
-            }
-        }
-    }
-
-    d->mPluginMenu->removeAction(d->mLoadingAction);
-    if (d->mPluginMenu->isEmpty()) {
-        if (KIO::DesktopExecParser::hasSchemeHandler(QUrl(KIPI_PLUGINS_URL))) {
-            d->mPluginMenu->addAction(d->mInstallPluginAction);
-            d->mInstallPluginAction->setEnabled(true);
-            QObject::connect(d->mInstallPluginAction, &QAction::triggered, this, [&]() {
-                QDesktopServices::openUrl(QUrl(KIPI_PLUGINS_URL));
-                d->mPluginWatcher.addPaths(QCoreApplication::libraryPaths());
-                connect(&d->mPluginWatcher, &QFileSystemWatcher::directoryChanged, this, &KIPIInterface::packageFinished);
-            });
-        } else {
-            d->mPluginMenu->addAction(d->mNoPluginAction);
-        }
-    }
-
-    loadingFinished();
-}
-
-void KIPIInterface::packageFinished()
-{
-    if (d->mPluginLoader) {
-        delete d->mPluginLoader;
-        d->mPluginLoader = nullptr;
-    }
-    d->mPluginMenu->removeAction(d->mInstallPluginAction);
-    d->mPluginMenu->removeAction(d->mNoPluginAction);
-    d->mPluginLoadTimer.start(1000);
-}
-
-QList<QAction *> KIPIInterface::pluginActions(KIPI::Category category) const
-{
-    const_cast<KIPIInterface *>(this)->loadPlugins();
-
-    if (isLoadingFinished()) {
-        QList<QAction *> list = d->mMenuInfoMap.value(category).mActions;
-        if (list.isEmpty()) {
-            if (KIO::DesktopExecParser::hasSchemeHandler(QUrl(KIPI_PLUGINS_URL))) {
-                list << d->mInstallPluginAction;
-            } else {
-                list << d->mNoPluginAction;
-            }
-        }
-        return list;
-    } else {
-        return QList<QAction *>() << d->mLoadingAction;
-    }
-}
-
-bool KIPIInterface::isLoadingFinished() const
-{
-    if (!d->mPluginLoader) {
-        // Not even started
-        return false;
-    }
-    return d->mPluginQueue.isEmpty();
-}
-
-void KIPIInterface::init()
-{
-    slotDirectoryChanged();
-    slotSelectionChanged();
-}
-
-KIPI::ImageCollection KIPIInterface::currentAlbum()
-{
-    LOG("");
-    const ContextManager *contextManager = d->mMainWindow->contextManager();
-    const QUrl url = contextManager->currentDirUrl();
-    const SortedDirModel *model = contextManager->dirModel();
-
-    QList<QUrl> list;
-    const int count = model->rowCount();
-    for (int row = 0; row < count; ++row) {
-        const QModelIndex &index = model->index(row, 0);
-        const KFileItem item = model->itemForIndex(index);
-        if (MimeTypeUtils::fileItemKind(item) == MimeTypeUtils::KIND_RASTER_IMAGE) {
-            list << item.targetUrl();
-        }
-    }
-
-    return KIPI::ImageCollection(new ImageCollection(url, url.fileName(), list));
-}
-
-KIPI::ImageCollection KIPIInterface::currentSelection()
-{
-    LOG("");
-
-    KFileItemList fileList = d->mMainWindow->contextManager()->selectedFileItemList();
-    QList<QUrl> list = fileList.urlList();
-    QUrl url = d->mMainWindow->contextManager()->currentUrl();
-
-    return KIPI::ImageCollection(new ImageCollection(url, url.fileName(), list));
-}
-
-QList<KIPI::ImageCollection> KIPIInterface::allAlbums()
-{
-    LOG("");
-    QList<KIPI::ImageCollection> list;
-    list << currentAlbum() << currentSelection();
-    return list;
-}
-
-KIPI::ImageInfo KIPIInterface::info(const QUrl &url)
-{
-    LOG("");
-    return KIPI::ImageInfo(new KIPIImageInfo(this, url));
-}
-
-int KIPIInterface::features() const
-{
-    return KIPI::HostAcceptNewImages;
-}
-
-/**
- * KDirLister will pick up the image if necessary, so no updating is needed
- * here, it is however necessary to discard caches if the plugin preserves timestamp
- */
-bool KIPIInterface::addImage(const QUrl &, QString &)
-{
-    // TODO  setContext(const QUrl &currentUrl, const KFileItemList& selection)?
-    // Cache::instance()->invalidate( url );
-    return true;
-}
-
-void KIPIInterface::delImage(const QUrl &)
-{
-    // TODO
-}
-
-void KIPIInterface::refreshImages(const QList<QUrl> &)
-{
-    // TODO
-}
-
-KIPI::ImageCollectionSelector *KIPIInterface::imageCollectionSelector(QWidget *parent)
-{
-    return new KIPIImageCollectionSelector(this, parent);
-}
-
-KIPI::UploadWidget *KIPIInterface::uploadWidget(QWidget *parent)
-{
-    return (new KIPIUploadWidget(this, parent));
-}
-
-void KIPIInterface::slotSelectionChanged()
-{
-    Q_EMIT selectionChanged(!d->mMainWindow->contextManager()->selectedFileItemList().isEmpty());
-}
-
-void KIPIInterface::slotDirectoryChanged()
-{
-    Q_EMIT currentAlbumChanged(true);
-}
-
-#ifdef GWENVIEW_KIPI_WITH_CREATE_METHODS
-KIPI::FileReadWriteLock *KIPIInterface::createReadWriteLock(const QUrl &url) const
-{
-    Q_UNUSED(url);
-    return nullptr;
-}
-
-KIPI::MetadataProcessor *KIPIInterface::createMetadataProcessor() const
-{
-    return nullptr;
-}
-
-#ifdef GWENVIEW_KIPI_WITH_CREATE_RAW_PROCESSOR
-KIPI::RawProcessor *KIPIInterface::createRawProcessor() const
-{
-    return NULL;
-}
-#endif
-#endif
-
-} // namespace
diff --git a/app/kipiinterface.h b/app/kipiinterface.h
deleted file mode 100644
index 6c469b11..00000000
--- a/app/kipiinterface.h
+++ /dev/null
@@ -1,145 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2000-2008 Aurélien Gâteau <agateau at kde.org>
-Copyright 2008      Angelo Naselli  <anaselli at linux.it>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-#ifndef KIPIINTERFACE_H
-#define KIPIINTERFACE_H
-
-// KIPI
-#include <kipi/imagecollectionshared.h>
-#include <kipi/interface.h>
-#include <kipi/plugin.h>
-#include <libkipi_version.h>
-
-class QAction;
-
-#ifndef KIPI_VERSION_MAJOR
-#error KIPI_VERSION_MAJOR should be provided.
-#endif
-#if KIPI_VERSION_MAJOR >= 5
-#define GWENVIEW_KIPI_WITH_CREATE_METHODS
-#if KIPI_VERSION_MINOR == 0
-#define GWENVIEW_KIPI_WITH_CREATE_RAW_PROCESSOR
-#endif
-#endif
-
-namespace Gwenview
-{
-struct KIPIInterfacePrivate;
-
-class MainWindow;
-
-class KIPIInterface : public KIPI::Interface
-{
-    Q_OBJECT
-
-public:
-    KIPIInterface(MainWindow *);
-    ~KIPIInterface() override;
-
-    KIPI::ImageCollection currentAlbum() override;
-    KIPI::ImageCollection currentSelection() override;
-    QList<KIPI::ImageCollection> allAlbums() override;
-    KIPI::ImageInfo info(const QUrl &url) override;
-    int features() const override;
-    bool addImage(const QUrl &, QString &err) override;
-    void delImage(const QUrl &) override;
-    void refreshImages(const QList<QUrl> &urls) override;
-
-    KIPI::ImageCollectionSelector *imageCollectionSelector(QWidget *parent) override;
-    KIPI::UploadWidget *uploadWidget(QWidget *parent) override;
-
-    QList<QAction *> pluginActions(KIPI::Category) const;
-
-    bool isLoadingFinished() const;
-
-#ifdef GWENVIEW_KIPI_WITH_CREATE_METHODS
-    KIPI::FileReadWriteLock *createReadWriteLock(const QUrl &url) const override;
-    KIPI::MetadataProcessor *createMetadataProcessor() const override;
-#ifdef GWENVIEW_KIPI_WITH_CREATE_RAW_PROCESSOR
-    virtual KIPI::RawProcessor *createRawProcessor() const;
-#endif
-#endif
-
-Q_SIGNALS:
-    void loadingFinished();
-
-public Q_SLOTS:
-    void loadPlugins();
-
-private Q_SLOTS:
-    void slotSelectionChanged();
-    void slotDirectoryChanged();
-    void packageFinished();
-    void init();
-    void loadOnePlugin();
-
-private:
-    KIPIInterfacePrivate *const d;
-};
-
-class ImageCollection : public KIPI::ImageCollectionShared
-{
-public:
-    ImageCollection(const QUrl &dirURL, const QString &name, const QList<QUrl> &images)
-        : KIPI::ImageCollectionShared()
-        , mDirURL(dirURL)
-        , mName(name)
-        , mImages(images)
-    {
-    }
-
-    QString name() override
-    {
-        return mName;
-    }
-    QString comment() override
-    {
-        return QString();
-    }
-    QList<QUrl> images() override
-    {
-        return mImages;
-    }
-    QUrl uploadRoot()
-    {
-        return QUrl(QStringLiteral("/"));
-    }
-    QUrl uploadPath()
-    {
-        return mDirURL;
-    }
-    QString uploadRootName() override
-    {
-        return QStringLiteral("/");
-    }
-    bool isDirectory() override
-    {
-        return true;
-    }
-
-private:
-    QUrl mDirURL;
-    QString mName;
-    QList<QUrl> mImages;
-};
-
-} // namespace
-#endif /* KIPIINTERFACE_H */
diff --git a/app/kipiuploadwidget.cpp b/app/kipiuploadwidget.cpp
deleted file mode 100644
index f2259eb5..00000000
--- a/app/kipiuploadwidget.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2008 Aurélien Gâteau <agateau at kde.org>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-// Self
-#include "kipiuploadwidget.h"
-
-// Qt
-#include <QLabel>
-#include <QVBoxLayout>
-
-// KF
-#include <KLocalizedString>
-
-// Local
-#include "kipiinterface.h"
-
-namespace Gwenview
-{
-KIPIUploadWidget::KIPIUploadWidget(KIPIInterface *interface, QWidget *parent)
-    : KIPI::UploadWidget(parent)
-    , mInterface(interface)
-{
-    auto *label = new QLabel(this);
-    QUrl url = mInterface->currentAlbum().uploadUrl();
-    label->setText(i18n("Images will be uploaded here:\n%1", url.toDisplayString()));
-    label->setWordWrap(true);
-
-    auto *layout = new QVBoxLayout(this);
-    layout->setContentsMargins(0, 0, 0, 0);
-    layout->addWidget(label);
-}
-
-KIPI::ImageCollection KIPIUploadWidget::selectedImageCollection() const
-{
-    return mInterface->currentAlbum();
-}
-
-} // namespace
diff --git a/app/kipiuploadwidget.h b/app/kipiuploadwidget.h
deleted file mode 100644
index c10d23ae..00000000
--- a/app/kipiuploadwidget.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// vim: set tabstop=4 shiftwidth=4 expandtab:
-/*
-Gwenview: an image viewer
-Copyright 2008 Aurélien Gâteau <agateau at kde.org>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
-
-*/
-#ifndef KIPIUPLOADWIDGET_H
-#define KIPIUPLOADWIDGET_H
-
-// Qt
-
-// KF
-
-// KIPI
-#include <kipi/imagecollection.h>
-#include <kipi/uploadwidget.h>
-
-// Local
-
-namespace Gwenview
-{
-class KIPIInterface;
-
-class KIPIUploadWidget : public KIPI::UploadWidget
-{
-    Q_OBJECT
-public:
-    KIPIUploadWidget(KIPIInterface *, QWidget *parent);
-
-    KIPI::ImageCollection selectedImageCollection() const override;
-
-private:
-    KIPIInterface *mInterface;
-};
-
-} // namespace
-
-#endif /* KIPIUPLOADWIDGET_H */
diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp
index c65aff0c..96e97a0d 100644
--- a/app/mainwindow.cpp
+++ b/app/mainwindow.cpp
@@ -88,10 +88,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #include "imageopscontextmanageritem.h"
 #include "infocontextmanageritem.h"
 #include "viewmainpage.h"
-#ifdef KIPI_FOUND
-#include "kipiexportaction.h"
-#include "kipiinterface.h"
-#endif
 #ifndef GWENVIEW_SEMANTICINFO_BACKEND_NONE
 #include "semanticinfocontextmanageritem.h"
 #endif
@@ -196,9 +192,6 @@ struct MainWindow::Private {
 #endif
     Preloader *mPreloader;
     bool mPreloadDirectionIsForward;
-#ifdef KIPI_FOUND
-    KIPIInterface *mKIPIInterface;
-#endif
 
     QActionGroup *mViewModeActionGroup;
     KRecentFilesAction *mFileOpenRecentAction;
@@ -219,9 +212,6 @@ struct MainWindow::Private {
 #ifdef KF5Purpose_FOUND
     Purpose::Menu *mShareMenu;
     KToolBarPopupAction *mShareAction;
-#endif
-#ifdef KIPI_FOUND
-    KIPIExportAction *mKIPIExportAction;
 #endif
     KHamburgerMenu *mHamburgerMenu;
 
@@ -513,10 +503,6 @@ struct MainWindow::Private {
 
         view->addAction(KStandardAction::ConfigureToolbars, q, SLOT(configureToolbars()));
 
-#ifdef KIPI_FOUND
-        mKIPIExportAction = new KIPIExportAction(q);
-#endif
-
 #ifdef KF5Purpose_FOUND
         mShareAction = new KToolBarPopupAction(QIcon::fromTheme("document-share"), i18nc("@action Share images", "Share"), q);
         mShareAction->setDelayed(false);
@@ -582,12 +568,6 @@ struct MainWindow::Private {
         menu->addSeparator();
 #ifdef KF5Purpose_FOUND
         menu->addMenu(mShareMenu);
-#endif
-#ifdef KIPI_FOUND
-        QMenu *pluginsMenu = static_cast<QMenu *>(q->guiFactory()->container("plugins", q));
-        if (pluginsMenu) {
-            menu->addMenu(pluginsMenu);
-        }
 #endif
         auto *configureMenu = new QMenu(i18nc("@title:menu submenu for actions that open configuration dialogs", "Configure"));
         configureMenu->addAction(actionCollection->action(QStringLiteral("options_configure_keybinding")));
@@ -982,16 +962,6 @@ MainWindow::MainWindow()
         ratingMenu->menuAction()->setVisible(false);
     }
 #endif
-
-#ifdef KIPI_FOUND
-    d->mKIPIInterface = new KIPIInterface(this);
-    d->mKIPIExportAction->setKIPIInterface(d->mKIPIInterface);
-#else
-    auto *pluginsMenu = static_cast<QMenu *>(guiFactory()->container("plugins", this));
-    if (pluginsMenu) {
-        pluginsMenu->menuAction()->setVisible(false);
-    }
-#endif
     setAutoSaveSettings();
 #ifdef Q_OS_OSX
     qApp->installEventFilter(this);
diff --git a/app/org.kde.gwenview.appdata.xml b/app/org.kde.gwenview.appdata.xml
index c00b7ed0..5bbd7fa9 100644
--- a/app/org.kde.gwenview.appdata.xml
+++ b/app/org.kde.gwenview.appdata.xml
@@ -319,51 +319,6 @@
       <li xml:lang="x-test">xxFunctions both as a standalone application and an embedded viewer in the Konqueror web browserxx</li>
       <li xml:lang="zh-CN">既可以独立运行,也可以作为 Konqueror 网页浏览器的内建图片查看器使用。</li>
       <li xml:lang="zh-TW">可以是單獨的應用程式,也可以嵌入在 Konqueror 瀏覽器中</li>
-      <li>Can be extended using KIPI plugins.</li>
-      <li xml:lang="ar">يمكن توسعة مزاياه عن طريق ملحقات KIPI.</li>
-      <li xml:lang="az">KIPI əlavələri istifadə edilərək funksiyalar genişləndirilə bilər</li>
-      <li xml:lang="ca">Es pot estendre emprant els connectors KIPI.</li>
-      <li xml:lang="ca-valencia">Es pot estendre emprant els connectors KIPI.</li>
-      <li xml:lang="cs">Možnosti lze rozšířit moduly KIPI.</li>
-      <li xml:lang="da">Kan udvides med KIPI-plugins</li>
-      <li xml:lang="de">Kann durch KIPI-Module erweitert werden.</li>
-      <li xml:lang="el">Μπορεί να επεκταθεί με πρόσθετα KIPI.</li>
-      <li xml:lang="en-GB">Can be extended using KIPI plugins.</li>
-      <li xml:lang="es">Se puede extender usando complementos de KIPI.</li>
-      <li xml:lang="et">Saab laiendada KIPI pluginate abil</li>
-      <li xml:lang="eu">Hedatu egin daiteke KIPI pluginak erabiliz.</li>
-      <li xml:lang="fi">Sitä voi laajentaa KIPI-liitännäisillä.</li>
-      <li xml:lang="fr">Peut être étendu en utilisant des modules KIPI.</li>
-      <li xml:lang="gl">Poden ampliarse as súas funcionalidades mediante complementos KIPI.</li>
-      <li xml:lang="hu">KIPI bővítményekkel bővíthető.</li>
-      <li xml:lang="ia">Pote esser extendite usnte le plugins de KIPI.</li>
-      <li xml:lang="id">Dapat diekstensi menggunakan plugin KIPI.</li>
-      <li xml:lang="is">Hægt er að bæta við eiginleikum með KIPI-viðbótum.</li>
-      <li xml:lang="it">Può essere esteso tramite estensioni Kipi.</li>
-      <li xml:lang="ko">KIPI 플러그인을 통한 확장성 제공.</li>
-      <li xml:lang="lt">Gali būti praplėsta naudojant KIPI papildinius.</li>
-      <li xml:lang="nb">Kan utvides med KIPI programtillegg.</li>
-      <li xml:lang="nds">Laat sik mit KIPI-Modulen verwiedern</li>
-      <li xml:lang="nl">Kan uitgebreid worden met KIPI-plug-ins.</li>
-      <li xml:lang="nn">Kan utvidast med KIPI-programtillegg.</li>
-      <li xml:lang="pa">ਕੀਪੀ (KIPI) ਪਲੱਗਇਨਾਂ ਵਰਤ ਕੇ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।</li>
-      <li xml:lang="pl">Możliwość poszerzenia możliwości przez wtyczki KIPI.</li>
-      <li xml:lang="pt">Pode ser alargado com os 'plugins' do KIPI.</li>
-      <li xml:lang="pt-BR">Pode ter suas funcionalidades ampliadas com os plugins do KIPI.</li>
-      <li xml:lang="ro">Poate fi extins folosind extensii KIPI.</li>
-      <li xml:lang="ru">Посредством модулей KIPI могут быть добавлены дополнительные функции</li>
-      <li xml:lang="sk">Môže sa rozšíriť pomocou KIPI pluginov.</li>
-      <li xml:lang="sl">Lahko ga razširite s pomočjo vstavkov KIPI.</li>
-      <li xml:lang="sr">Може се проширивати КИПИ‑јевим прикључцима.</li>
-      <li xml:lang="sr-Latn">Može se proširivati KIPI‑jevim priključcima.</li>
-      <li xml:lang="sr-ijekavian">Може се проширивати КИПИ‑јевим прикључцима.</li>
-      <li xml:lang="sr-ijekavianlatin">Može se proširivati KIPI‑jevim priključcima.</li>
-      <li xml:lang="sv">Kan utökas med KIPI-insticksprogram</li>
-      <li xml:lang="tr">KIPI eklentileri kullanılarak genişletilebilir.</li>
-      <li xml:lang="uk">можливість розширення переліку можливостей за допомогою додатків KIPI.</li>
-      <li xml:lang="x-test">xxCan be extended using KIPI plugins.xx</li>
-      <li xml:lang="zh-CN">可以通过 KIPI 插件扩展功能。</li>
-      <li xml:lang="zh-TW">可以使用 KIPI 外掛程式。</li>
     </ul>
   </description>
   <url type="homepage">https://userbase.kde.org/Gwenview</url>
diff --git a/config-gwenview.h.cmake b/config-gwenview.h.cmake
index 43539beb..10709103 100644
--- a/config-gwenview.h.cmake
+++ b/config-gwenview.h.cmake
@@ -1,7 +1,6 @@
 #cmakedefine GWENVIEW_SEMANTICINFO_BACKEND_NONE 1
 #cmakedefine GWENVIEW_SEMANTICINFO_BACKEND_FAKE 1
 #cmakedefine GWENVIEW_SEMANTICINFO_BACKEND_BALOO 1
-#cmakedefine KIPI_FOUND 1
 #define GV_TEST_DATA_DIR "@CMAKE_CURRENT_SOURCE_DIR@/tests/data"
 #cmakedefine HAVE_X11 ${HAVE_X11}
 #cmakedefine HAVE_FITS ${HAVE_FITS}
diff --git a/doc/index.docbook b/doc/index.docbook
index c591ad42..c6314fd1 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -173,9 +173,6 @@ the changed images.
 
 <!--FIXME all actions also available context menus, where to add that info -->
 
-<tip><para>If you have installed the KIPI Plugins, a <guimenu>Plugins</guimenu>
-menu will be available that will allow you to perform many additional operations
-on your images.</para></tip>
 </sect1>
 
 <sect1 id='browse_mode'><title>Browse Mode</title>
@@ -217,9 +214,6 @@ the next image in the folder.</para></listitem>
 <listitem><para><guiicon>Show Editing Tools</guiicon>: Clicking this button toggles
 the <link linkend="sidebar">Operations sidebar tab</link>.</para></listitem>
 
-<listitem><para><guiicon>Share</guiicon>: Clicking this button opens an export menu to share your images through social
-media and image collection web services. This functionality depends on the list of installed
-KIPI plugins.</para></listitem>
 <listitem><para><guiicon>Full Screen</guiicon>: Switches to Full Screen Mode.</para></listitem>
 </itemizedlist>
 


More information about the kde-doc-english mailing list