100 lines
3 KiB
QML
100 lines
3 KiB
QML
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)
|
|
}
|
|
}
|