Pages
Developer Documentation
On this page

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.

Adapted for SonicDE from develop.kde.org/docs/packaging/plasma-mobile/telephony/qml-declarative-plugin-layer/ by Alexey Andreyev, Carl Schwan, Michael Lang, Mikhail Zolotukhin, licensed under CC BY-SA 4.0.

Edit this page on GitHub

We use cookies to personalize content and to analyze our traffic. Please decide if you are willing to accept cookies from our website.