import QtQuick import "../services" as S Column { id: root required property color accentColor Repeater { model: S.NetworkService.networks delegate: HoverableListItem { id: entry required property var modelData required property int index Text { id: netIcon anchors.left: parent.left anchors.leftMargin: 12 anchors.verticalCenter: parent.verticalCenter text: entry.modelData.isWifi ? "\uF1EB" : "\uDB80\uDE00" color: entry.modelData.active ? root.accentColor : S.Theme.base05 font.pixelSize: S.Theme.fontSize + 1 font.family: S.Theme.iconFontFamily } Text { anchors.left: netIcon.right anchors.leftMargin: 8 anchors.right: sigLabel.left anchors.rightMargin: 4 anchors.verticalCenter: parent.verticalCenter text: entry.modelData.name color: entry.modelData.active ? root.accentColor : S.Theme.base05 font.pixelSize: S.Theme.fontSize font.family: S.Theme.fontFamily font.bold: entry.modelData.active elide: Text.ElideRight } Text { id: sigLabel anchors.right: parent.right anchors.rightMargin: 12 anchors.verticalCenter: parent.verticalCenter text: entry.modelData.signal >= 0 ? entry.modelData.signal + "%" : "" color: S.Theme.base04 font.pixelSize: S.Theme.fontSize - 1 font.family: S.Theme.fontFamily width: entry.modelData.signal >= 0 ? implicitWidth : 0 } TapHandler { onTapped: { if (entry.modelData.active) S.NetworkService.disconnectNetwork(entry.modelData.uuid); else S.NetworkService.connectNetwork(entry.modelData.uuid); } } } } Text { visible: S.NetworkService.networks.length === 0 width: root.width height: 32 horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter text: S.NetworkService.wifiEnabled ? "No networks available" : "Wi-Fi is off" color: S.Theme.base04 font.pixelSize: S.Theme.fontSize font.family: S.Theme.fontFamily } }