+void PluginDialog::load_plugin_list(int redraw)
+{
+ standalone_data.remove_all_objects();
+ const char *text = search_text->get_text();
+
+ for( int i=0; i<plugindb.total; ++i ) {
+ const char *title = _(plugindb.values[i]->title);
+ if( text && text[0] && !bstrcasestr(title, text) ) continue;
+ standalone_data.append(new PluginDialogListItem(title, i));
+ }
+
+ if( redraw )
+ standalone_list->draw_items(1);
+}
+
+PluginDialogSearchText::PluginDialogSearchText(PluginDialog *dialog, int x, int y, int w)
+ : BC_TextBox(x, y, w, 1, "")
+{
+ this->dialog = dialog;
+}
+
+int PluginDialogSearchText::handle_event()
+{
+ dialog->load_plugin_list(1);
+ return 1;
+}