void ThemeChooser::itemChanged(MythUIButtonListItem *item) { ThemeInfo *info = qVariantValue<ThemeInfo*>(item->GetData()); if (!info) return; QFileInfo preview(info->GetPreviewPath()); QHash<QString, QString> infomap; info->ToMap(infomap); SetTextFromMap(infomap); if (m_preview) { if (preview.exists()) { m_preview->SetFilename(info->GetPreviewPath()); m_preview->Load(); } else m_preview->Reset(); } if (m_fullPreviewShowing && m_fullPreviewStateType) { if (m_fullScreenPreview) { if (preview.exists()) { m_fullScreenPreview->SetFilename(info->GetPreviewPath()); m_fullScreenPreview->Load(); } else m_fullScreenPreview->Reset(); } if (m_fullScreenName) m_fullScreenName->SetText(info->GetName()); } MythUIStateType *themeLocation = dynamic_cast<MythUIStateType*>(GetChild("themelocation")); if (themeLocation) { if (info->GetDownloadURL().isEmpty()) themeLocation->DisplayState("local"); else themeLocation->DisplayState("remote"); } MythUIStateType *aspectState = dynamic_cast<MythUIStateType*>(GetChild("aspectstate")); if (aspectState) aspectState->DisplayState(info->GetAspect()); }
bool TrackInfoPopup::Create(void) { bool err = false; err = LoadWindowFromXML("music-ui.xml", "trackinfo_popup", this); if (!err) return false; // get map for current track MetadataMap metadataMap; m_metadata->toMap(metadataMap); // add the map from the next track MusicMetadata *nextMetadata = gPlayer->getNextMetadata(); if (nextMetadata) nextMetadata->toMap(metadataMap, "next"); SetTextFromMap(metadataMap); MythUIStateType *ratingState = dynamic_cast<MythUIStateType *>(GetChild("ratingstate")); if (ratingState) ratingState->DisplayState(QString("%1").arg(m_metadata->Rating())); MythUIImage *albumImage = dynamic_cast<MythUIImage *>(GetChild("coverart")); if (albumImage) { if (!m_metadata->getAlbumArtFile().isEmpty()) { albumImage->SetFilename(m_metadata->getAlbumArtFile()); albumImage->Load(); } } m_displayTimer = new QTimer(this); connect(m_displayTimer, SIGNAL(timeout()), this, SLOT(Close())); m_displayTimer->setSingleShot(true); m_displayTimer->start(MUSICINFOPOPUPTIME); return true; }
void ViewScheduled::updateInfo(MythUIButtonListItem *item) { if (!item) return; ProgramInfo *pginfo = qVariantValue<ProgramInfo*> (item->GetData()); if (pginfo) { InfoMap infoMap; pginfo->ToMap(infoMap); SetTextFromMap(infoMap); MythUIStateType *ratingState = dynamic_cast<MythUIStateType*> (GetChild("ratingstate")); if (ratingState) { QString rating = QString::number(pginfo->GetStars(10)); ratingState->DisplayState(rating); } } }
void ProgLister::HandleSelected(MythUIButtonListItem *item) { if (!item) { ClearCurrentProgramInfo(); return; } ProgramInfo *pginfo = qVariantValue<ProgramInfo*> (item->GetData()); if (!pginfo) { ClearCurrentProgramInfo(); return; } InfoMap infoMap; pginfo->ToMap(infoMap); SetTextFromMap(infoMap); if (m_positionText) { m_positionText->SetText( tr("%1 of %2", "Current position in list where %1 is the " "position, %2 is the total count") .arg(m_progList->GetCurrentPos()) .arg(m_progList->GetCount())); } MythUIStateType *ratingState = dynamic_cast<MythUIStateType*> (GetChild("ratingstate")); if (ratingState) { QString rating = QString::number(pginfo->GetStars(10)); ratingState->DisplayState(rating); } }
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); }