The namespace of qml types is ignored

Bug #1210265 reported by Leo Arias on 2013-08-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Autopilot
Undecided
Unassigned
Autopilot Qt Support
Undecided
Unassigned

Bug Description

When an application is using a qml type with a namespace, autopilot ignores the namespace and makes the object available only by the last part of its name.

This is a problem on the ubuntu ui toolkit, where we have a qml type Header used for the top header, and a different one ListItem.Header. With select_many('Header'), we will get all of them, with no easy way to tell which is top and which are not.

This in addition to bug #1210260 makes it hard to write a good emulator for the Headers. Currently, as we are forced to name the emulator Header, we will have to put in it all the methods that correspond to the top header, and to the list headers.

Attached you will find a qml that exposes the problem.

Leo Arias (elopio) wrote :
Max Brustkern (nuclearbob) wrote :

Will the changes introduced to fix bug #1210260 help with this as well? That change allows a function to be defined in the custom proxy object class that checks the full dbus path and state to determine whether a specific class is valid for a given object.

Max Brustkern (nuclearbob) wrote :

I think the previously mentioned changes should resolve this issue, but we can reopen this if not.

Thomi Richards (thomir) wrote :

Max - not really - the bug here is that libautopilot-qt doesn't export the namespace names as part of the node name.

It actually can't, since the node names cannot contain spaces or ':' (IIRC anyway). We could shoehorn it in to a new derived property called 'namespace', which, combined with your branch you mention would provide a workaround anyway.

This is something I'd love to see fixed in 'U'.

Max Brustkern (nuclearbob) wrote :

Okay, that makes more sense. I was misunderstanding this before, thanks.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments