How to get network status in QML?
I wrote an applet that makes an API call every 10 minutes, but I want it to show a message if the computer is offline. This means I need to get the network status within QML. I thought a DataEngine might be available, but there isn't.
I read the code for plasma-nm and found this solution hack:
import org.kde.plasma.networkmanagement 0.2 as PlasmaNM
PlasmaNM.NetworkStatus {
id: networkStatus
}
PlasmaComponents3.Label {
visible: networkStatus.networkStatus != "Connected"
text: i18n("Network disconnected")
}
But I think comparing strings is a terrible way because I don't know what will happen in other locales.
Is there a better way?
Did you try:
This use an enum and should be a lot more robust
It seems
networkStatusdoesn't provide aconnectivityattribute andPlasmaNM.NetworkManagerdoesn't have aFulleither:What about checking via dbus?
that would be ideal! but I can't seem to find a way to do it natively without some C++ library like this one?
I need to setup notifications here. I am not familiar with how qml works, but can't ituse qt native integration, like the one documented in the kde page
You should list the properties of the object you are dealing with. Perhaps there are some unknown functions/properties that may do what you want