void RocketMenuPlugin::HighlightItem(Rocket::Core::Context *context, const Rocket::Core::String& elementId) { ContextData *cd = GetContextData(context); if (cd->current_document != NULL) { HighlightItem(cd->current_document, elementId); } }
bool CGUIDialogSmartPlaylistEditor::OnMessage(CGUIMessage& message) { switch ( message.GetMessage() ) { case GUI_MSG_CLICKED: { int iControl = message.GetSenderId(); int iAction = message.GetParam1(); if (iControl == CONTROL_RULE_LIST && (iAction == ACTION_SELECT_ITEM || iAction == ACTION_MOUSE_LEFT_CLICK)) OnRuleList(GetSelectedItem()); else if (iControl == CONTROL_RULE_ADD) OnRuleAdd(); else if (iControl == CONTROL_RULE_EDIT) OnRuleList(GetSelectedItem()); else if (iControl == CONTROL_RULE_REMOVE) OnRuleRemove(GetSelectedItem()); else if (iControl == CONTROL_NAME) OnEditChanged(iControl, m_playlist.m_playlistName); else if (iControl == CONTROL_OK) OnOK(); else if (iControl == CONTROL_CANCEL) OnCancel(); else if (iControl == CONTROL_MATCH) OnMatch(); else if (iControl == CONTROL_LIMIT) OnLimit(); else if (iControl == CONTROL_ORDER_FIELD) OnOrder(); else if (iControl == CONTROL_ORDER_DIRECTION) OnOrderDirection(); else if (iControl == CONTROL_TYPE) OnType(); else if (iControl == CONTROL_GROUP_BY) OnGroupBy(); else if (iControl == CONTROL_GROUP_MIXED) OnGroupMixed(); else return CGUIDialog::OnMessage(message); return true; } break; case GUI_MSG_FOCUSED: if (message.GetControlId() == CONTROL_RULE_REMOVE || message.GetControlId() == CONTROL_RULE_EDIT) HighlightItem(GetSelectedItem()); else { if (message.GetControlId() == CONTROL_RULE_LIST) UpdateRuleControlButtons(); HighlightItem(-1); } break; case GUI_MSG_WINDOW_INIT: { const std::string& startupList = message.GetStringParam(0); if (!startupList.empty()) { int party = 0; if (URIUtils::PathEquals(startupList, CProfilesManager::GetInstance().GetUserDataItem("PartyMode.xsp"))) party = 1; else if (URIUtils::PathEquals(startupList, CProfilesManager::GetInstance().GetUserDataItem("PartyMode-Video.xsp"))) party = 2; if ((party && !XFILE::CFile::Exists(startupList)) || m_playlist.Load(startupList)) { m_path = startupList; if (party == 1) m_mode = "partymusic"; else if (party == 2) m_mode = "partyvideo"; else { PLAYLIST_TYPE type = ConvertType(m_playlist.GetType()); if (type == TYPE_SONGS || type == TYPE_ALBUMS || type == TYPE_ARTISTS) m_mode = "music"; else m_mode = "video"; } } else return false; } } break; } return CGUIDialog::OnMessage(message); }