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
e69d7fcd
Commit
e69d7fcd
authored
Dec 20, 2016
by
Ronan Abhamon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(app): add `sip-addresses`/* components
parent
4a7dd0b8
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
65 additions
and
27 deletions
+65
-27
CMakeLists.txt
tests/CMakeLists.txt
+4
-0
SipAddressModel.cpp
tests/src/components/sip-addresses/SipAddressModel.cpp
+3
-0
SipAddressModel.hpp
tests/src/components/sip-addresses/SipAddressModel.hpp
+14
-0
SipAddressesModel.cpp
tests/src/components/sip-addresses/SipAddressesModel.cpp
+3
-0
SipAddressesModel.hpp
tests/src/components/sip-addresses/SipAddressesModel.hpp
+14
-0
TimelineModel.cpp
tests/src/components/timeline/TimelineModel.cpp
+25
-25
TimelineModel.hpp
tests/src/components/timeline/TimelineModel.hpp
+2
-2
No files found.
tests/CMakeLists.txt
View file @
e69d7fcd
...
...
@@ -66,6 +66,8 @@ set(SOURCES
src/components/notifier/Notifier.cpp
src/components/settings/AccountSettingsModel.cpp
src/components/settings/SettingsModel.cpp
src/components/sip-addresses/SipAddressesModel.cpp
src/components/sip-addresses/SipAddressModel.cpp
src/components/smart-search-bar/SmartSearchBarModel.cpp
src/components/smart-search-bar/SmartSearchBarProxyModel.cpp
src/components/timeline/TimelineModel.cpp
...
...
@@ -90,6 +92,8 @@ set(HEADERS
src/components/presence/Presence.hpp
src/components/settings/AccountSettingsModel.hpp
src/components/settings/SettingsModel.hpp
src/components/sip-addresses/SipAddressesModel.hpp
src/components/sip-addresses/SipAddressModel.hpp
src/components/smart-search-bar/SmartSearchBarModel.hpp
src/components/smart-search-bar/SmartSearchBarProxyModel.hpp
src/components/timeline/TimelineModel.hpp
...
...
tests/src/components/sip-addresses/SipAddressModel.cpp
0 → 100644
View file @
e69d7fcd
#include "SipAddressModel.hpp"
// =============================================================================
tests/src/components/sip-addresses/SipAddressModel.hpp
0 → 100644
View file @
e69d7fcd
#ifndef SIP_ADDRESS_MODEL_H_
#define SIP_ADDRESS_MODEL_H_
#include <QObject>
// =============================================================================
class
SipAddressModel
:
public
QObject
{
Q_OBJECT
;
public:
};
#endif // SIP_ADDRESS_H_
tests/src/components/sip-addresses/SipAddressesModel.cpp
0 → 100644
View file @
e69d7fcd
#include "SipAddressesModel.hpp"
// =============================================================================
tests/src/components/sip-addresses/SipAddressesModel.hpp
0 → 100644
View file @
e69d7fcd
#ifndef SIP_ADDRESSES_MODEL_H_
#define SIP_ADDRESSES_MODEL_H_
#include <QAbstractListModel>
// =============================================================================
class
SipAddresses
:
public
QAbstractListModel
{
Q_OBJECT
;
public:
};
#endif // SIP_ADDRESSES_MODEL_H_
tests/src/components/timeline/TimelineModel.cpp
View file @
e69d7fcd
#include <algorithm>
#include <linphone++/linphone.hh>
#include <QDateTime>
#include <QSet>
#include <linphone++/linphone.hh>
#include "../../utils.hpp"
#include "../contacts/ContactsListModel.hpp"
...
...
@@ -56,16 +56,16 @@ QVariant TimelineModel::data (const QModelIndex &index, int role) const {
void
TimelineModel
::
init_entries
()
{
// Returns an iterator entry position to insert a new entry.
auto
search_entry
=
[
this
](
const
QVariantMap
&
map
,
const
QList
<
QMap
<
QString
,
QVariant
>
>::
iterator
*
start
=
NULL
)
{
return
lower_bound
(
start
?
*
start
:
m_entries
.
begin
(),
m_entries
.
end
(),
map
,
[](
const
QVariantMap
&
a
,
const
QVariantMap
&
b
)
{
return
a
[
"timestamp"
]
>
b
[
"timestamp"
];
}
);
};
const
QVariantMap
&
map
,
const
QList
<
QMap
<
QString
,
QVariant
>
>::
iterator
*
start
=
NULL
)
{
return
lower_bound
(
start
?
*
start
:
m_entries
.
begin
(),
m_entries
.
end
(),
map
,
[](
const
QVariantMap
&
a
,
const
QVariantMap
&
b
)
{
return
a
[
"timestamp"
]
>
b
[
"timestamp"
];
}
);
};
shared_ptr
<
linphone
::
Core
>
core
(
CoreManager
::
getInstance
()
->
getCore
());
...
...
@@ -82,11 +82,11 @@ void TimelineModel::init_entries () {
// Insert event message in timeline entries.
QVariantMap
map
;
map
[
"timestamp"
]
=
QDateTime
::
fromMSecsSinceEpoch
(
static_cast
<
qint64
>
(
message
->
getTime
())
*
1000
);
map
[
"sipAddresses"
]
=
Utils
::
linphoneStringToQString
(
chat_room
->
getPeerAddress
()
->
asString
()
);
static_cast
<
qint64
>
(
message
->
getTime
())
*
1000
);
map
[
"sipAddresses"
]
=
::
Utils
::
linphoneStringToQString
(
chat_room
->
getPeerAddress
()
->
asString
()
);
m_entries
.
insert
(
search_entry
(
map
),
map
);
}
...
...
@@ -95,9 +95,9 @@ void TimelineModel::init_entries () {
QSet
<
QString
>
address_done
;
for
(
const
auto
&
call_log
:
core
->
getCallLogs
())
{
// Get a sip uri to check.
QString
address
=
Utils
::
linphoneStringToQString
(
call_log
->
getRemoteAddress
()
->
asString
()
);
QString
address
=
::
Utils
::
linphoneStringToQString
(
call_log
->
getRemoteAddress
()
->
asString
()
);
if
(
address_done
.
contains
(
address
))
continue
;
// Already used.
...
...
@@ -107,16 +107,16 @@ void TimelineModel::init_entries () {
// Make a new map.
QVariantMap
map
;
map
[
"timestamp"
]
=
QDateTime
::
fromMSecsSinceEpoch
(
static_cast
<
qint64
>
(
call_log
->
getStartDate
()
+
call_log
->
getDuration
())
*
1000
);
static_cast
<
qint64
>
(
call_log
->
getStartDate
()
+
call_log
->
getDuration
())
*
1000
);
map
[
"sipAddresses"
]
=
address
;
// Search existing entry.
auto
it
=
find_if
(
m_entries
.
begin
(),
m_entries
.
end
(),
[
&
address
](
const
QVariantMap
&
map
)
{
return
address
==
map
[
"sipAddresses"
].
toString
();
}
);
m_entries
.
begin
(),
m_entries
.
end
(),
[
&
address
](
const
QVariantMap
&
map
)
{
return
address
==
map
[
"sipAddresses"
].
toString
();
}
);
// Is it a new entry?
if
(
it
==
m_entries
.
cend
())
...
...
tests/src/components/timeline/TimelineModel.hpp
View file @
e69d7fcd
...
...
@@ -5,7 +5,7 @@
class
ContactsListModel
;
// ===================================================================
// ===================================================================
==========
class
TimelineModel
:
public
QAbstractListModel
{
Q_OBJECT
;
...
...
@@ -23,7 +23,7 @@ private:
// A timeline enty is a object that contains:
// - A QDateTime `timestamp`.
// - A `sipAddresses` value, if it exists only one address, it's
//
a string, otherwise it's a string array.
// a string, otherwise it's a string array.
QList
<
QVariantMap
>
m_entries
;
};
...
...
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