Example #1
0
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);
}