diff options
author | Matt Porter <mporter@konsulko.com> | 2018-05-21 11:54:33 -0400 |
---|---|---|
committer | Matt Porter <mporter@konsulko.com> | 2018-05-22 11:34:53 +0000 |
commit | 14b2f421da514a3d8584f7983884a9027ac06cbb (patch) | |
tree | d813469bfcbb353c4d3ba919804c9cbef41bbc8b /app/Recents.qml | |
parent | 87c3378a8b716b896ca0cb72ccfb2e13f748058a (diff) |
phone: add tabbed view
Adds support for a tabbed view of contacts, recent call,
and the dialpad. This adjusts the UI to look more like a
modern mobile phone app. The same models populate the
contacts view and the recent call view as before with
the latter being a more useful full screen list. The recent
call history also includes type of call information (missed,
incoming, outgoing) and the UI displays icons accordingly
to indicate type of call that occured as well as a time
stamp. For now, the icons are placeholders but will be
replaced by icons design to match the AGL look and feel.
Bug-AGL: SPEC-1435
Change-Id: I521155a11208e92ece83f20f7f3dd643deb92099
Signed-off-by: Matt Porter <mporter@konsulko.com>
Diffstat (limited to 'app/Recents.qml')
-rw-r--r-- | app/Recents.qml | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/app/Recents.qml b/app/Recents.qml new file mode 100644 index 0000000..848cdab --- /dev/null +++ b/app/Recents.qml @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2018 Konsulko Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 +import CallType 1.0 +import 'models' + +Item { + id: root + + function log_icon(type) { + if (type == CallType.Missed) { + return './images/ic_call_missed_48px.svg' + } else if (type == CallType.Incoming) { + return './images/ic_call_received_48px.svg' + } else if (type == CallType.Outgoing) { + return './images/ic_call_made_48px.svg' + } + } + + signal call(var cname, var cnumber) + + ListView { + anchors.fill: parent + anchors.margins: 100 + + model: CallHistoryModel { id: history } + + delegate: MouseArea { + width: ListView.view.width + height: width / 5 + RowLayout { + anchors.fill: parent + spacing: 50 + Image { + source: log_icon(model.type) + Layout.preferredWidth: 150 + Layout.preferredHeight: 150 + } + Image { + source: './images/HMI_Phone_Contact_BlankPhoto.svg' + Layout.preferredWidth: 150 + Layout.preferredHeight: 150 + } + ColumnLayout { + Label { + Layout.fillWidth: true + color: '#59FF7F' + font.pixelSize: 50 + text: model.name + } + + Label { + Layout.fillWidth: true + font.pixelSize: 50 + text: new Date(model.time).toLocaleString(Qt.locale(), "ddd MMM d 'at' HH':'mm") + } + } + } + onClicked: root.call(model.name, model.number) + } + } +} |