[SailfishDevel] QtContacts: phoneNumbers.length attribute gets lost when copied to ListModel
Hi All I have come across some strangeness using QtContacts 5.0 on Sailfish. For various reasons partially lost in the mists of time, I copy contacts (or rather a subset of contract roles) from the ContactModel to a a normal ListModel. One of the roles copied is phoneNumbers. This has a child property length indicating the number of phoneNumbers available for the contact. phoneNumbers.length is available (defined) direct from the ContactModel, but is undefined when I try to use it from the ListModel. So the console.log in the function appendContact() gives a valid result, but the console.log in populate() gives undefined. Other properties, including the phone numbers in phoneNumbers are defined when accessed from the ListModel. Equivalent code works in Haramtatan / Qt 4.7.4 Mobility 1.2 import QtContacts 5.0 ContactModel { id: phoneContactsModelInternal } ListModel { id: localContactModelInternal function populate() { clear(); for (var i = 0; i phoneContactsModelInternal.contacts.length; i ++) { appendContact(phoneContactsModelInternal.contacts[i]); console.log(checking number of phoneNumbers: + localContactModel.get(i).phoneNumbers.length); } } function appendContact(contact) { localContactModel.append({contactId: contact.contactId, displayLabel: contact.displayLabel.label, phoneNumbers: contact.phoneNumbers, phoneNumbersCount: contact.phoneNumbers.length}); console.log(appending: + contact.displayLabel.label + , numbers: + contact.phoneNumbers.length) } } Any ideas? Chris ___ SailfishOS.org Devel mailing list
Re: [SailfishDevel] QtContacts: phoneNumbers.length attribute gets lost when copied to ListModel
Hi Chris. This sounds like a regression in the (unfinished) qtpim module of Qt 5, which reimplements the functions provided by QtContacts in QtMobility. You can report bugs against this module here: https://bugreports.qt-project.org/browse/QTBUG/component/19726 Thanks, Matt From: devel-boun...@lists.sailfishos.org [devel-boun...@lists.sailfishos.org] on behalf of christopher.l...@thurweb.ch [christopher.l...@thurweb.ch] Sent: Thursday, February 27, 2014 8:09 PM To: Sailfish OS Developers Subject: [SailfishDevel] QtContacts: phoneNumbers.length attribute gets lost when copied to ListModel Hi All I have come across some strangeness using QtContacts 5.0 on Sailfish. For various reasons partially lost in the mists of time, I copy contacts (or rather a subset of contract roles) from the ContactModel to a a normal ListModel. One of the roles copied is phoneNumbers. This has a child property length indicating the number of phoneNumbers available for the contact. phoneNumbers.length is available (defined) direct from the ContactModel, but is undefined when I try to use it from the ListModel. So the console.log in the function appendContact() gives a valid result, but the console.log in populate() gives undefined. Other properties, including the phone numbers in phoneNumbers are defined when accessed from the ListModel. Equivalent code works in Haramtatan / Qt 4.7.4 Mobility 1.2 import QtContacts 5.0 ContactModel { id: phoneContactsModelInternal } ListModel { id: localContactModelInternal function populate() { clear(); for (var i = 0; i phoneContactsModelInternal.contacts.length; i ++) { appendContact(phoneContactsModelInternal.contacts[i]); console.log(checking number of phoneNumbers: + localContactModel.get(i).phoneNumbers.length); } } function appendContact(contact) { localContactModel.append({contactId: contact.contactId, displayLabel: contact.displayLabel.label, phoneNumbers: contact.phoneNumbers, phoneNumbersCount: contact.phoneNumbers.length}); console.log(appending: + contact.displayLabel.label + , numbers: + contact.phoneNumbers.length) } } Any ideas? Chris ___ SailfishOS.org Devel mailing list ___ SailfishOS.org Devel mailing list
Re: [SailfishDevel] QtContacts: phoneNumbers.length attribute gets lost when copied to ListModel
Hoi Matthew Thanks. I have now raised this bug report: https://bugreports.qt-project.org/browse/QTBUG-37139 Funnily, at least one of reasons lost in the mists of time is a previous bug report I raised at the start of the year: https://bugreports.qt-project.org/browse/QTBUG-35276 GrĂ¼sse Chris Zitat von Matthew Vogt matthew.v...@jolla.com: Hi Chris. This sounds like a regression in the (unfinished) qtpim module of Qt 5, which reimplements the functions provided by QtContacts in QtMobility. You can report bugs against this module here: https://bugreports.qt-project.org/browse/QTBUG/component/19726 Thanks, Matt From: devel-boun...@lists.sailfishos.org [devel-boun...@lists.sailfishos.org] on behalf of christopher.l...@thurweb.ch [christopher.l...@thurweb.ch] Sent: Thursday, February 27, 2014 8:09 PM To: Sailfish OS Developers Subject: [SailfishDevel] QtContacts: phoneNumbers.length attribute gets lostwhen copied to ListModel Hi All I have come across some strangeness using QtContacts 5.0 on Sailfish. For various reasons partially lost in the mists of time, I copy contacts (or rather a subset of contract roles) from the ContactModel to a a normal ListModel. One of the roles copied is phoneNumbers. This has a child property length indicating the number of phoneNumbers available for the contact. phoneNumbers.length is available (defined) direct from the ContactModel, but is undefined when I try to use it from the ListModel. So the console.log in the function appendContact() gives a valid result, but the console.log in populate() gives undefined. Other properties, including the phone numbers in phoneNumbers are defined when accessed from the ListModel. Equivalent code works in Haramtatan / Qt 4.7.4 Mobility 1.2 import QtContacts 5.0 ContactModel { id: phoneContactsModelInternal } ListModel { id: localContactModelInternal function populate() { clear(); for (var i = 0; i phoneContactsModelInternal.contacts.length; i ++) { appendContact(phoneContactsModelInternal.contacts[i]); console.log(checking number of phoneNumbers: + localContactModel.get(i).phoneNumbers.length); } } function appendContact(contact) { localContactModel.append({contactId: contact.contactId, displayLabel: contact.displayLabel.label, phoneNumbers: contact.phoneNumbers, phoneNumbersCount: contact.phoneNumbers.length}); console.log(appending: + contact.displayLabel.label + , numbers: + contact.phoneNumbers.length) } } Any ideas? Chris ___ SailfishOS.org Devel mailing list ___ SailfishOS.org Devel mailing list ___ SailfishOS.org Devel mailing list