void CGUIDialogVideoInfo::Play(bool resume) { if (!m_movieItem->GetVideoInfoTag()->m_strEpisodeGuide.IsEmpty()) { CStdString strPath; strPath.Format("videodb://2/2/%i/",m_movieItem->GetVideoInfoTag()->m_iDbId); Close(); g_windowManager.ActivateWindow(WINDOW_VIDEO_NAV,strPath); return; } CFileItem movie(*m_movieItem->GetVideoInfoTag()); if (m_movieItem->GetVideoInfoTag()->m_strFileNameAndPath.IsEmpty()) movie.SetPath(m_movieItem->GetPath()); CGUIWindowVideoNav* pWindow = (CGUIWindowVideoNav*)g_windowManager.GetWindow(WINDOW_VIDEO_NAV); if (pWindow) { // close our dialog Close(true); if (resume) movie.m_lStartOffset = STARTOFFSET_RESUME; else if (!CGUIWindowVideoBase::ShowResumeMenu(movie)) { // The Resume dialog was closed without any choice DoModal(); return; } pWindow->PlayMovie(&movie); } }