// Copyright (C) 2026 Danilo M. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as // published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. import QtQuick import "../.." // The state line under the tile label, and the poll's lifetime: the tile // exists exactly while the drawer panel is loaded, so it turns polling on and // off. Without this the module would poll while the drawer is closed, which // nothing needs. Item { id: tile required property var mod width: parent ? parent.width : implicitWidth implicitHeight: state.implicitHeight Component.onCompleted: mod.polling = true Component.onDestruction: mod.polling = false Text { id: state width: parent.width elide: Text.ElideRight font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 } color: tile.mod.anyReachable ? Theme.text : Theme.subtext text: { const r = tile.mod.reachable; if (r.length === 1) return r[0].charge !== "" ? r[0].name + " " + r[0].charge + "%" : r[0].name; if (r.length > 1) return r.length + " connected"; if (tile.mod.paired.length > 0) return "Offline"; return "No devices"; } } }