I've already raised this issue before. See: http://comments.gmane.org/gmane.comp.lib.qt.qml/2041 and http://bugreports.qt.nokia.com/browse/QTBUG-13007
Basically, the accepted property is totally useless in this situation, and doesn't complies wih it's documentation. As far as I can tell, setting accepted to false only has effect for double clicks. See Qt QML docs about this (http://doc.qt.nokia.com/main-snapshot/qml-mousearea.html#onDoubleClicked-signal). This is why you're getting clicked + doubleclick One solution to propagate the click is do to a hit test in the mouse area that is getting the onClick event and manually calling the onClick handler of the other mousearea. I gave example of this in the pages referenced above. Cheers, Greg On Tue, Mar 15, 2011 at 6:33 PM, <[email protected]> wrote: > Hi There, > Have a need to propagate MouseArea events to 2 overlapping MouseArea > Elements. Expected the following code to work and pass events across 2 mouse > Areas. What is see is that > > - "outerMouseArea" is not passing the single click event to the > "innerMouseArea" though I have set the mouse.accepted = false in > outerMouseArea::onClicked(). How can these Mouse Areas pass events so that > innerMouseArea handles a given type of event while the outerMouseArea handles > the other event. > - Also for every doubleClick I see the onClicked() also being called. If > there a way to only signal doubleClick() event and not a clicked() followed > by dobuleClick() > > Rectangle { > height:400 > width: 800 > color: "red" > > Rectangle { > width: 360 > height: 360 > anchors.centerIn: parent > color: "blue" > > Rectangle { > width:80 > height: 100 > anchors.centerIn: parent > color: "green" > MouseArea { > id: innerMouseArea > anchors.fill: parent > onClicked: { > mouse.accepted = true; > console.log ("single click accepted") > } > } > } > > MouseArea { > id:outerMouseArea > anchors.fill: parent > > onDoubleClicked: { > console.log ("double click accepted") > mouse.accepted = true; > } > > onClicked: { > console.log ("pass on the single click event") > mouse.accepted = false; > } > } > } > } > > > Regards, > Shiv > _______________________________________________ > Qt-qml mailing list > [email protected] > http://lists.qt.nokia.com/mailman/listinfo/qt-qml > _______________________________________________ Qt-qml mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt-qml
