}
}
+void
+ContentPanel::set_selection (ContentList cl)
+{
+ ContentList content = _film->content ();
+ for (size_t i = 0; i < content.size(); ++i) {
+ if (find(cl.begin(), cl.end(), content[i]) != cl.end()) {
+ _content->SetItemState (i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
+ } else {
+ _content->SetItemState (i, 0, wxLIST_STATE_SELECTED);
+ }
+ }
+}
+
void
ContentPanel::film_content_changed (int property)
{
- if (property == ContentProperty::PATH || property == DCPContentProperty::CAN_BE_PLAYED) {
+ if (
+ property == ContentProperty::PATH ||
+ property == DCPContentProperty::NEEDS_ASSETS ||
+ property == DCPContentProperty::NEEDS_KDM ||
+ property == DCPContentProperty::NAME
+ ) {
+
setup ();
}
bool const needs_kdm = dcp && dcp->needs_kdm ();
bool const needs_assets = dcp && dcp->needs_assets ();
- string s = i->summary ();
+ wxString s = std_to_wx (i->summary ());
if (!valid) {
s = _("MISSING: ") + s;
wxListItem item;
item.SetId (t);
- item.SetText (std_to_wx (s));
+ item.SetText (s);
item.SetData (i.get ());
_content->InsertItem (item);