diff --git a/io/previewgenerator.cpp b/io/previewgenerator.cpp index 034301199..c96357aff 100644 --- a/io/previewgenerator.cpp +++ b/io/previewgenerator.cpp @@ -172,17 +172,20 @@ void PreviewGenerator::finalize_media() { media->ready_lock.unlock(); media->ready = true; - if (media->video_tracks.size() == 0) { - emit set_icon(ICON_TYPE_AUDIO, replace); - } else { - emit set_icon(ICON_TYPE_VIDEO, replace); - } - if (!contains_still_image || media->audio_tracks.size() > 0) { - double frame_rate = 30; - if (!contains_still_image && media->video_tracks.size() > 0) frame_rate = media->video_tracks.at(0)->video_frame_rate; + if (media->video_tracks.size() == 0) { + emit set_icon(ICON_TYPE_AUDIO, replace); + } else if (contains_still_image) { + emit set_icon(ICON_TYPE_IMAGE, replace); + } else { + emit set_icon(ICON_TYPE_VIDEO, replace); + } + + if (!contains_still_image || media->audio_tracks.size() > 0) { + double frame_rate = 30; + if (!contains_still_image && media->video_tracks.size() > 0) frame_rate = media->video_tracks.at(0)->video_frame_rate; item->setText(1, frame_to_timecode(media->get_length_in_frames(frame_rate), config.timecode_view, frame_rate)); - } + } } void PreviewGenerator::generate_waveform() { diff --git a/io/previewgenerator.h b/io/previewgenerator.h index c3e479500..b1dd512f5 100644 --- a/io/previewgenerator.h +++ b/io/previewgenerator.h @@ -5,7 +5,8 @@ #define ICON_TYPE_VIDEO 0 #define ICON_TYPE_AUDIO 1 -#define ICON_TYPE_ERROR 2 +#define ICON_TYPE_IMAGE 2 +#define ICON_TYPE_ERROR 3 struct Media; struct MediaStream; diff --git a/panels/project.cpp b/panels/project.cpp index f8ab360f8..cc3d7b1b0 100644 --- a/panels/project.cpp +++ b/panels/project.cpp @@ -1597,6 +1597,7 @@ void MediaThrobber::stop(int icon_type, bool replace) { switch (icon_type) { case ICON_TYPE_VIDEO: item->setIcon(0, QIcon(":/icons/videosource.png")); break; case ICON_TYPE_AUDIO: item->setIcon(0, QIcon(":/icons/audiosource.png")); break; + case ICON_TYPE_IMAGE: item->setIcon(0, QIcon(":/icons/imagesource.png")); break; case ICON_TYPE_ERROR: item->setIcon(0, QIcon::fromTheme("dialog-error")); break; }