Есть ListView() с делегатами Rectangle, в каждом есть MouseArea в которой onDoubleClicked вызывает С++ метод в классе текущего связанного айтема модели. Тот посылает ссылку на себя редактору айтема и он открывается, айтем можно редактировать. Но возникла необходимость получить текущий
номер айтема в списке, а не сам айтем. Как это сделать в ListView? Записывать в сами айтемы их номера нельзя - массив ссылок на айтемы сортируется с помощью std:sort(), сложная сортировка по нескольким полям, соответственно номера будут не актуальны. В принципе, можно после каждой сортировки заново прописывать порядковые номера в айтемы, но это грубо. Должна быть возможность получить номер айтема, который был даблкликнут в ListView. Но как? Получить координаты нажатия, и по ним вычислить номер айтема, зная вертикальный размер каждого? Или есть более простой способ?
Если
ListView {
id:lView
model: SomeList
MouseArea {
anchors.fill: parent;
onDoubleClicked: { SomeList.editItem( lView.currentIndex ); }
}
это оно?