void VectorSelector::setSelectedVector(VectorPtr selectedVector) { if (!selectedVector) { return; } // "findData can't work here" says the trolls... so we do it 'manually'. //int i = _vector->findData(qVariantFromValue(selectedVector.data())); int i=-1; for (int j=0; j<_vector->count() ; ++j) { if (selectedVector.data() == _vector->itemData(j).value<Vector*>()) { i=j; break; } } Q_ASSERT(i != -1); _vector->setCurrentIndex(i); }