15 this->reloadFilters();
22 for (
const auto &f : *filters)
24 if (filterIds.contains(f->getId()))
25 this->filters_.insert(f->getId(), f);
30 this->reloadFilters();
36 this->listener_.disconnect();
41 if (this->filters_.size() == 0)
46 for (
const auto &f : this->filters_.values())
48 if (!f->valid() || !f->filter(context))
57 return this->filters_.keys();
61 QMap<QUuid, FilterRecordPtr> filters_;
62 pajlada::Signals::Connection listener_;
67 for (
const auto &key : this->filters_.keys())
70 for (
const auto &f : *filters)
72 if (f->getId() == key)
75 this->filters_.insert(key, f);
80 this->filters_.remove(key);
~FilterSet()
Definition: FilterSet.hpp:34
ContextMap buildContextMap(const MessagePtr &m, chatterino::Channel *channel)
Definition: FilterParser.cpp:10
FilterSet(const QList< QUuid > &filterIds)
Definition: FilterSet.hpp:19
Definition: FilterSet.hpp:8
Definition: Application.cpp:48
bool filter(const MessagePtr &m, ChannelPtr channel) const
Definition: FilterSet.hpp:39
pajlada::Signals::NoArgSignal delayedItemsChanged
Definition: SignalVector.hpp:26
SignalVector< FilterRecordPtr > & filterRecords
Definition: Settings.hpp:41
QMap< QString, QVariant > ContextMap
Definition: Types.hpp:10
const QList< QUuid > filterIds() const
Definition: FilterSet.hpp:55
FilterSet()
Definition: FilterSet.hpp:11
std::shared_ptr< const std::vector< T > > readOnly()
A read-only version of the vector which can be used concurrently.
Definition: SignalVector.hpp:50
std::shared_ptr< const Message > MessagePtr
Definition: Channel.hpp:18
std::shared_ptr< Channel > ChannelPtr
Definition: Channel.hpp:125
std::shared_ptr< FilterSet > FilterSetPtr
Definition: FilterSet.hpp:86
ConcurrentSettings & getCSettings()
Definition: Settings.cpp:113