diff --git a/app/kipiexportaction.cpp b/app/kipiexportaction.cpp --- a/app/kipiexportaction.cpp +++ b/app/kipiexportaction.cpp @@ -113,7 +113,7 @@ void KIPIExportAction::setDefaultAction(QAction* action) { - if (action == d->mDefaultAction) { + if (action == d->mDefaultAction || action == d->mKIPIInterface->installPluginAction()) { return; } d->mDefaultAction = action; diff --git a/app/kipiinterface.h b/app/kipiinterface.h --- a/app/kipiinterface.h +++ b/app/kipiinterface.h @@ -68,6 +68,8 @@ virtual KIPI::UploadWidget* uploadWidget(QWidget *parent); QList pluginActions(KIPI::Category) const; + + QAction* installPluginAction() const; bool isLoadingFinished() const; diff --git a/app/kipiinterface.cpp b/app/kipiinterface.cpp --- a/app/kipiinterface.cpp +++ b/app/kipiinterface.cpp @@ -373,7 +373,11 @@ if (isLoadingFinished()) { QList list = d->mMenuInfoMap.value(category).mActions; if (list.isEmpty()) { - list << d->mNoPluginAction; + if (KIO::DesktopExecParser::hasSchemeHandler(QUrl(KIPI_PLUGINS_URL))) { + list << d->mInstallPluginAction; + } else { + list << d->mNoPluginAction; + } } return list; } else { @@ -381,6 +385,11 @@ } } +QAction* KIPIInterface::installPluginAction() const +{ + return d->mInstallPluginAction; +} + bool KIPIInterface::isLoadingFinished() const { if (!d->mPluginLoader) {