bool CGUIWindowMusicSongs::OnContextButton(int itemNumber, CONTEXT_BUTTON button) { CFileItemPtr item; if (itemNumber >= 0 && itemNumber < m_vecItems->Size()) item = m_vecItems->Get(itemNumber); if ( m_vecItems->IsVirtualDirectoryRoot() && item) { if (CGUIDialogContextMenu::OnContextButton("music", item, button)) { if (button == CONTEXT_BUTTON_REMOVE_SOURCE) OnRemoveSource(itemNumber); Update(""); return true; } } switch (button) { case CONTEXT_BUTTON_SCAN: OnScan(itemNumber); return true; case CONTEXT_BUTTON_RIP_TRACK: OnRipTrack(itemNumber); return true; case CONTEXT_BUTTON_RIP_CD: OnRipCD(); return true; #ifdef HAS_CDDA_RIPPER case CONTEXT_BUTTON_CANCEL_RIP_CD: CCDDARipper::GetInstance().CancelJobs(); return true; #endif case CONTEXT_BUTTON_CDDB: if (m_musicdatabase.LookupCDDBInfo(true)) Refresh(); return true; case CONTEXT_BUTTON_DELETE: OnDeleteItem(itemNumber); return true; case CONTEXT_BUTTON_RENAME: OnRenameItem(itemNumber); return true; case CONTEXT_BUTTON_SWITCH_MEDIA: CGUIDialogContextMenu::SwitchMedia("music", m_vecItems->GetPath()); return true; default: break; } return CGUIWindowMusicBase::OnContextButton(itemNumber, button); }
bool CGUIWindowJukeboxSongs::OnAction(const CAction& action) { if (action.GetID() == ACTION_SCAN_ITEM) { int item = m_viewControl.GetSelectedItem(); if (item > -1 && m_vecItems->Get(item)->m_bIsFolder) OnScan(m_vecItems->Get(item)); return true; } return CGUIWindowJukeboxBase::OnAction(action); }
bool CGUIWindowJukeboxSongs::OnContextButton(CFileItemPtr pItem, CONTEXT_BUTTON button) { if (m_vecItems->IsVirtualDirectoryRoot() && pItem) { if (CGUIDialogContextMenu::OnContextButton("music", pItem, button)) { if (button == CONTEXT_BUTTON_REMOVE_SOURCE) OnRemoveSource(pItem); Update(""); return true; } } switch (button) { case CONTEXT_BUTTON_SCAN: OnScan(pItem); return true; case CONTEXT_BUTTON_RIP_TRACK: OnRipTrack(pItem); return true; case CONTEXT_BUTTON_RIP_CD: OnRipCD(); return true; case CONTEXT_BUTTON_CDDB: if (m_musicdatabase.LookupCDDBInfo(true)) Update(m_vecItems->GetPath()); return true; case CONTEXT_BUTTON_DELETE: OnDeleteItem(pItem); return true; case CONTEXT_BUTTON_RENAME: OnRenameItem(pItem); return true; case CONTEXT_BUTTON_SWITCH_MEDIA: CGUIDialogContextMenu::SwitchMedia("music", m_vecItems->GetPath()); return true; default: break; } return CGUIWindowJukeboxBase::OnContextButton(pItem, button); }
bool CGUIWindowMusicSongs::OnMessage(CGUIMessage& message) { switch ( message.GetMessage() ) { case GUI_MSG_WINDOW_DEINIT: if (m_thumbLoader.IsLoading()) m_thumbLoader.StopThread(); break; case GUI_MSG_WINDOW_INIT: { // removed the start window check from files view // the window translator does it by using a virtual window id (5) // is this the first time the window is opened? if (m_vecItems->GetPath() == "?" && message.GetStringParam().empty()) message.SetStringParam(CMediaSourceSettings::Get().GetDefaultSource("music")); return CGUIWindowMusicBase::OnMessage(message); } break; case GUI_MSG_DIRECTORY_SCANNED: { CFileItem directory(message.GetStringParam(), true); // Only update thumb on a local drive if (directory.IsHD()) { CStdString strParent; URIUtils::GetParentPath(directory.GetPath(), strParent); if (directory.GetPath() == m_vecItems->GetPath() || strParent == m_vecItems->GetPath()) Refresh(); } } break; case GUI_MSG_NOTIFY_ALL: { if (message.GetParam1()==GUI_MSG_REMOVED_MEDIA) DeleteRemoveableMediaDirectoryCache(); } break; case GUI_MSG_CLICKED: { int iControl = message.GetSenderId(); if (iControl == CONTROL_BTNPLAYLISTS) { if (!m_vecItems->GetPath().Equals("special://musicplaylists/")) Update("special://musicplaylists/"); } else if (iControl == CONTROL_BTNSCAN) { OnScan(-1); } else if (iControl == CONTROL_BTNREC) { if (g_application.m_pPlayer->IsPlayingAudio() ) { if (g_application.m_pPlayer->CanRecord() ) { bool bIsRecording = g_application.m_pPlayer->IsRecording(); g_application.m_pPlayer->Record(!bIsRecording); UpdateButtons(); } } } else if (iControl == CONTROL_BTNRIP) { OnRipCD(); } } break; } return CGUIWindowMusicBase::OnMessage(message); }