Sinais e slots do ListView para elementos de menu

Estou tentando implementar algum tipo de menu personalizado com elementos personalizados. O objetivo final é criar algum tipo de menu pop-up com texto e ícones. Mas durante a criação eu enfrentei alguns problemas. Eu posso mostrar 2 problemas principais:

Há um elemento de menu estranho com o títuloHello world na primeira posição (parece que é o título lido da janela do aplicativo):

De vez em quando eu estou recebendo erros comoqrc:/BreezeQuickMenu.qml:45: TypeError: Property 'clicked' of object QQuickListView(0x1120830) is not a function

Aqui está o meu código real:

main.qml

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Window 2.2

ApplicationWindow {
    title: qsTr("Hello World")
    width: Screen.width
    height: Screen.height
    visible: true
    id: win
    color: brPalette.normalBackground
BreezeQuickMenu{
    id: brMenu
    x: 490
    y: 199
    width: 128
    height: 256
    palette: brPalette
    menuFont.pointSize: 16
    BreezeQuickMenuItem{
        title: "Item 1"
        onClicked: mbox.show()
    }
    BreezeQuickMenuItem{
        title: "Item 2"
    }
    BreezeQuickMenuItem{
        title: "Item 3"
    }
  }
}

BreezeQuickMenu.qml

import QtQuick 2.4

Item {
    id: root
    property BreezeQuickPalette palette: BreezeQuickPalette
    property alias currentIndex: menuList.currentIndex
    property font menuFont
    property bool menuVisible: false
    implicitWidth: 128
    implicitHeight: menuList.height
    ListView{
        id: menuList
        anchors.fill: parent
        model: root.children
        clip: true
        delegate: Component {
            id: menuItem
            Rectangle {
                id: menuElement
                property bool isCurrentItem: ListView.isCurrentItem
                anchors {
                    left: parent.left
                    right: parent.right
                }
                color: palette.normalBackground
                height: menuText.font.pixelSize*1.2
                Text {
                    id: menuText
                    anchors.fill: parent
                    text: title
                    color: palette.normalText
                    font: menuFont
                }
                MouseArea {
                    anchors.fill: parent
                    hoverEnabled: true
                    onClicked: {
                        menuList.currentIndex = index
                        menuList.model[index].clicked()
                    }
                }
            }
        }
    }
}

BreezeQuickMenuItem.qml

import QtQuick 2.4

Item {
    id: root
    property string title: "Menu Element"
    signal clicked
}

Como você pode ver, estou tentando implementar a lista e os itens de menu com seus próprios sinais. Eu tenho 2 perguntas:

como posso me livrar do uso da propriedade title do elemento pai, pois preciso ler a propriedade title das crianças

qual é a abordagem correta do uso de sinais e slots nos elementos do menu para evitar erros acima?

Por favor me ajude a entender. O projeto completo pode ser obtido aqui:

git clone git://git.code.sf.net/p/breezequick/code breezequick-code

questionAnswers(1)

yourAnswerToTheQuestion