PokeSelection::PokeSelection(Pokemon::uniqueId pokemon, QAbstractItemModel *pokemonModel) : ui(new Ui::PokeSelection), search(NULL), newwidth(0) { ui->setupUi(this); QSortFilterProxyModel *proxy = new QSortFilterProxyModel(this); proxy->setFilterRegExp("."); proxy->setSourceModel(pokemonModel); this->sourceModel = pokemonModel; this->proxy = proxy; ui->pokemonList->setModel(proxy); QCompleter *completer = new QCompleter(proxy, ui->pokeEdit); completer->setCompletionColumn(1); completer->setCompletionRole(Qt::DisplayRole); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setCompletionMode(QCompleter::PopupCompletion); ui->pokeEdit->setCompleter(completer); setNum(pokemon); ui->pokemonList->setCurrentIndex(pokemonModel->index(pokemon.pokenum, 1)); ui->pokemonList->scrollTo(ui->pokemonList->currentIndex()); updateSprite(); updateTypes(); if (getGen() <= 1) { ui->shiny->hide(); } else { ui->shiny->show(); } ui->baseStats->setGen(getGen()); connect(completer, SIGNAL(activated(QModelIndex)), SLOT(setPokemon(QModelIndex))); connect(ui->shiny, SIGNAL(toggled(bool)), SLOT(updateSprite())); connect(ui->pokemonList, SIGNAL(pokemonSelected(Pokemon::uniqueId)), SLOT(setNum(Pokemon::uniqueId))); connect(ui->pokemonList, SIGNAL(pokemonSelected(Pokemon::uniqueId)), SLOT(updateSprite())); connect(ui->pokemonList, SIGNAL(pokemonSelected(Pokemon::uniqueId)), SLOT(updateTypes())); connect(ui->pokemonList, SIGNAL(pokemonActivated(Pokemon::uniqueId)), SLOT(finish())); connect(ui->changeSpecies, SIGNAL(clicked()), SLOT(finish())); connect(ui->pokemonFrame, SIGNAL(clicked()), SLOT(toggleSearchWindow())); }
void TB_PokeChoice::activatedCell(const QModelIndex &index) { int num = model()->data(index, CustomModel::PokenumRole).toInt(); emit pokemonActivated(Pokemon::uniqueId(num, 0)); }