summaryrefslogtreecommitdiff
path: root/modules/utilities/cards
diff options
context:
space:
mode:
Diffstat (limited to 'modules/utilities/cards')
-rw-r--r--modules/utilities/cards/Record.qml40
1 files changed, 31 insertions, 9 deletions
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
+ SplitButton {
+ active: menuItems.find(m => root.props.recordingMode === m.icon + m.text) ?? menuItems[0]
+ menu.onItemSelected: item => root.props.recordingMode = item.icon + item.text
- function onClicked(): void {
- Recorder.toggle();
- }
+ 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"])
+ }
+ ]
}
}