Как открыть новый лист с той же моделью, при нажатии по элементу старого?

У меня qt creator версии 4.9.1. Если вкратце, моя задача представляет из себя что-то вроде файловой системы. Есть список. В этом списке есть папки и файлы. Где-то только файлы, а где-то и то и это. Что требуется: загружается список, он с папками. Я нажимаю на любой элемент в списке, и этот список должен меня перебросить на другой подобный список, но с новыми элементами. И т.д. Проблема: не получается передать новые данные на новую страницу.

Вот так я делаю в qml (по нажатию по элементу списка):

onClicked: {
            _myModel.getList(_folderName.text)
            pageStack.push(Qt.resolvedUrl("SubListPage.qml"), {}, PageStackAction.Animated);
           }

Вот функция, отвечающая за обновление элементов в списке (в самом коде я использую два разных QList, первый (list) для самой первой страницы, второй ('newList') для второй страницы, второй список должен отвечать за последующие переходы):

Q_INVOKABLE void MyModel::getList(QString folderName)
{
    ...
    for(int i = 0; i < nodes.count(); i++)
    {
        append(i, folder["title"].toString()); //здесь всё прекрасно заполняется
    }
    size = newList.size(); //обновление размера списка
}

void myModel::append(int index, QString itemName)
{
    emit beginInsertRows(QModelIndex(), index, index);
    newList.append(itemName); //здесь, если вывести через qDebug, тоже всё заполняется
    emit endInsertRows();
}

А в главной функции, отвечающей за роли и данные:

QVariant myModel::data(const QModelIndex& index, int role) const
{
    if (role == MainItemRole)
        return list.at(index.row());

    if (role == ItemRole)
    {
        return newList.at(index.row()); //список пустой
    }

    return QVariant();
}

почему-то пусто. Так же, я обновляю размер списка для функции в getList(...):

int myModel::rowCount(const QModelIndex &) const
{
    return size;
}

Ответы (0 шт):