Esempio n. 1
0
QModelIndex ListModel::indexFromId(int itemId) const
{
    ListItem* found = itemFromId(itemId);
    if (found)
        return indexFromItem(found);
    return QModelIndex();
}
Esempio n. 2
0
QModelIndexList TvChannelModel::itemListFromIds(const QStringList &ids) const
{
    QModelIndexList list;
    for (int index = 0; index < ids.size(); ++index) {
        QModelIndex itemIndex = itemFromId(ids.at(index));
        if (itemIndex.isValid())
            list.append(itemIndex);
    }
    return list;
}
Esempio n. 3
0
ListItem* ListModel::itemFromId(int itemId, ListItem* parent) const
{
    if (!parent)
        parent = root();
    for (int i = 0, n = parent->childCount(); i < n; ++i) {
        ListItem* child = parent->child(i);
        if (child->id() == itemId)
            return child;
    }
    for (int i = 0, n = parent->childCount(); i < n; ++i) {
        ListItem* found = itemFromId(itemId, parent->child(i));
        if (found)
            return found;
    }
    return nullptr;
}