#include "championsearch.h" #include "ui_championsearch.h" #include ChampionSearch::ChampionSearch(DataDragon* dd, QWidget *parent) : QDialog(parent), ui(new Ui::ChampionSearch), dd(dd) { ui->setupUi(this); } ChampionSearch::~ChampionSearch() { delete ui; } ChampRow* ChampionSearch::getSearchResult() { if(ui->championList->count() == 1) { return (ChampRow*) ui->championList->takeItem(0); } int row = ui->championList->currentRow(); return (ChampRow*) ui->championList->takeItem(row); } void ChampionSearch::searchChanged(QString str) { qInfo() << "champion search: " << str; const std::vector champs = dd->getMatchingChamp(str); qInfo() << "found " << champs.size() << " champs"; clear(); for(auto cd : champs) { dd->getImageAsnyc(cd->id, [this, cd](QPixmap img) { auto cr = new ChampRow(); cr->setChamp(*cd, img); ui->championList->addItem(cr); }); } } void ChampionSearch::clear() { while(ui->championList->count()) { delete ui->championList->takeItem(0); } }