diff -Naurp -x '*.orig' mythtv-orig/libs/libmythtv/tv_play.cpp mythtv/libs/libmythtv/tv_play.cpp
old
|
new
|
void TV::ToggleOSD(const PlayerContext * |
6817 | 6817 | bool is_prog_info_small_disp = osd->IsSetDisplaying("program_info_small"); |
6818 | 6818 | bool has_prog_info = osd->HasSet("program_info"); |
6819 | 6819 | bool is_prog_info_disp = osd->IsSetDisplaying("program_info"); |
| 6820 | bool has_prog_video = osd->HasSet("program_info_video"); |
| 6821 | bool has_prog_small_video = osd->HasSet("program_info_small_video"); |
| 6822 | bool has_prog_rec = osd->HasSet("program_info_recording"); |
| 6823 | bool has_prog_small_rec = osd->HasSet("program_info_small_recording"); |
| 6824 | |
6820 | 6825 | ReturnOSDLock(ctx, osd); |
6821 | 6826 | |
6822 | 6827 | ctx->LockPlayingInfo(__FILE__, __LINE__); |
… |
… |
void TV::ToggleOSD(const PlayerContext * |
6824 | 6829 | QString title = ctx->playingInfo->title; |
6825 | 6830 | ctx->UnlockPlayingInfo(__FILE__, __LINE__); |
6826 | 6831 | |
6827 | | bool isDVD = (ctx->buffer && ctx->buffer->isDVD()); |
| 6832 | bool isDVD = (ctx->buffer && ctx->buffer->isDVD()); |
| 6833 | bool is_video = ctx->playingInfo->isVideo; |
| 6834 | bool is_recording = StateIsPlaying(ctx->GetState()) && !is_video; |
| 6835 | |
6828 | 6836 | if (isDVD && desc.isEmpty() && title.isEmpty()) |
6829 | 6837 | { |
6830 | 6838 | // DVD toggles between status and nothing |
… |
… |
void TV::ToggleOSD(const PlayerContext * |
6835 | 6843 | } |
6836 | 6844 | else if (is_status_disp) |
6837 | 6845 | { |
6838 | | if (has_prog_info_small) |
| 6846 | if (is_video && has_prog_small_video) |
| 6847 | UpdateOSDProgInfo(ctx, "program_info_small_video"); |
| 6848 | else if (is_video && has_prog_video) |
| 6849 | UpdateOSDProgInfo(ctx, "program_info_video"); |
| 6850 | else if (is_recording && has_prog_small_rec) |
| 6851 | UpdateOSDProgInfo(ctx, "program_info_small_recording"); |
| 6852 | else if (is_recording && has_prog_video) |
| 6853 | UpdateOSDProgInfo(ctx, "program_info_recording"); |
| 6854 | else if (has_prog_info_small) |
6839 | 6855 | UpdateOSDProgInfo(ctx, "program_info_small"); |
6840 | 6856 | else |
6841 | 6857 | UpdateOSDProgInfo(ctx, "program_info"); |
… |
… |
void TV::ToggleOSD(const PlayerContext * |
6843 | 6859 | else if (is_prog_info_small_disp) |
6844 | 6860 | { |
6845 | 6861 | // If small is displaying, show long if we have it, else hide info |
6846 | | if (has_prog_info) |
| 6862 | if (is_video && has_prog_video) |
| 6863 | UpdateOSDProgInfo(ctx, "program_info_video"); |
| 6864 | if (is_recording && has_prog_rec) |
| 6865 | UpdateOSDProgInfo(ctx, "program_info_recording"); |
| 6866 | else if (has_prog_info) |
6847 | 6867 | UpdateOSDProgInfo(ctx, "program_info"); |
6848 | 6868 | else |
6849 | 6869 | hideAll = true; |
… |
… |
void TV::ToggleOSD(const PlayerContext * |
6862 | 6882 | { |
6863 | 6883 | // No status desired? Nothing is up, Display small if we have, |
6864 | 6884 | // else display long |
6865 | | if (has_prog_info_small) |
| 6885 | if (is_video && has_prog_small_video) |
| 6886 | UpdateOSDProgInfo(ctx, "program_info_small_video"); |
| 6887 | if (is_video && has_prog_video) |
| 6888 | UpdateOSDProgInfo(ctx, "program_info_video"); |
| 6889 | if (is_recording && has_prog_small_rec) |
| 6890 | UpdateOSDProgInfo(ctx, "program_info_small_recording"); |
| 6891 | if (is_recording && has_prog_rec) |
| 6892 | UpdateOSDProgInfo(ctx, "program_info_recording"); |
| 6893 | else if (has_prog_info_small) |
6866 | 6894 | UpdateOSDProgInfo(ctx, "program_info_small"); |
6867 | 6895 | else |
6868 | 6896 | UpdateOSDProgInfo(ctx, "program_info"); |