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 }