From 5f7b8c313e337ed082f290719b7a8caf52251697 Mon Sep 17 00:00:00 2001 From: "Ignacio R. Morelle" Date: Thu, 1 Oct 2009 21:54:29 +0000 Subject: [PATCH] Take filtering into account for showing add-on descriptions... ...in the download list. --- src/addon_management.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/addon_management.cpp b/src/addon_management.cpp index 1331bfc2048..bafd77d9791 100644 --- a/src/addon_management.cpp +++ b/src/addon_management.cpp @@ -316,16 +316,20 @@ namespace { { display& disp_; std::vector titles_, desc_; + gui::filter_textbox* filter_; public: - display_description(display& disp, std::vector const& titles, std::vector const& descriptions) + display_description(display& disp, std::vector const& titles, std::vector const& descriptions, gui::filter_textbox* filter) : disp_(disp) , titles_(titles) , desc_(descriptions) + , filter_(filter) {} - virtual gui::dialog_button_action::RESULT button_pressed(int menu_selection) + virtual gui::dialog_button_action::RESULT button_pressed(int filter_choice) { + assert(filter_ != NULL); + const int menu_selection = filter_->get_index(filter_choice); if(menu_selection < 0) { return gui::CONTINUE_DIALOG; } size_t const uchoice = static_cast(menu_selection); @@ -1084,15 +1088,15 @@ namespace { &addon_style, false); addon_dialog.set_menu(addon_menu); - display_description description_helper(disp, titles, descriptions); - - gui::dialog_button* description = new gui::dialog_button(disp.video(), _("Description"), gui::button::TYPE_PRESS, gui::CONTINUE_DIALOG, &description_helper); - addon_dialog.add_button(description, gui::dialog::BUTTON_EXTRA); - gui::filter_textbox* filter = new gui::filter_textbox(disp.video(), _("Filter: "), options, options_to_filter, 1, addon_dialog, 300); addon_dialog.set_textbox(filter); + display_description description_helper(disp, titles, descriptions, filter); + + gui::dialog_button* description = new gui::dialog_button(disp.video(), _("Description"), gui::button::TYPE_PRESS, gui::CONTINUE_DIALOG, &description_helper); + addon_dialog.add_button(description, gui::dialog::BUTTON_EXTRA); + // Scroll the menu to the previous selection addon_menu->move_selection(old_index);