Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linphone-desktop
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
linphone-desktop
Commits
eec251ea
Commit
eec251ea
authored
Dec 13, 2016
by
Ronan Abhamon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(src/components/contact/VcardModel): supports addresses
parent
76def6d0
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
21 deletions
+49
-21
VcardModel.cpp
tests/src/components/contact/VcardModel.cpp
+49
-21
No files found.
tests/src/components/contact/VcardModel.cpp
View file @
eec251ea
...
@@ -86,8 +86,8 @@ void VcardModel::setAvatar (const QString &path) {
...
@@ -86,8 +86,8 @@ void VcardModel::setAvatar (const QString &path) {
qInfo
()
<<
QStringLiteral
(
"Update avatar of `%1`. (path=%2)"
).
arg
(
getUsername
()).
arg
(
dest
);
qInfo
()
<<
QStringLiteral
(
"Update avatar of `%1`. (path=%2)"
).
arg
(
getUsername
()).
arg
(
dest
);
// 2. Edit vcard.
// 2. Edit vcard.
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
list
<
shared_ptr
<
belcard
::
BelCardPhoto
>
>
photos
=
bel
C
ard
->
getPhotos
();
list
<
shared_ptr
<
belcard
::
BelCardPhoto
>
>
photos
=
bel
c
ard
->
getPhotos
();
// 3. Remove oldest photo.
// 3. Remove oldest photo.
auto
it
=
find_if
(
auto
it
=
find_if
(
...
@@ -105,14 +105,14 @@ void VcardModel::setAvatar (const QString &path) {
...
@@ -105,14 +105,14 @@ void VcardModel::setAvatar (const QString &path) {
if
(
!
QFile
::
remove
(
image_path
))
if
(
!
QFile
::
remove
(
image_path
))
qWarning
()
<<
QStringLiteral
(
"Unable to remove `%1`."
).
arg
(
image_path
);
qWarning
()
<<
QStringLiteral
(
"Unable to remove `%1`."
).
arg
(
image_path
);
bel
C
ard
->
removePhoto
(
*
it
);
bel
c
ard
->
removePhoto
(
*
it
);
}
}
// 4. Update.
// 4. Update.
shared_ptr
<
belcard
::
BelCardPhoto
>
photo
=
shared_ptr
<
belcard
::
BelCardPhoto
>
photo
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardPhoto
>
();
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardPhoto
>
();
photo
->
setValue
(
VCARD_SCHEME
+
::
Utils
::
qStringToLinphoneString
(
file_id
));
photo
->
setValue
(
VCARD_SCHEME
+
::
Utils
::
qStringToLinphoneString
(
file_id
));
bel
C
ard
->
addPhoto
(
photo
);
bel
c
ard
->
addPhoto
(
photo
);
emit
vcardUpdated
();
emit
vcardUpdated
();
}
}
...
@@ -120,11 +120,39 @@ void VcardModel::setAvatar (const QString &path) {
...
@@ -120,11 +120,39 @@ void VcardModel::setAvatar (const QString &path) {
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
QVariantMap
VcardModel
::
getAddress
()
const
{
QVariantMap
VcardModel
::
getAddress
()
const
{
// TODO
list
<
shared_ptr
<
belcard
::
BelCardAddress
>
>
addresses
=
m_vcard
->
getBelcard
()
->
getAddresses
();
QVariantMap
map
;
if
(
addresses
.
empty
())
return
map
;
shared_ptr
<
belcard
::
BelCardAddress
>
address
=
addresses
.
front
();
map
[
"street"
]
=
::
Utils
::
linphoneStringToQString
(
address
->
getStreet
());
map
[
"locality"
]
=
::
Utils
::
linphoneStringToQString
(
address
->
getLocality
());
map
[
"postalCode"
]
=
::
Utils
::
linphoneStringToQString
(
address
->
getPostalCode
());
map
[
"country"
]
=
::
Utils
::
linphoneStringToQString
(
address
->
getCountry
());
return
map
;
}
}
void
VcardModel
::
setAddress
(
const
QVariantMap
&
address
)
{
void
VcardModel
::
setAddress
(
const
QVariantMap
&
address
)
{
// TODO
shared_ptr
<
belcard
::
BelCard
>
belcard
=
m_vcard
->
getBelcard
();
list
<
shared_ptr
<
belcard
::
BelCardAddress
>
>
addresses
=
belcard
->
getAddresses
();
while
(
!
addresses
.
empty
())
belcard
->
removeAddress
(
addresses
.
front
());
shared_ptr
<
belcard
::
BelCardAddress
>
belcard_address
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardAddress
>
();
belcard_address
->
setStreet
(
::
Utils
::
qStringToLinphoneString
(
address
[
"street"
].
toString
()));
belcard_address
->
setLocality
(
::
Utils
::
qStringToLinphoneString
(
address
[
"locality"
].
toString
()));
belcard_address
->
setPostalCode
(
::
Utils
::
qStringToLinphoneString
(
address
[
"postalCode"
].
toString
()));
belcard_address
->
setCountry
(
::
Utils
::
qStringToLinphoneString
(
address
[
"country"
].
toString
()));
belcard
->
addAddress
(
belcard_address
);
emit
vcardUpdated
();
}
}
QVariantList
VcardModel
::
getSipAddresses
()
const
{
QVariantList
VcardModel
::
getSipAddresses
()
const
{
...
@@ -194,12 +222,12 @@ QVariantList VcardModel::getCompanies () const {
...
@@ -194,12 +222,12 @@ QVariantList VcardModel::getCompanies () const {
}
}
bool
VcardModel
::
addCompany
(
const
QString
&
company
)
{
bool
VcardModel
::
addCompany
(
const
QString
&
company
)
{
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCardRole
>
value
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardRole
>
();
shared_ptr
<
belcard
::
BelCardRole
>
value
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardRole
>
();
value
->
setValue
(
::
Utils
::
qStringToLinphoneString
(
company
));
value
->
setValue
(
::
Utils
::
qStringToLinphoneString
(
company
));
qInfo
()
<<
QStringLiteral
(
"Add new company: `%1`."
).
arg
(
company
);
qInfo
()
<<
QStringLiteral
(
"Add new company: `%1`."
).
arg
(
company
);
bel
C
ard
->
addRole
(
value
);
bel
c
ard
->
addRole
(
value
);
emit
vcardUpdated
();
emit
vcardUpdated
();
...
@@ -207,8 +235,8 @@ bool VcardModel::addCompany (const QString &company) {
...
@@ -207,8 +235,8 @@ bool VcardModel::addCompany (const QString &company) {
}
}
void
VcardModel
::
removeCompany
(
const
QString
&
company
)
{
void
VcardModel
::
removeCompany
(
const
QString
&
company
)
{
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCardRole
>
value
=
findBelCardValue
(
bel
C
ard
->
getRoles
(),
company
);
shared_ptr
<
belcard
::
BelCardRole
>
value
=
findBelCardValue
(
bel
c
ard
->
getRoles
(),
company
);
if
(
!
value
)
{
if
(
!
value
)
{
qWarning
()
<<
QStringLiteral
(
"Unable to remove company: `%1`."
).
arg
(
company
);
qWarning
()
<<
QStringLiteral
(
"Unable to remove company: `%1`."
).
arg
(
company
);
...
@@ -216,7 +244,7 @@ void VcardModel::removeCompany (const QString &company) {
...
@@ -216,7 +244,7 @@ void VcardModel::removeCompany (const QString &company) {
}
}
qInfo
()
<<
QStringLiteral
(
"Remove company: `%1`."
).
arg
(
company
);
qInfo
()
<<
QStringLiteral
(
"Remove company: `%1`."
).
arg
(
company
);
bel
C
ard
->
removeRole
(
value
);
bel
c
ard
->
removeRole
(
value
);
emit
vcardUpdated
();
emit
vcardUpdated
();
}
}
...
@@ -242,13 +270,13 @@ QVariantList VcardModel::getEmails () const {
...
@@ -242,13 +270,13 @@ QVariantList VcardModel::getEmails () const {
}
}
bool
VcardModel
::
addEmail
(
const
QString
&
email
)
{
bool
VcardModel
::
addEmail
(
const
QString
&
email
)
{
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCardEmail
>
value
=
shared_ptr
<
belcard
::
BelCardEmail
>
value
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardEmail
>
();
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardEmail
>
();
value
->
setValue
(
::
Utils
::
qStringToLinphoneString
(
email
));
value
->
setValue
(
::
Utils
::
qStringToLinphoneString
(
email
));
qInfo
()
<<
QStringLiteral
(
"Add new email: `%1`."
).
arg
(
email
);
qInfo
()
<<
QStringLiteral
(
"Add new email: `%1`."
).
arg
(
email
);
bel
C
ard
->
addEmail
(
value
);
bel
c
ard
->
addEmail
(
value
);
emit
vcardUpdated
();
emit
vcardUpdated
();
...
@@ -256,8 +284,8 @@ bool VcardModel::addEmail (const QString &email) {
...
@@ -256,8 +284,8 @@ bool VcardModel::addEmail (const QString &email) {
}
}
void
VcardModel
::
removeEmail
(
const
QString
&
email
)
{
void
VcardModel
::
removeEmail
(
const
QString
&
email
)
{
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCardEmail
>
value
=
findBelCardValue
(
bel
C
ard
->
getEmails
(),
email
);
shared_ptr
<
belcard
::
BelCardEmail
>
value
=
findBelCardValue
(
bel
c
ard
->
getEmails
(),
email
);
if
(
!
value
)
{
if
(
!
value
)
{
qWarning
()
<<
QStringLiteral
(
"Unable to remove email: `%1`."
).
arg
(
email
);
qWarning
()
<<
QStringLiteral
(
"Unable to remove email: `%1`."
).
arg
(
email
);
...
@@ -265,7 +293,7 @@ void VcardModel::removeEmail (const QString &email) {
...
@@ -265,7 +293,7 @@ void VcardModel::removeEmail (const QString &email) {
}
}
qInfo
()
<<
QStringLiteral
(
"Remove email: `%1`."
).
arg
(
email
);
qInfo
()
<<
QStringLiteral
(
"Remove email: `%1`."
).
arg
(
email
);
bel
C
ard
->
removeEmail
(
value
);
bel
c
ard
->
removeEmail
(
value
);
emit
vcardUpdated
();
emit
vcardUpdated
();
}
}
...
@@ -291,12 +319,12 @@ QVariantList VcardModel::getUrls () const {
...
@@ -291,12 +319,12 @@ QVariantList VcardModel::getUrls () const {
}
}
bool
VcardModel
::
addUrl
(
const
QString
&
url
)
{
bool
VcardModel
::
addUrl
(
const
QString
&
url
)
{
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCardURL
>
value
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardURL
>
();
shared_ptr
<
belcard
::
BelCardURL
>
value
=
belcard
::
BelCardGeneric
::
create
<
belcard
::
BelCardURL
>
();
value
->
setValue
(
::
Utils
::
qStringToLinphoneString
(
url
));
value
->
setValue
(
::
Utils
::
qStringToLinphoneString
(
url
));
qInfo
()
<<
QStringLiteral
(
"Add new url: `%1`."
).
arg
(
url
);
qInfo
()
<<
QStringLiteral
(
"Add new url: `%1`."
).
arg
(
url
);
bel
C
ard
->
addURL
(
value
);
bel
c
ard
->
addURL
(
value
);
emit
vcardUpdated
();
emit
vcardUpdated
();
...
@@ -304,8 +332,8 @@ bool VcardModel::addUrl (const QString &url) {
...
@@ -304,8 +332,8 @@ bool VcardModel::addUrl (const QString &url) {
}
}
void
VcardModel
::
removeUrl
(
const
QString
&
url
)
{
void
VcardModel
::
removeUrl
(
const
QString
&
url
)
{
shared_ptr
<
belcard
::
BelCard
>
bel
C
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCard
>
bel
c
ard
=
m_vcard
->
getBelcard
();
shared_ptr
<
belcard
::
BelCardURL
>
value
=
findBelCardValue
(
bel
C
ard
->
getURLs
(),
url
);
shared_ptr
<
belcard
::
BelCardURL
>
value
=
findBelCardValue
(
bel
c
ard
->
getURLs
(),
url
);
if
(
!
value
)
{
if
(
!
value
)
{
qWarning
()
<<
QStringLiteral
(
"Unable to remove url: `%1`."
).
arg
(
url
);
qWarning
()
<<
QStringLiteral
(
"Unable to remove url: `%1`."
).
arg
(
url
);
...
@@ -313,7 +341,7 @@ void VcardModel::removeUrl (const QString &url) {
...
@@ -313,7 +341,7 @@ void VcardModel::removeUrl (const QString &url) {
}
}
qInfo
()
<<
QStringLiteral
(
"Remove url: `%1`."
).
arg
(
url
);
qInfo
()
<<
QStringLiteral
(
"Remove url: `%1`."
).
arg
(
url
);
bel
C
ard
->
removeURL
(
value
);
bel
c
ard
->
removeURL
(
value
);
emit
vcardUpdated
();
emit
vcardUpdated
();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment