QML plugin
SonicDE doesn't ship this plugin. It's part of the upstream plasma-dialer project, which you would need to build yourself.
kde-telephony-plugin-declarative provides the org.kde.telephony QML module, a set of QML interfaces to the session daemons' D-Bus APIs.
Getting started
A minimal setup needs these parts of plasma-dialer:
- kde-telephony-meta, the D-Bus API descriptions.
- modem-daemon, for calls and history, which provides a D-Bus adaptor following those descriptions.
- kde-telephony-plugin-declarative, the QML plugin, which uses them through a D-Bus interface.
Once these are built, with modem-daemon running, you should be able to try USSD through QML. It's started from its libexec directory by the org.kde.modem.daemon.desktop autostart file.
import QtQuick
import org.kde.telephony
Item {
Component.onCompleted: {
const deviceUni = DeviceUtils.deviceUniList[0]
const number = "*100#"
UssdUtils.initiate(deviceUni, number)
}
Connections {
target: UssdUtils
function onNotificationReceived(deviceUni, message) {
console.log(message)
}
function onErrorReceived(deviceUni, error) {
console.log(error)
}
function onInitiated(deviceUni, command) {
console.log("initiated")
}
}
}
USSD is probably the simplest part of the API to start with. The same logic can be found in the plasma-dialer application itself.