From 4f54763e02dab4e33764cdd57c204368da57dd1c Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 15 Sep 2025 15:59:24 +1000 Subject: utilities/record: select mode --- modules/utilities/cards/Record.qml | 42 +++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 10 deletions(-) (limited to 'modules/utilities/cards') diff --git a/modules/utilities/cards/Record.qml b/modules/utilities/cards/Record.qml index 001dda3..fa45cf7 100644 --- a/modules/utilities/cards/Record.qml +++ b/modules/utilities/cards/Record.qml @@ -18,6 +18,7 @@ StyledRect { required property var props required property var visibilities + property bool modePickerExpanded Layout.fillWidth: true implicitHeight: layout.implicitHeight + layout.anchors.margins * 2 @@ -34,6 +35,7 @@ StyledRect { RowLayout { spacing: Appearance.spacing.normal + z: 1 StyledRect { implicitWidth: implicitHeight @@ -77,16 +79,36 @@ StyledRect { } } - IconButton { - icon: "not_started" - checked: Recorder.running - type: IconButton.Filled - inactiveColour: Colours.palette.m3surfaceContainerHighest - toggle: true - - function onClicked(): void { - Recorder.toggle(); - } + SplitButton { + active: menuItems.find(m => root.props.recordingMode === m.icon + m.text) ?? menuItems[0] + menu.onItemSelected: item => root.props.recordingMode = item.icon + item.text + + menuItems: [ + MenuItem { + icon: "fullscreen" + text: qsTr("Record fullscreen") + activeText: qsTr("Fullscreen") + onClicked: Recorder.toggle() + }, + MenuItem { + icon: "screenshot_region" + text: qsTr("Record region") + activeText: qsTr("Region") + onClicked: Recorder.toggle(["-r"]) + }, + MenuItem { + icon: "select_to_speak" + text: qsTr("Record fullscreen with sound") + activeText: qsTr("Fullscreen") + onClicked: Recorder.toggle(["-s"]) + }, + MenuItem { + icon: "volume_up" + text: qsTr("Record region with sound") + activeText: qsTr("Region") + onClicked: Recorder.toggle(["-sr"]) + } + ] } } -- cgit v1.2.3-freya