24 const auto act = menu->addAction (var.
Icon_, var.
Name_);
25 QObject::connect (act,
27 [var, actor] ()
mutable { actor (var); });
37 QStringLiteral (
"x-leechcraft/data-filter-request"));
40 auto ii = qobject_cast<IInfo*> (plugin);
41 auto idf = qobject_cast<IDataFilter*> (plugin);
45 const auto& vars = idf->GetFilterVariants (dataVar);
52 entity.Additional_ [QStringLiteral (
"DataFilter")] = var.
ID_;
55 ChosenPlugin_ = qobject_cast<IInfo*> (plugin)->GetUniqueID ();
56 ChosenVariant_ = var.
ID_;
59 if (vars.size () == 1)
60 AddDatafilterMenuItem (vars.value (0), menu, actor);
63 auto searchMenu = menu->addMenu (ii->GetIcon (), idf->GetFilterVerb ());
64 for (
const auto& var : vars)
65 AddDatafilterMenuItem (var, searchMenu, actor);
77 return ChosenVariant_;
Proxy to core entity manager.
virtual bool HandleEntity(LC::Entity entity, QObject *desired=nullptr)=0
Handles the given entity.
virtual QList< QObject * > GetPossibleHandlers(const LC::Entity &entity)=0
Queries what plugins can handle the given entity.
Entity MakeEntity(const QVariant &entity, const QString &location, TaskParameters tp, const QString &mime)
Describes a single filter variant supported by this data filter.
QByteArray ID_
The ID of this filter variant.
QIcon Icon_
The icon representing the filter variant.
QString Name_
The human-readable name of the filter variant.