Merge master.
[dcpomatic.git] / src / wx / film_editor.cc
index 252a89719a5a718d832a807a1d45226118f41426..0c70d4b3efc3d12c092dddda5ab72be55e970b58 100644 (file)
@@ -439,9 +439,6 @@ FilmEditor::film_changed (Film::Property p)
                checked_set (_name, _film->name());
                setup_dcp_name ();
                break;
-       case Film::WITH_SUBTITLES:
-               setup_dcp_name ();
-               break;
        case Film::DCP_CONTENT_TYPE:
                checked_set (_dcp_content_type, DCPContentType::as_index (_film->dcp_content_type ()));
                setup_dcp_name ();
@@ -528,10 +525,12 @@ FilmEditor::film_content_changed (int property)
                (*i)->film_content_changed (property);
        }
 
-       if (property == FFmpegContentProperty::AUDIO_STREAM) {
+       if (property == FFmpegContentProperty::AUDIO_STREAM || property == SubtitleContentProperty::SUBTITLE_USE) {
                setup_dcp_name ();
        } else if (property == ContentProperty::PATH) {
                setup_content ();
+       } else if (property == ContentProperty::POSITION) {
+               setup_content ();
        }
 }
 
@@ -615,7 +614,6 @@ FilmEditor::set_film (shared_ptr<Film> f)
        film_changed (Film::CONTAINER);
        film_changed (Film::RESOLUTION);
        film_changed (Film::SCALER);
-       film_changed (Film::WITH_SUBTITLES);
        film_changed (Film::SIGNED);
        film_changed (Film::ENCRYPTED);
        film_changed (Film::J2K_BANDWIDTH);
@@ -753,6 +751,8 @@ FilmEditor::setup_content ()
        _content->DeleteAllItems ();
 
        ContentList content = _film->content ();
+       sort (content.begin(), content.end(), ContentSorter ());
+       
        for (ContentList::iterator i = content.begin(); i != content.end(); ++i) {
                int const t = _content->GetItemCount ();
                bool const valid = (*i)->paths_valid ();
@@ -761,7 +761,7 @@ FilmEditor::setup_content ()
                if (!valid) {
                        s = _("MISSING: ") + s;
                }
-                       
+
                _content->InsertItem (t, std_to_wx (s));
 
                if ((*i)->summary() == selected_summary) {