105 lines
3.3 KiB
QML
105 lines
3.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
|
||
}
|
||
|
||
BaseHeaderType {
|
||
id: header
|
||
|
||
Layout.fillWidth: true
|
||
Layout.rightMargin: 16
|
||
Layout.leftMargin: 16
|
||
|
||
headerText: qsTr("Active Devices")
|
||
descriptionText: qsTr("Manage currently 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() {
|
||
if (isCurrentDevice && ServersModel.isDefaultServerCurrentlyProcessed() && ConnectionController.isConnected) {
|
||
PageController.showNotificationMessage(qsTr("Cannot unlink device during active connection"))
|
||
return
|
||
}
|
||
|
||
var headerText = qsTr("Are you sure you want to unlink this device?")
|
||
var descriptionText = qsTr("This will unlink the device from your subscription. You can reconnect it anytime by pressing \"Reload API config\" in subscription settings on device.")
|
||
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)
|
||
}
|
||
}
|