2
import Ubuntu.Components 1.1
3
import QtQuick.Layouts 1.1
4
import Ubuntu.Components.ListItems 1.0 as ListItem
6
import "../components/TelegramColors.js" as TelegramColors
7
import "../js/avatar.js" as Avatar
8
import "../js/time.js" as Time
14
property int userId: 0
16
property alias lastSeen: lastSeenText.text
18
signal getUserAnswer(ContactItem user);
20
function getUserInfo() {
21
telegramClient.getUser(userId);
24
function updateFromContact(user) {
25
contactNameText.text = user.firstName + " " + user.lastName;
26
phone.text = user.phone;
28
if (user.hasOwnProperty("online") && user.online) {
29
lastSeen = i18n.tr("online");
30
} else if (user.hasOwnProperty("lastSeenOnline")) {
31
var lastSeenTime = Time.formatLastSeen(user.lastSeenOnline * 1000);
32
lastSeen = i18n.tr("last seen %1").arg(lastSeenTime);
35
if (user.hasOwnProperty("thumbnail") && user.thumbnail.length > 0) {
36
photoImage.source = user.thumbnail;
37
} else if (user.hasOwnProperty(id)) {
38
photoImage.source = "../images/" + Avatar.getAvatar(user.id);
42
function openSimpleChat(title, id) {
43
while (pageStack.depth !== 1) {
46
openChat(title, id, TLInputPeer.TypeInputPeerContact);
49
Component.onCompleted: {
50
telegramClient.getUserAnswer.connect(profilePage.getUserAnswer);
54
Component.onDestruction: {
55
telegramClient.getUserAnswer.disconnect(profilePage.getUserAnswer);
59
if (user.id !== userId) return;
60
updateFromContact(user);
63
title: i18n.tr("Contact Info")
82
width: source == "" || source === undefined ? 0 : units.gu(8);
85
fillMode: Image.PreserveAspectCrop
86
source: "../images/user_blue.png"
93
width: parent.width - photoImage.width
94
anchors.verticalCenter: photoImage.verticalCenter
100
color: TelegramColors.black
101
text: i18n.tr("Unknown")
106
color: TelegramColors.grey
107
text: i18n.tr("last seen - unknown")
114
text: i18n.tr("Phone Number")
115
visible: phoneRow.visible
116
anchors.top: contactHeaderRow.bottom
117
anchors.topMargin: units.gu(2)
123
visible: phone.text !== i18n.tr("Unknown") && phone.text !== ""
127
leftMargin: units.gu(2)
129
rightMargin: units.gu(2)
130
top: phoneHeader.bottom
135
text: i18n.tr("Unknown")
136
Layout.fillWidth: true
146
anchors.centerIn: parent
147
source: Qt.resolvedUrl("../images/call.png")
150
Qt.openUrlExternally("tel:///" + phone.text)
161
anchors.centerIn: parent
162
source: Qt.resolvedUrl("../images/ic_profile_send_message.png")
165
openSimpleChat(contactNameText.text, userId)