import QtQuick import QtQuick.Controls import QtQuick.Layouts import QtQuick.Dialogs import QtCore import SortFilterProxyModel 0.2 import PageEnum 1.0 import Style 1.0 import "./" import "../Controls2" import "../Controls2/TextTypes" import "../Config" import "../Components" PageType { id: root ListViewType { id: listView anchors.fill: parent anchors.topMargin: 20 anchors.bottomMargin: 24 model: ApiDevicesModel header: ColumnLayout { width: listView.width BackButtonType { id: backButton } HeaderType { id: header Layout.fillWidth: true Layout.rightMargin: 16 Layout.leftMargin: 16 headerText: qsTr("Connected devices") descriptionText: qsTr("To manage connected devices") } WarningType { Layout.topMargin: 16 Layout.rightMargin: 16 Layout.leftMargin: 16 Layout.fillWidth: true textString: qsTr("You can find the identifier on the Support tab or, for older versions of the app, " + "by tapping '+' and then the three dots at the top of the page.") iconPath: "qrc:/images/controls/alert-circle.svg" } } delegate: ColumnLayout { width: listView.width LabelWithButtonType { Layout.fillWidth: true Layout.topMargin: 6 text: osVersion + (isCurrentDevice ? qsTr(" (current device)") : "") descriptionText: qsTr("Support tag: ") + "\n" + supportTag + "\n" + qsTr("Last updated: ") + lastUpdate rightImageSource: "qrc:/images/controls/trash.svg" clickedFunction: function() { var headerText = qsTr("Deactivate the subscription on selected device") var descriptionText = qsTr("The next time the “Connect” button is pressed, the device will be activated again") var yesButtonText = qsTr("Continue") var noButtonText = qsTr("Cancel") var yesButtonFunction = function() { Qt.callLater(deactivateExternalDevice, supportTag, countryCode) } var noButtonFunction = function() { } showQuestionDrawer(headerText, descriptionText, yesButtonText, noButtonText, yesButtonFunction, noButtonFunction) } } DividerType {} } } function deactivateExternalDevice(supportTag, countryCode) { PageController.showBusyIndicator(true) if (ApiConfigsController.deactivateExternalDevice(supportTag, countryCode)) { ApiSettingsController.getAccountInfo(true) } PageController.showBusyIndicator(false) } }