bool CGUIDialogSmartPlaylistEditor::EditPlaylist(const std::string &path, const std::string &type) { CGUIDialogSmartPlaylistEditor *editor = (CGUIDialogSmartPlaylistEditor *)g_windowManager.GetWindow(WINDOW_DIALOG_SMART_PLAYLIST_EDITOR); if (!editor) return false; editor->m_mode = type; if (URIUtils::PathEquals(path, CProfilesManager::GetInstance().GetUserDataItem("PartyMode.xsp"))) editor->m_mode = "partymusic"; if (URIUtils::PathEquals(path, CProfilesManager::GetInstance().GetUserDataItem("PartyMode-Video.xsp"))) editor->m_mode = "partyvideo"; CSmartPlaylist playlist; bool loaded(playlist.Load(path)); if (!loaded) { // failed to load if (!StringUtils::StartsWithNoCase(editor->m_mode, "party")) return false; // only edit normal playlists that exist // party mode playlists can be editted even if they don't exist playlist.SetType(editor->m_mode == "partymusic" ? "songs" : "musicvideos"); } editor->m_playlist = playlist; editor->m_path = path; editor->Initialize(); editor->Open(); return !editor->m_cancelled; }
bool CGUIDialogSmartPlaylistEditor::EditPlaylist(const CStdString &path, const CStdString &type) { CGUIDialogSmartPlaylistEditor *editor = (CGUIDialogSmartPlaylistEditor *)g_windowManager.GetWindow(WINDOW_DIALOG_SMART_PLAYLIST_EDITOR); if (!editor) return false; editor->m_mode = type; if (path.Equals(g_settings.GetUserDataItem("PartyMode.xsp"))) editor->m_mode = "partymusic"; if (path.Equals(g_settings.GetUserDataItem("PartyMode-Video.xsp"))) editor->m_mode = "partyvideo"; CSmartPlaylist playlist; bool loaded(playlist.Load(path)); if (!loaded) { // failed to load if (!editor->m_mode.Left(5).Equals("party")) return false; // only edit normal playlists that exist // party mode playlists can be editted even if they don't exist playlist.m_ruleCombination.m_rules.push_back(CSmartPlaylistRule()); playlist.SetType(editor->m_mode == "partymusic" ? "songs" : "musicvideos"); } editor->m_playlist = playlist; if (editor->m_playlist.m_ruleCombination.m_rules.size() <= 0) editor->m_playlist.m_ruleCombination.m_rules.push_back(CSmartPlaylistRule()); editor->m_path = path; editor->Initialize(); editor->DoModal(g_windowManager.GetActiveWindow()); return !editor->m_cancelled; }
bool CGUIDialogSmartPlaylistEditor::NewPlaylist(const std::string &type) { CGUIDialogSmartPlaylistEditor *editor = (CGUIDialogSmartPlaylistEditor *)g_windowManager.GetWindow(WINDOW_DIALOG_SMART_PLAYLIST_EDITOR); if (!editor) return false; editor->m_path = ""; editor->m_playlist = CSmartPlaylist(); editor->m_mode = type; editor->Initialize(); editor->Open(); return !editor->m_cancelled; }
bool CGUIDialogSmartPlaylistEditor::NewPlaylist(const CStdString &type) { CGUIDialogSmartPlaylistEditor *editor = (CGUIDialogSmartPlaylistEditor *)g_windowManager.GetWindow(WINDOW_DIALOG_SMART_PLAYLIST_EDITOR); if (!editor) return false; editor->m_path = ""; editor->m_playlist = CSmartPlaylist(); editor->m_playlist.m_ruleCombination.m_rules.push_back(CSmartPlaylistRule()); editor->m_mode = type; editor->Initialize(); editor->DoModal(g_windowManager.GetActiveWindow()); return !editor->m_cancelled; }