44 struct DataFilterActionInfo
60 StdDataFilterMenuCreator::StdDataFilterMenuCreator (
const QVariant& dataVar,
IEntityManager *em, QMenu *menu)
67 "x-leechcraft/data-filter-request");
70 auto ii = qobject_cast<
IInfo*> (plugin);
80 auto searchMenu = menu->addMenu (ii->GetIcon (), idf->GetFilterVerb ());
81 searchMenu->menuAction ()->setIcon (ii->GetIcon ());
82 for (
const auto& var : vars)
84 auto act = searchMenu->addAction (var.Name_);
85 const DataFilterActionInfo info =
91 act->setData (QVariant::fromValue (info));
93 SIGNAL (triggered ()),
95 SLOT (handleDataFilterAction ()));
100 void StdDataFilterMenuCreator::handleDataFilterAction ()
102 auto action = qobject_cast<QAction*> (sender ());
103 const auto& data = action->data ().value<DataFilterActionInfo> ();
105 auto entity = data.Entity_;
106 entity.Additional_ [
"DataFilter"] = data.VarID_;
Proxy to core entity manager.
virtual QList< FilterVariant > GetFilterVariants() const =0
virtual bool HandleEntity(LeechCraft::Entity entity, QObject *desired=0)=0
Handles the given entity.
Base interface for data filter plugins.
virtual QList< QObject * > GetPossibleHandlers(const LeechCraft::Entity &entity)=0
Queries what plugins can handle the given entity.
UTIL_API Entity MakeEntity(const QVariant &entity, const QString &location, LeechCraft::TaskParameters tp, const QString &mime=QString())
An utility function to make a Entity.
Required interface for every plugin.
Q_DECLARE_METATYPE(LeechCraft::IHookProxy_ptr)