bool CGUIDialogAudioDSPManager::OnMessage(CGUIMessage& message) { unsigned int iMessage = message.GetMessage(); switch (iMessage) { case GUI_MSG_CLICKED: return OnMessageClick(message); case GUI_MSG_ITEM_SELECT: { int focusedControl = GetFocusedControlID(); if (focusedControl == CONTROL_LIST_MODE_SELECTION) { CGUIListContainer *modeListPtr = dynamic_cast<CGUIListContainer*>(GetControl(CONTROL_LIST_MODE_SELECTION)); if (modeListPtr) { CGUIListItemPtr modeListItem = modeListPtr->GetListItem(0); // get current selected list item if (modeListItem) { std::string currentModeString = modeListItem->GetProperty("currentMode").asString(); int newModeType = helper_TranslateModeType(currentModeString); if (m_iCurrentType != newModeType) { m_iCurrentType = newModeType; SetSelectedModeType(); } } } } } } return CGUIDialog::OnMessage(message); }