summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/MultimediaService.qml
blob: f570c72aa79b7d6f0e2fab32f9cc073fb9fa3763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
pragma Singleton
pragma ComponentBehavior: Bound

import QtQuick
import Quickshell

Singleton {
    id: root

    property bool available: false

    function detectAvailability() {
        try {
            const testObj = Qt.createQmlObject(`
                import QtQuick
                import QtMultimedia
                Item {}
            `, root, "MultimediaService.TestComponent");
            if (testObj) {
                testObj.destroy();
            }
            available = true;
            return true;
        } catch (e) {
            available = false;
            return false;
        }
    }

    Component.onCompleted: {
        if (!detectAvailability()) {
            console.warn("MultimediaService: QtMultimedia not available");
        }
    }
}