Warning, /plasma-mobile/spacebar/src/contents/ui/PhoneNumberDialog.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2021 Nicolas Fella <nicolas.fella@gmx.de> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Layouts 0009 import QtQuick.Controls as Controls 0010 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.kirigamiaddons.delegates as Delegates 0013 0014 import org.kde.spacebar 0015 0016 Kirigami.Dialog { 0017 id: root 0018 0019 property alias numbers: list.model 0020 property var selected: [] 0021 0022 signal numberSelected(string number) 0023 0024 ListView { 0025 id: list 0026 implicitWidth: Kirigami.Units.gridUnit * 20 0027 implicitHeight: contentHeight 0028 currentIndex: -1 0029 0030 delegate: Delegates.RoundedItemDelegate { 0031 id: delegateItem 0032 width: parent.width 0033 implicitHeight: Kirigami.Units.iconSizes.medium + Kirigami.Units.largeSpacing * 2 0034 verticalPadding: 0 0035 contentItem: RowLayout { 0036 spacing: Kirigami.Units.largeSpacing 0037 0038 RowLayout { 0039 Controls.CheckBox { 0040 Layout.fillHeight: true 0041 Layout.preferredWidth: height 0042 checked: selected.findIndex(o => o.phoneNumber == subtitleItem.text) >= 0 0043 checkable: true 0044 onToggled: root.numberSelected(modelData.normalizedNumber) 0045 } 0046 } 0047 0048 ColumnLayout { 0049 Layout.fillWidth: true 0050 spacing: 0 0051 0052 Controls.Label { 0053 id: labelItem 0054 Layout.fillWidth: true 0055 Layout.alignment: subtitleItem.visible ? Qt.AlignLeft | Qt.AlignBottom : Qt.AlignLeft | Qt.AlignVCenter 0056 text: modelData.typeLabel 0057 elide: Text.ElideRight 0058 color: Kirigami.Theme.textColor 0059 } 0060 Controls.Label { 0061 id: subtitleItem 0062 visible: text 0063 Layout.fillWidth: true 0064 Layout.alignment: Qt.AlignLeft | Qt.AlignTop 0065 text: Utils.phoneNumberToInternationalString(Utils.phoneNumber(modelData.number)) 0066 elide: Text.ElideRight 0067 color: Kirigami.Theme.textColor 0068 opacity: 0.7 0069 font: Kirigami.Theme.smallFont 0070 } 0071 } 0072 0073 } 0074 onClicked: { 0075 close() 0076 root.numberSelected(modelData.normalizedNumber) 0077 } 0078 } 0079 } 0080 }