+ std::size_t find(const T &v) const
+ {
+ for(std::size_t i=0; i<items.size(); ++i)
+ if(items[i]==v)
+ return i;
+ return std::numeric_limits<std::size_t>::max();
+ }
+
+ using ListData::refresh;
+ void refresh(const T &v) const
+ {
+ std::size_t i = find(v);
+ if(i<items.size())
+ signal_refresh_item.emit(i);
+ }
+
+ void remove(std::size_t i)