diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-15 15:59:24 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-15 15:59:24 +1000 |
| commit | 4f54763e02dab4e33764cdd57c204368da57dd1c (patch) | |
| tree | 3f0626f2ba67b1c95b352061ab090f441c7cb694 /modules | |
| parent | utilities/record: app2unit (diff) | |
| download | caelestia-shell-4f54763e02dab4e33764cdd57c204368da57dd1c.tar.gz caelestia-shell-4f54763e02dab4e33764cdd57c204368da57dd1c.tar.bz2 caelestia-shell-4f54763e02dab4e33764cdd57c204368da57dd1c.zip | |
utilities/record: select mode
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/utilities/Content.qml | 1 | ||||
| -rw-r--r-- | modules/utilities/Wrapper.qml | 1 | ||||
| -rw-r--r-- | modules/utilities/cards/Record.qml | 40 |
3 files changed, 33 insertions, 9 deletions
diff --git a/modules/utilities/Content.qml b/modules/utilities/Content.qml index ea8f93f..d5be824 100644 --- a/modules/utilities/Content.qml +++ b/modules/utilities/Content.qml @@ -23,6 +23,7 @@ Item { Record { props: root.props visibilities: root.visibilities + z: 1 } Toggles { diff --git a/modules/utilities/Wrapper.qml b/modules/utilities/Wrapper.qml index 137f0ce..3f84319 100644 --- a/modules/utilities/Wrapper.qml +++ b/modules/utilities/Wrapper.qml @@ -12,6 +12,7 @@ Item { readonly property PersistentProperties props: PersistentProperties { property bool recordingListExpanded: false property string recordingConfirmDelete + property string recordingMode reloadableId: "utilities" } 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"]) + } + ] } } |