Warning, /plasma/plasma-mobile/quicksettings/record/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 import QtQuick 2.15
0005 import QtQuick.Window 2.15
0006 
0007 import org.kde.plasma.private.mobileshell.state as MobileShellState
0008 import org.kde.pipewire.record 0.1 as PWRec
0009 import org.kde.taskmanager 0.1 as TaskManager
0010 import org.kde.plasma.quicksetting.record 1.0
0011 import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS
0012 
0013 QS.QuickSetting {
0014     id: root
0015     text: switch (record.state) {
0016         case PWRec.PipeWireRecord.Idle:
0017             return i18n("Record Screen")
0018         case PWRec.PipeWireRecord.Recording:
0019             return i18n("Recording…")
0020         case PWRec.PipeWireRecord.Rendering:
0021             i18n("Writing…")
0022     }
0023     status: switch(record.state) {
0024         case PWRec.PipeWireRecord.Idle:
0025             return i18n("Tap to start recording")
0026         case PWRec.PipeWireRecord.Recording:
0027             return i18n("Screen is being captured…")
0028         case PWRec.PipeWireRecord.Rendering:
0029             i18n("Please wait…")
0030     }
0031     icon: "media-record"
0032     enabled: false
0033 
0034     function toggle() {
0035         if (!record.active) {
0036             record.output = RecordUtil.videoLocation("screen-recording.mp4");
0037         } else {
0038             RecordUtil.showNotification(i18n("New Screen Recording"), i18n("New Screen Recording saved in %1", record.output), record.output);
0039         }
0040         
0041         enabled = !enabled
0042         MobileShellState.ShellDBusClient.closeActionDrawer();
0043     }
0044 
0045     PWRec.PipeWireRecord {
0046         id: record
0047         nodeId: waylandItem.nodeId
0048         active: root.enabled
0049     }
0050     TaskManager.ScreencastingRequest {
0051         id: waylandItem
0052         outputName: root.enabled ? Screen.name : ""
0053     }
0054 }