// ---------------------------------------------------------------------------- void AddonsScreen::eventCallback(GUIEngine::Widget* widget, const std::string& name, const int playerID) { if (name == "back") { StateManager::get()->escapePressed(); } else if (name == "reload") { if (!m_reloading) { m_reloading = true; INetworkHttp::get()->insertReInit(); GUIEngine::ListWidget* w_list = getWidget<GUIEngine::ListWidget>("list_addons"); w_list->clear(); w_list->addItem("spacer", L""); w_list->addItem("loading", _("Please wait while addons are updated"), m_icon_loading); } } else if (name == "list_addons") { GUIEngine::ListWidget* list = getWidget<GUIEngine::ListWidget>("list_addons"); std::string id = list->getSelectionInternalName(); if (!id.empty() && addons_manager->getAddon(id) != NULL) { m_selected_index = list->getSelectionID(); new AddonsLoading(0.8f, 0.8f, id); } } if (name == "category") { std::string selection = ((GUIEngine::RibbonWidget*)widget) ->getSelectionIDString(PLAYER_ID_GAME_MASTER).c_str(); if (selection == "tab_track") { m_type = "track"; loadList(); } else if (selection == "tab_kart") { m_type = "kart"; loadList(); } else if (selection == "tab_arena") { m_type = "arena"; loadList(); } } } // eventCallback