diff --git a/src/guiengine/widgets/list_widget.hpp b/src/guiengine/widgets/list_widget.hpp index 49fd1860f..c2d2f10d6 100644 --- a/src/guiengine/widgets/list_widget.hpp +++ b/src/guiengine/widgets/list_widget.hpp @@ -208,6 +208,8 @@ namespace GUIEngine * \param proportion A column with proportion 2 will be twice as large as a column with proportion 1 */ void addColumn(irr::core::stringw col, int proportion=1) { m_header.push_back( Column(col, proportion) ); } + + void clearColumns() { m_header.clear(); } }; } diff --git a/src/states_screens/addons_screen.cpp b/src/states_screens/addons_screen.cpp index 2818e241e..d88950be0 100644 --- a/src/states_screens/addons_screen.cpp +++ b/src/states_screens/addons_screen.cpp @@ -61,13 +61,22 @@ void AddonsScreen::loadedFromFile() m_icon_bank->addTextureAsSprite(icon5); m_icon_needs_update = m_icon_bank->addTextureAsSprite(icon3); - GUIEngine::ListWidget* w_list = - getWidget("list_addons"); - w_list->addColumn( _("Add-on name"), 2 ); - w_list->addColumn( _("Updated date"), 1 ); + GUIEngine::ListWidget* w_list = getWidget("list_addons"); w_list->setColumnListener(this); } // loadedFromFile + +// ---------------------------------------------------------------------------- + +void AddonsScreen::beforeAddingWidget() +{ + GUIEngine::ListWidget* w_list = getWidget("list_addons"); + assert(w_list != NULL); + w_list->clearColumns(); + w_list->addColumn( _("Add-on name"), 2 ); + w_list->addColumn( _("Updated date"), 1 ); +} + // ---------------------------------------------------------------------------- void AddonsScreen::init() diff --git a/src/states_screens/addons_screen.hpp b/src/states_screens/addons_screen.hpp index f3e004967..800bfce15 100644 --- a/src/states_screens/addons_screen.hpp +++ b/src/states_screens/addons_screen.hpp @@ -71,6 +71,9 @@ public: /** \brief implement callback from parent class GUIEngine::Screen */ virtual void eventCallback(GUIEngine::Widget* widget, const std::string& name, const int playerID); + /** \brief implement callback from parent class GUIEngine::Screen */ + virtual void beforeAddingWidget(); + virtual void onColumnClicked(int columnId); virtual void init();