void KonqPopupMenuPrivate::addPlugins() { QString commonMimeType = m_popupItemProperties.mimeType(); if (commonMimeType.isEmpty()) { commonMimeType = QLatin1String("application/octet-stream"); } const KService::List konqPlugins = KMimeTypeTrader::self()->query(commonMimeType, "KonqPopupMenu/Plugin", "exist Library"); if (!konqPlugins.isEmpty()) { m_popupMenuInfo.setItemListProperties(m_popupItemProperties); m_popupMenuInfo.setParentWidget(m_parentWidget); KService::List::ConstIterator iterator = konqPlugins.begin(); const KService::List::ConstIterator end = konqPlugins.end(); for(; iterator != end; ++iterator) { //kDebug() << (*iterator)->name() << (*iterator)->library(); KonqPopupMenuPlugin *plugin = (*iterator)->createInstance<KonqPopupMenuPlugin>(q); if (!plugin) continue; plugin->setParent(q); plugin->setup(&m_ownActionCollection, m_popupMenuInfo, q); } } const KService::List fileItemPlugins = KMimeTypeTrader::self()->query(commonMimeType, "KFileItemAction/Plugin", "exist Library"); if (!fileItemPlugins.isEmpty()) { const KConfig config("kservicemenurc", KConfig::NoGlobals); const KConfigGroup showGroup = config.group("Show"); foreach (const KSharedPtr<KService>& service, fileItemPlugins) { if (!showGroup.readEntry(service->desktopEntryName(), true)) { // The plugin has been disabled continue; } // Old API (kdelibs-4.6.0 only) KFileItemActionPlugin* plugin = service->createInstance<KFileItemActionPlugin>(); if (plugin) { plugin->setParent(q); q->addActions(plugin->actions(m_popupItemProperties, m_parentWidget)); } // New API (kdelibs >= 4.6.1) KAbstractFileItemActionPlugin* abstractPlugin = service->createInstance<KAbstractFileItemActionPlugin>(); if (abstractPlugin) { abstractPlugin->setParent(q); q->addActions(abstractPlugin->actions(m_popupItemProperties, m_parentWidget)); } } } }
void KonqPopupMenuPrivate::addPlugins() { QString commonMimeType = m_popupItemProperties.mimeType(); if (commonMimeType.isEmpty()) { commonMimeType = QLatin1String("application/octet-stream"); } const KService::List fileItemPlugins = KMimeTypeTrader::self()->query(commonMimeType, QStringLiteral("KFileItemAction/Plugin"), QStringLiteral("exist Library")); if (!fileItemPlugins.isEmpty()) { const KConfig config(QStringLiteral("kservicemenurc"), KConfig::NoGlobals); const KConfigGroup showGroup = config.group("Show"); foreach (const auto &service, fileItemPlugins) { if (!showGroup.readEntry(service->desktopEntryName(), true)) { // The plugin has been disabled continue; } KAbstractFileItemActionPlugin *abstractPlugin = service->createInstance<KAbstractFileItemActionPlugin>(); if (abstractPlugin) { abstractPlugin->setParent(q); q->addActions(abstractPlugin->actions(m_popupItemProperties, m_parentWidget)); } } } }
void KonqPopupMenuPrivate::addGroup(const QString& name) { QList<QAction *> actions = m_actionGroups.value(name); q->addActions(actions); }
void KonqPopupMenuPrivate::addGroup(KonqPopupMenu::ActionGroup group) { q->addActions(m_actionGroups.value(group)); }