33 all.append( detail ); |
33 all.append( detail ); |
34 |
34 |
35 // if there's no details, add |
35 // if there's no details, add |
36 if ( all.isEmpty() ) |
36 if ( all.isEmpty() ) |
37 { |
37 { |
38 QContactPhoneNumber number; |
38 QContactPhoneNumber mobileNumber; |
39 number.setSubTypes( QContactPhoneNumber::SubTypeMobile ); |
39 mobileNumber.setSubTypes( QContactPhoneNumber::SubTypeMobile ); |
40 |
40 all.append( mobileNumber ); |
41 all.append( number ); |
41 |
|
42 QContactPhoneNumber landLineNumber; |
|
43 landLineNumber.setSubTypes( QContactPhoneNumber::SubTypeLandline ); |
|
44 all.append( landLineNumber ); |
42 } |
45 } |
43 |
46 |
44 HbDataFormModelItem* root = invisibleRootItem(); |
47 HbDataFormModelItem* root = invisibleRootItem(); |
45 // add all phone numbers & online accounts to model |
48 // add all phone numbers & online accounts to model |
46 foreach ( QContactDetail contactDetail, all ) |
49 foreach ( QContactDetail contactDetail, all ) |
52 |
55 |
53 void CntPhoneNumberModel::insertDetailField() |
56 void CntPhoneNumberModel::insertDetailField() |
54 { |
57 { |
55 QContactPhoneNumber number; |
58 QContactPhoneNumber number; |
56 number.setSubTypes( QContactPhoneNumber::SubTypeMobile ); |
59 number.setSubTypes( QContactPhoneNumber::SubTypeMobile ); |
57 |
60 |
58 appendDataFormItem( new CntDetailModelItem(number), invisibleRootItem() ); |
61 appendDataFormItem( new CntDetailModelItem(number), invisibleRootItem() ); |
59 } |
62 } |
60 |
63 |
61 void CntPhoneNumberModel::saveContactDetails() |
64 void CntPhoneNumberModel::saveContactDetails() |
62 { |
65 { |
63 HbDataFormModelItem* root = invisibleRootItem(); |
66 HbDataFormModelItem* root = invisibleRootItem(); |
64 int count( root->childCount() ); |
67 int count( root->childCount() ); |
65 for ( int i = 0; i < count; i++ ) { |
68 for ( int i = 0; i < count; i++ ) { |
66 CntDetailModelItem* item = static_cast<CntDetailModelItem*>( root->childAt(i) ); |
69 CntDetailModelItem* item = static_cast<CntDetailModelItem*>( root->childAt(i) ); |
67 QContactDetail detail = item->detail(); |
70 QContactDetail detail = item->detail(); |
|
71 mContact->saveDetail( &detail ); |
68 |
72 |
69 if ( detail.definitionName() == QContactPhoneNumber::DefinitionName ) |
73 if ( detail.definitionName() == QContactPhoneNumber::DefinitionName ) |
70 { |
74 { |
71 QContactPhoneNumber phonenumber = detail; |
75 if ( detail.value(QContactPhoneNumber::FieldNumber).isEmpty() ) |
72 if ( phonenumber.number().length() > 0 ) { |
76 mContact->removeDetail( &detail ); |
73 mContact->saveDetail( &phonenumber ); |
77 } |
|
78 |
|
79 if ( detail.definitionName() == QContactOnlineAccount::DefinitionName ) |
|
80 { |
|
81 if ( detail.value(QContactOnlineAccount::FieldAccountUri).isEmpty() ) |
|
82 { |
|
83 mContact->removeDetail( &detail ); |
74 } |
84 } |
75 } |
|
76 else if ( detail.definitionName() == QContactOnlineAccount::DefinitionName ) |
|
77 { |
|
78 QContactOnlineAccount account = detail; |
|
79 if ( account.accountUri().length() > 0 ) { |
|
80 mContact->saveDetail( &account ); |
|
81 } |
|
82 } |
|
83 else { |
|
84 /* should never be here */ |
|
85 qWarning() << "Unknown: " << detail.definitionName(); |
|
86 } |
85 } |
87 } |
86 } |
88 } |
87 } |
89 |
88 |
90 CntPhoneNumberModel::~CntPhoneNumberModel() |
89 CntPhoneNumberModel::~CntPhoneNumberModel() |