void OSD::SetGraph(const QString &window, const QString &graph, int64_t timecode) { MythScreenType *win = GetWindow(window); if (!win) return; MythUIImage *image = dynamic_cast<MythUIImage* >(win->GetChild(graph)); if (!image) return; MythImage* mi = m_parent->GetAudioGraph().GetImage(timecode); if (mi) image->SetImage(mi); }
void OSD::SetValues(const QString &window, const QHash<QString,int> &map, OSDTimeout timeout) { MythScreenType *win = GetWindow(window); if (!win) return; bool found = false; if (map.contains("position")) { MythUIProgressBar *bar = dynamic_cast<MythUIProgressBar *> (win->GetChild("position")); if (bar) { bar->SetVisible(true); bar->SetStart(0); bar->SetTotal(1000); bar->SetUsed(map.value("position")); found = true; } } if (map.contains("relposition")) { MythUIProgressBar *bar = dynamic_cast<MythUIProgressBar *> (win->GetChild("relposition")); if (bar) { bar->SetVisible(true); bar->SetStart(0); bar->SetTotal(1000); bar->SetUsed(map.value("relposition")); found = true; } } if (found) SetExpiry(window, timeout); }
void OSD::SetValues(const QString &window, const QHash<QString,float> &map, OSDTimeout timeout) { MythScreenType *win = GetWindow(window); if (!win) return; bool found = false; if (map.contains("position")) { MythUIEditBar *edit = dynamic_cast<MythUIEditBar *> (win->GetChild("editbar")); if (edit) edit->SetEditPosition(map.value("position")); } if (found) SetExpiry(window, timeout); }
void OSD::SetRegions(const QString &window, frm_dir_map_t &map, long long total) { MythScreenType *win = GetWindow(window); if (!win) return; MythUIEditBar *bar = dynamic_cast<MythUIEditBar*>(win->GetChild("editbar")); if (!bar) return; bar->ClearRegions(); if (!map.size() || total < 1) { bar->Display(); return; } long long start = -1; long long end = -1; bool first = true; QMapIterator<uint64_t, MarkTypes> it(map); while (it.hasNext()) { bool error = false; it.next(); if (it.value() == MARK_CUT_START) { start = it.key(); if (end > -1) error = true; } else if (it.value() == MARK_CUT_END) { if (first) start = 0; if (start < 0) error = true; end = it.key(); } else if (it.value() == MARK_PLACEHOLDER) { start = end = it.key(); } first = false; if (error) { LOG(VB_GENERAL, LOG_ERR, LOC + "deleteMap discontinuity"); start = -1; end = -1; } if (start >=0 && end >= 0) { bar->AddRegion((float)((double)start/(double)total), (float)((double)end/(double)total)); start = -1; end = -1; } } if (start > -1 && end < 0) bar->AddRegion((float)((double)start/(double)total), 1.0f); bar->Display(); }
void OSD::SetText(const QString &window, const InfoMap &map, OSDTimeout timeout) { MythScreenType *win = GetWindow(window); if (!win) return; if (map.contains("numstars")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("ratingstate")); if (state) state->DisplayState(map["numstars"]); } if (map.contains("tvstate")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("tvstate")); if (state) state->DisplayState(map["tvstate"]); } if (map.contains("videocodec")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("videocodec")); if (state) state->DisplayState(map["videocodec"]); } if (map.contains("videodescrip")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("videodescrip")); if (state) state->DisplayState(map["videodescrip"]); } if (map.contains("audiocodec")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("audiocodec")); if (state) state->DisplayState(map["audiocodec"]); } if (map.contains("audiochannels")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("audiochannels")); if (state) state->DisplayState(map["audiochannels"]); } if (map.contains("chanid")) { MythUIImage *icon = dynamic_cast<MythUIImage *> (win->GetChild("iconpath")); if (icon) { icon->Reset(); uint chanid = map["chanid"].toUInt(); QString iconpath; if (map.contains("iconpath")) iconpath = map["iconpath"]; else iconpath = ChannelUtil::GetIcon(chanid); if (!iconpath.isEmpty()) { QString iconurl = gCoreContext->GetMasterHostPrefix("ChannelIcons", iconpath); icon->SetFilename(iconurl); icon->Load(false); } } } if (map.contains("inetref")) { MythUIImage *cover = dynamic_cast<MythUIImage *> (win->GetChild("coverart")); if (cover && map.contains("coverartpath")) { QString coverpath = map["coverartpath"]; cover->SetFilename(coverpath); cover->Load(false); } MythUIImage *fanart = dynamic_cast<MythUIImage *> (win->GetChild("fanart")); if (fanart && map.contains("fanartpath")) { QString fanartpath = map["fanartpath"]; fanart->SetFilename(fanartpath); fanart->Load(false); } MythUIImage *banner = dynamic_cast<MythUIImage *> (win->GetChild("banner")); if (banner && map.contains("bannerpath")) { QString bannerpath = map["bannerpath"]; banner->SetFilename(bannerpath); banner->Load(false); } MythUIImage *screenshot = dynamic_cast<MythUIImage *> (win->GetChild("screenshot")); if (screenshot && map.contains("screenshotpath")) { QString screenshotpath = map["screenshotpath"]; screenshot->SetFilename(screenshotpath); screenshot->Load(false); } } if (map.contains("nightmode")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("nightmode")); if (state) state->DisplayState(map["nightmode"]); } if (map.contains("mediatype")) { MythUIStateType *state = dynamic_cast<MythUIStateType *> (win->GetChild("mediatype")); if (state) state->DisplayState(map["mediatype"]); } MythUIProgressBar *bar = dynamic_cast<MythUIProgressBar *>(win->GetChild("elapsedpercent")); if (bar) { int startts = map["startts"].toInt(); int endts = map["endts"].toInt(); int nowts = MythDate::current().toTime_t(); if (startts > nowts) { bar->SetUsed(0); } else if (endts < nowts) { bar->SetUsed(1000); } else { int duration = endts - startts; if (duration > 0) bar->SetUsed(1000 * (nowts - startts) / duration); else bar->SetUsed(0); } bar->SetVisible(startts > 0); bar->SetStart(0); bar->SetTotal(1000); } win->SetVisible(true); if (win == m_Dialog) { ChannelEditor *edit = dynamic_cast<ChannelEditor*>(m_Dialog); if (edit) edit->SetText(map); } else win->SetTextFromMap(map); SetExpiry(window, timeout); }