本文整理汇总了C++中CGUIImage::SetFileName方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIImage::SetFileName方法的具体用法?C++ CGUIImage::SetFileName怎么用?C++ CGUIImage::SetFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIImage
的用法示例。
在下文中一共展示了CGUIImage::SetFileName方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetService
bool CGUIDialogSubtitles::SetService(const std::string &service)
{
if (service != m_currentService)
{
m_currentService = service;
CLog::Log(LOGDEBUG, "New Service [%s] ", m_currentService.c_str());
CFileItemPtr currentService = GetService();
// highlight this item in the skin
for (int i = 0; i < m_serviceItems->Size(); i++)
{
CFileItemPtr pItem = m_serviceItems->Get(i);
pItem->Select(pItem == currentService);
}
SET_CONTROL_LABEL(CONTROL_NAMELABEL, currentService->GetLabel());
CGUIImage* image = (CGUIImage*)GetControl(CONTROL_NAMELOGO);
if (image)
{
std::string icon = URIUtils::AddFileToFolder(currentService->GetProperty("Addon.Path").asString(), "logo.png");
image->SetFileName(icon);
}
if (g_application.m_pPlayer->GetSubtitleCount() == 0)
SET_CONTROL_HIDDEN(CONTROL_SUBSEXIST);
else
SET_CONTROL_VISIBLE(CONTROL_SUBSEXIST);
return true;
}
return false;
}
示例2: SetupPage
void CGUIDialogProfileSettings::SetupPage()
{
CGUIDialogSettings::SetupPage();
SET_CONTROL_LABEL(1000,m_strName);
SET_CONTROL_LABEL(1001,m_strDirectory);
CGUIImage *pImage = (CGUIImage*)GetControl(2);
if (pImage)
pImage->SetFileName(!m_strThumb.IsEmpty() ? m_strThumb : m_strDefaultImage);
}
示例3: DoWork
bool CGUIDialogKaiToast::DoWork()
{
CSingleLock lock(m_critical);
if (m_notifications.size() > 0 &&
CTimeUtils::GetFrameTime() - m_timer > m_toastMessageTime)
{
Notification toast = m_notifications.front();
m_notifications.pop();
lock.Leave();
m_toastDisplayTime = toast.displayTime;
m_toastMessageTime = toast.messageTime;
CSingleLock lock2(g_graphicsContext);
if(!Initialize())
return false;
SET_CONTROL_LABEL(POPUP_CAPTION_TEXT, toast.caption);
SET_CONTROL_LABEL(POPUP_NOTIFICATION_BUTTON, toast.description);
CGUIImage *image = (CGUIImage *)GetControl(POPUP_ICON);
if (image)
{
CStdString strTypeImage = toast.imagefile;
if (strTypeImage.IsEmpty())
{
CGUIImage *typeImage = NULL;
if (toast.eType == Info)
typeImage = (CGUIImage *)GetControl(POPUP_ICON_INFO);
else if (toast.eType == Warning)
typeImage = (CGUIImage *)GetControl(POPUP_ICON_WARNING);
else if (toast.eType == Error)
typeImage = (CGUIImage *)GetControl(POPUP_ICON_ERROR);
else
typeImage = image;
strTypeImage = typeImage->GetFileName();
}
image->SetFileName(strTypeImage);
}
// Play the window specific init sound for each notification queued
SetSound(toast.withSound);
ResetTimer();
return true;
}
return false;
}
示例4: DoWork
bool CGUIDialogKaiToast::DoWork()
{
CSingleLock lock(m_critical);
if (m_notifications.size() > 0 &&
CTimeUtils::GetFrameTime() - m_timer > m_toastMessageTime)
{
Notification toast = m_notifications.front();
m_notifications.pop();
lock.Leave();
m_toastDisplayTime = toast.displayTime;
m_toastMessageTime = toast.messageTime;
CSingleLock lock2(g_graphicsContext);
if(!Initialize())
return false;
SET_CONTROL_LABEL(POPUP_CAPTION_TEXT, toast.caption);
SET_CONTROL_LABEL(POPUP_NOTIFICATION_BUTTON, toast.description);
CGUIImage *image = (CGUIImage *)GetControl(POPUP_ICON);
if (image)
{
if (!toast.imagefile.IsEmpty())
image->SetFileName(toast.imagefile);
else
image->SetFileName(m_defaultIcon);
}
// Play the window specific init sound for each notification queued
SetSound(toast.withSound);
ResetTimer();
return true;
}
return false;
}
示例5: set_filename
void Interface_GUIControlImage::set_filename(void* kodiBase, void* handle, const char* filename, bool use_cache)
{
CAddonDll* addon = static_cast<CAddonDll*>(kodiBase);
CGUIImage* control = static_cast<CGUIImage*>(handle);
if (!addon || !control || !filename)
{
CLog::Log(LOGERROR, "Interface_GUIControlImage::%s - invalid handler data (kodiBase='%p', handle='%p', filename='%p') on addon '%s'",
__FUNCTION__, addon, control, filename, addon ? addon->ID().c_str() : "unknown");
return;
}
control->SetFileName(filename, false, use_cache);
}
示例6: UpdateButtons
void CGUIWindowWeather::UpdateButtons()
{
CONTROL_ENABLE(CONTROL_BTNREFRESH);
SET_CONTROL_LABEL(CONTROL_BTNREFRESH, 184); //Refresh
SET_CONTROL_LABEL(WEATHER_LABEL_LOCATION, g_weatherManager.GetLocation(m_iCurWeather));
SET_CONTROL_LABEL(CONTROL_LABELUPDATED, g_weatherManager.GetLastUpdateTime());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_COND, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_COND));
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_TEMP, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_TEMP) + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_FEEL, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_FEEL) + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_UVID, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_UVID));
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_WIND, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_WIND));
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_DEWP, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_DEWP) + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_HUMI, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_HUMI));
CGUIImage *pImage = (CGUIImage *)GetControl(WEATHER_IMAGE_CURRENT_ICON);
if (pImage) pImage->SetFileName(g_weatherManager.GetInfo(WEATHER_IMAGE_CURRENT_ICON));
//static labels
SET_CONTROL_LABEL(CONTROL_STATICTEMP, 401); //Temperature
SET_CONTROL_LABEL(CONTROL_STATICFEEL, 402); //Feels Like
SET_CONTROL_LABEL(CONTROL_STATICUVID, 403); //UV Index
SET_CONTROL_LABEL(CONTROL_STATICWIND, 404); //Wind
SET_CONTROL_LABEL(CONTROL_STATICDEWP, 405); //Dew Point
SET_CONTROL_LABEL(CONTROL_STATICHUMI, 406); //Humidity
for (int i = 0; i < NUM_DAYS; i++)
{
SET_CONTROL_LABEL(CONTROL_LABELD0DAY + (i*10), g_weatherManager.GetForecast(i).m_day);
SET_CONTROL_LABEL(CONTROL_LABELD0HI + (i*10), g_weatherManager.GetForecast(i).m_high + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(CONTROL_LABELD0LOW + (i*10), g_weatherManager.GetForecast(i).m_low + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(CONTROL_LABELD0GEN + (i*10), g_weatherManager.GetForecast(i).m_overview);
pImage = (CGUIImage *)GetControl(CONTROL_IMAGED0IMG + (i * 10));
if (pImage) pImage->SetFileName(g_weatherManager.GetForecast(i).m_icon);
}
}
示例7: Update
void CGUIDialogMusicInfo::Update()
{
if (m_bArtistInfo)
{
CONTROL_ENABLE(CONTROL_BTN_GET_FANART);
SetLabel(CONTROL_TEXTAREA, m_artist.strBiography);
CGUIMessage message(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_albumSongs);
OnMessage(message);
if (GetControl(CONTROL_BTN_TRACKS)) // if no CONTROL_BTN_TRACKS found - allow skinner full visibility control over CONTROL_TEXTAREA and CONTROL_LIST
{
if (m_bViewReview)
{
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
SET_CONTROL_HIDDEN(CONTROL_LIST);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 21888);
}
else
{
SET_CONTROL_VISIBLE(CONTROL_LIST);
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 21887);
}
}
}
else
{
CONTROL_DISABLE(CONTROL_BTN_GET_FANART);
SetLabel(CONTROL_TEXTAREA, m_album.strReview);
CGUIMessage message(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_albumSongs);
OnMessage(message);
if (GetControl(CONTROL_BTN_TRACKS)) // if no CONTROL_BTN_TRACKS found - allow skinner full visibility control over CONTROL_TEXTAREA and CONTROL_LIST
{
if (m_bViewReview)
{
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
SET_CONTROL_HIDDEN(CONTROL_LIST);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 182);
}
else
{
SET_CONTROL_VISIBLE(CONTROL_LIST);
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 183);
}
}
}
// update the thumbnail
const CGUIControl* pControl = GetControl(CONTROL_IMAGE);
if (pControl)
{
CGUIImage* pImageControl = (CGUIImage*)pControl;
pImageControl->FreeResources();
pImageControl->SetFileName(m_albumItem->GetThumbnailImage());
}
// disable the GetThumb button if the user isn't allowed it
CONTROL_ENABLE_ON_CONDITION(CONTROL_BTN_GET_THUMB, g_settings.GetCurrentProfile().canWriteDatabases() || g_passwordManager.bMasterUser);
if (!m_album.artist.empty() && CLastFmManager::GetInstance()->IsLastFmEnabled())
{
SET_CONTROL_VISIBLE(CONTROL_BTN_LASTFM);
}
else
{
SET_CONTROL_HIDDEN(CONTROL_BTN_LASTFM);
}
}
示例8: Update
void CGUIDialogVideoInfo::Update()
{
// setup plot text area
CStdString strTmp = m_movieItem->GetVideoInfoTag()->m_strPlot;
if (!(!m_movieItem->GetVideoInfoTag()->m_strShowTitle.IsEmpty() && m_movieItem->GetVideoInfoTag()->m_iSeason == 0)) // dont apply to tvshows
if (m_movieItem->GetVideoInfoTag()->m_playCount == 0 && !g_guiSettings.GetBool("videolibrary.showunwatchedplots"))
strTmp = g_localizeStrings.Get(20370);
strTmp.Trim();
SetLabel(CONTROL_TEXTAREA, strTmp);
CGUIMessage msg(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_castList);
OnMessage(msg);
if (GetControl(CONTROL_BTN_TRACKS)) // if no CONTROL_BTN_TRACKS found - allow skinner full visibility control over CONTROL_TEXTAREA and CONTROL_LIST
{
if (m_bViewReview)
{
if (!m_movieItem->GetVideoInfoTag()->m_strArtist.IsEmpty())
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 133);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 206);
}
SET_CONTROL_HIDDEN(CONTROL_LIST);
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 207);
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
SET_CONTROL_VISIBLE(CONTROL_LIST);
}
}
// Check for resumability
if (CGUIWindowVideoBase::GetResumeItemOffset(m_movieItem.get()) > 0)
CONTROL_ENABLE(CONTROL_BTN_RESUME);
else
CONTROL_DISABLE(CONTROL_BTN_RESUME);
CONTROL_ENABLE(CONTROL_BTN_PLAY);
// update the thumbnail
const CGUIControl* pControl = GetControl(CONTROL_IMAGE);
if (pControl)
{
CGUIImage* pImageControl = (CGUIImage*)pControl;
pImageControl->FreeResources();
pImageControl->SetFileName(m_movieItem->GetThumbnailImage());
}
// tell our GUI to completely reload all controls (as some of them
// are likely to have had this image in use so will need refreshing)
if (m_hasUpdatedThumb)
{
CGUIMessage reload(GUI_MSG_NOTIFY_ALL, 0, 0, GUI_MSG_REFRESH_THUMBS);
g_windowManager.SendMessage(reload);
}
}
示例9: OnSettingChanged
void CGUIDialogProfileSettings::OnSettingChanged(SettingInfo &setting)
{
// check and update anything that needs it
if (setting.id == 1)
{
if (CGUIKeyboardFactory::ShowAndGetInput(m_strName,g_localizeStrings.Get(20093),false))
{
m_bNeedSave = true;
SET_CONTROL_LABEL(1000,m_strName);
}
}
if (setting.id == 2)
{
CStdString strThumb;
VECSOURCES shares;
g_mediaManager.GetLocalDrives(shares);
CFileItemList items;
if (!m_strThumb.IsEmpty())
{
CFileItemPtr item(new CFileItem("thumb://Current", false));
item->SetArt("thumb", m_strThumb);
item->SetLabel(g_localizeStrings.Get(20016));
items.Add(item);
}
CFileItemPtr item(new CFileItem("thumb://None", false));
item->SetArt("thumb", m_strDefaultImage);
item->SetLabel(g_localizeStrings.Get(20018));
items.Add(item);
if (CGUIDialogFileBrowser::ShowAndGetImage(items,shares,g_localizeStrings.Get(1030),strThumb) &&
!strThumb.Equals("thumb://Current"))
{
m_bNeedSave = true;
m_strThumb = strThumb.Equals("thumb://None") ? "" : strThumb;
CGUIImage *pImage = (CGUIImage*)GetControl(2);
if (pImage)
{
pImage->SetFileName("");
pImage->SetInvalid();
pImage->SetFileName(!m_strThumb.IsEmpty() ? m_strThumb : m_strDefaultImage);
}
}
}
if (setting.id == 3)
{
if (OnProfilePath(m_strDirectory, m_bIsDefault))
{
m_bNeedSave = true;
SET_CONTROL_LABEL(1001,m_strDirectory);
}
}
if (setting.id == 4)
{
if (m_bShowDetails)
{
if (CProfilesManager::Get().GetMasterProfile().getLockMode() == LOCK_MODE_EVERYONE && !m_bIsDefault)
{
if (CGUIDialogYesNo::ShowAndGetInput(20066,20118,20119,20022))
g_passwordManager.SetMasterLockMode(false);
if (CProfilesManager::Get().GetMasterProfile().getLockMode() == LOCK_MODE_EVERYONE)
return;
}
if (CGUIDialogLockSettings::ShowAndGetLock(m_locks, m_bIsDefault ? 12360 : 20068, CProfilesManager::Get().GetMasterProfile().getLockMode() == LOCK_MODE_EVERYONE || m_bIsDefault))
m_bNeedSave = true;
}
else
{
if (CGUIDialogLockSettings::ShowAndGetLock(m_locks, m_bIsDefault ? 12360 : 20068, false, false))
m_bNeedSave = true;
}
}
if (setting.id > 4)
m_bNeedSave = true;
}
示例10: Update
//.........这里部分代码省略.........
if (m_movieItem->GetVideoInfoTag()->m_playCount == 0 && g_guiSettings.GetBool("videolibrary.hideplots"))
strTmp = g_localizeStrings.Get(20370);
strTmp.Trim();
SetLabel(CONTROL_TEXTAREA, strTmp);
// setup cast list + determine type
ClearCastList();
if (!m_movieItem->GetVideoInfoTag()->m_strArtist.IsEmpty())
{ // music video
CStdStringArray artists;
StringUtils::SplitString(m_movieItem->GetVideoInfoTag()->m_strArtist, g_advancedSettings.m_videoItemSeparator, artists);
for (std::vector<CStdString>::const_iterator it = artists.begin(); it != artists.end(); ++it)
{
CFileItem *item = new CFileItem(*it);
if (CFile::Exists(item->GetCachedArtistThumb()))
item->SetThumbnailImage(item->GetCachedArtistThumb());
item->SetIconImage("DefaultArtist.png");
m_castList->Add(item);
}
m_castList->SetContent("musicvideos");
}
else
{ // movie/show/episode
for (CVideoInfoTag::iCast it = m_movieItem->GetVideoInfoTag()->m_cast.begin(); it != m_movieItem->GetVideoInfoTag()->m_cast.end(); ++it)
{
CStdString character;
if (it->strRole.IsEmpty())
character = it->strName;
else
character.Format("%s %s %s", it->strName.c_str(), g_localizeStrings.Get(20347).c_str(), it->strRole.c_str());
CFileItem *item = new CFileItem(it->strName);
if (CFile::Exists(item->GetCachedActorThumb()))
item->SetThumbnailImage(item->GetCachedActorThumb());
item->SetIconImage("DefaultActor.png");
item->SetLabel(character);
m_castList->Add(item);
}
// determine type:
if (m_movieItem->m_bIsFolder)
m_castList->SetContent("tvshows");
else if (m_movieItem->GetVideoInfoTag()->m_iSeason > -1)
m_castList->SetContent("episodes");
else
m_castList->SetContent("movies");
}
CGUIMessage msg(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_castList);
OnMessage(msg);
if (m_bViewReview)
{
if (!m_movieItem->GetVideoInfoTag()->m_strArtist.IsEmpty())
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 133);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 206);
}
SET_CONTROL_HIDDEN(CONTROL_LIST);
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 207);
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
SET_CONTROL_VISIBLE(CONTROL_LIST);
}
// Check for resumability
CGUIWindowVideoFiles *window = (CGUIWindowVideoFiles *)m_gWindowManager.GetWindow(WINDOW_VIDEO_FILES);
if (window && window->GetResumeItemOffset(m_movieItem) > 0)
{
CONTROL_ENABLE(CONTROL_BTN_RESUME);
}
else
{
CONTROL_DISABLE(CONTROL_BTN_RESUME);
}
if (m_movieItem->GetVideoInfoTag()->m_strEpisodeGuide.IsEmpty()) // disable the play button for tv show info
{
CONTROL_ENABLE(CONTROL_BTN_PLAY)
}
else
{
CONTROL_DISABLE(CONTROL_BTN_PLAY)
}
// update the thumbnail
const CGUIControl* pControl = GetControl(CONTROL_IMAGE);
if (pControl)
{
CGUIImage* pImageControl = (CGUIImage*)pControl;
pImageControl->FreeResources();
pImageControl->SetFileName(m_movieItem->GetThumbnailImage());
}
}
示例11: Update
void CGUIWindowMusicInfo::Update()
{
if (m_bArtistInfo)
{
SetLabel(CONTROL_ARTIST, m_artist.strArtist );
SetLabel(CONTROL_GENRE, m_artist.strGenre);
SetLabel(CONTROL_MOODS, m_artist.strMoods);
SetLabel(CONTROL_STYLES, m_artist.strStyles );
if (m_bViewReview)
{
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
SET_CONTROL_HIDDEN(CONTROL_LIST);
SetLabel(CONTROL_TEXTAREA, m_artist.strBiography);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 21888);
}
else
{
SET_CONTROL_VISIBLE(CONTROL_LIST);
if (GetControl(CONTROL_LIST))
{
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
CGUIMessage message(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_albumSongs);
OnMessage(message);
}
else
CLog::Log(LOGERROR, "Out of date skin - needs list with id %i", CONTROL_LIST);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 21887);
}
}
else
{
SetLabel(CONTROL_ALBUM, m_album.strAlbum );
SetLabel(CONTROL_ARTIST, m_album.strArtist );
CStdString date; date.Format("%d", m_album.iYear);
SetLabel(CONTROL_DATE, date );
CStdString strRating;
if (m_album.iRating > 0)
strRating.Format("%i/9", m_album.iRating);
SetLabel(CONTROL_RATING, strRating );
SetLabel(CONTROL_GENRE, m_album.strGenre);
SetLabel(CONTROL_MOODS, m_album.strMoods);
SetLabel(CONTROL_STYLES, m_album.strStyles );
if (m_bViewReview)
{
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
SET_CONTROL_HIDDEN(CONTROL_LIST);
SetLabel(CONTROL_TEXTAREA, m_album.strReview);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 182);
}
else
{
SET_CONTROL_VISIBLE(CONTROL_LIST);
if (GetControl(CONTROL_LIST))
{
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
CGUIMessage message(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_albumSongs);
OnMessage(message);
}
else
CLog::Log(LOGERROR, "Out of date skin - needs list with id %i", CONTROL_LIST);
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 183);
}
}
// update the thumbnail
const CGUIControl* pControl = GetControl(CONTROL_IMAGE);
if (pControl)
{
CGUIImage* pImageControl = (CGUIImage*)pControl;
pImageControl->FreeResources();
pImageControl->SetFileName(m_albumItem->GetThumbnailImage());
}
// disable the GetThumb button if the user isn't allowed it
CONTROL_ENABLE_ON_CONDITION(CONTROL_BTN_GET_THUMB, g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].canWriteDatabases() || g_passwordManager.bMasterUser);
if (!m_album.strArtist.IsEmpty() && CLastFmManager::GetInstance()->IsLastFmEnabled())
{
SET_CONTROL_VISIBLE(CONTROL_BTN_LASTFM);
}
else
{
SET_CONTROL_HIDDEN(CONTROL_BTN_LASTFM);
}
}
示例12: Update
void CGUIWindowVideoInfo::Update()
{
CStdString strTmp;
strTmp = m_movieItem->GetVideoInfoTag()->m_strTitle; strTmp.Trim();
SetLabel(CONTROL_TITLE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strDirector; strTmp.Trim();
SetLabel(CONTROL_DIRECTOR, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strStudio; strTmp.Trim();
SetLabel(CONTROL_STUDIO, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strWritingCredits; strTmp.Trim();
SetLabel(CONTROL_CREDITS, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strGenre; strTmp.Trim();
SetLabel(CONTROL_GENRE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strTagLine; strTmp.Trim();
SetLabel(CONTROL_TAGLINE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strPlotOutline; strTmp.Trim();
SetLabel(CONTROL_PLOTOUTLINE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strTrailer; strTmp.Trim();
SetLabel(CONTROL_TRAILER, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strMPAARating; strTmp.Trim();
SetLabel(CONTROL_MPAARATING, strTmp);
CStdString strTop250;
if (m_movieItem->GetVideoInfoTag()->m_iTop250)
strTop250.Format("%i", m_movieItem->GetVideoInfoTag()->m_iTop250);
SetLabel(CONTROL_TOP250, strTop250);
CStdString strYear;
if (m_movieItem->GetVideoInfoTag()->m_iYear)
strYear.Format("%i", m_movieItem->GetVideoInfoTag()->m_iYear);
else
strYear = g_infoManager.GetItemLabel(m_movieItem.get(),LISTITEM_PREMIERED);
SetLabel(CONTROL_YEAR, strYear);
CStdString strRating_And_Votes;
if (m_movieItem->GetVideoInfoTag()->m_fRating != 0.0f) // only non-zero ratings are of interest
strRating_And_Votes.Format("%03.1f (%s %s)", m_movieItem->GetVideoInfoTag()->m_fRating, m_movieItem->GetVideoInfoTag()->m_strVotes, g_localizeStrings.Get(20350));
SetLabel(CONTROL_RATING_AND_VOTES, strRating_And_Votes);
strTmp = m_movieItem->GetVideoInfoTag()->m_strRuntime; strTmp.Trim();
SetLabel(CONTROL_RUNTIME, strTmp);
// setup plot text area
strTmp = m_movieItem->GetVideoInfoTag()->m_strPlot;
if (!(!m_movieItem->GetVideoInfoTag()->m_strShowTitle.IsEmpty() && m_movieItem->GetVideoInfoTag()->m_iSeason == 0)) // dont apply to tvshows
if (m_movieItem->GetVideoInfoTag()->m_playCount == 0 && g_guiSettings.GetBool("videolibrary.hideplots"))
strTmp = g_localizeStrings.Get(20370);
strTmp.Trim();
SetLabel(CONTROL_TEXTAREA, strTmp);
CGUIMessage msg(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_castList);
OnMessage(msg);
if (m_bViewReview)
{
if (!m_movieItem->GetVideoInfoTag()->m_strArtist.IsEmpty())
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 133);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 206);
}
SET_CONTROL_HIDDEN(CONTROL_LIST);
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 207);
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
SET_CONTROL_VISIBLE(CONTROL_LIST);
}
// Check for resumability
CGUIWindowVideoFiles *window = (CGUIWindowVideoFiles *)m_gWindowManager.GetWindow(WINDOW_VIDEO_FILES);
if (window && window->GetResumeItemOffset(m_movieItem.get()) > 0)
CONTROL_ENABLE(CONTROL_BTN_RESUME);
else
CONTROL_DISABLE(CONTROL_BTN_RESUME);
CONTROL_ENABLE(CONTROL_BTN_PLAY);
// update the thumbnail
const CGUIControl* pControl = GetControl(CONTROL_IMAGE);
if (pControl)
{
CGUIImage* pImageControl = (CGUIImage*)pControl;
pImageControl->FreeResources();
pImageControl->SetFileName(m_movieItem->GetThumbnailImage());
//.........这里部分代码省略.........