diff --git a/src/plugins/screenrecorder/record.cpp b/src/plugins/screenrecorder/record.cpp index a3e2f52d416..e1360ffd109 100644 --- a/src/plugins/screenrecorder/record.cpp +++ b/src/plugins/screenrecorder/record.cpp @@ -363,6 +363,7 @@ QStringList RecordWidget::ffmpegParameters(const ClipInfo &clipInfo) const videoGrabParams = { "-f", "avfoundation", "-capture_cursor", captureCursorStr, + "-capture_mouse_clicks", Internal::settings().captureMouseClicks() ? "1" : "0", "-framerate", frameRateStr, "-pixel_format", "bgr0", "-i", QString("Capture screen %1:none").arg(rS.screenId), diff --git a/src/plugins/screenrecorder/screenrecordersettings.cpp b/src/plugins/screenrecorder/screenrecordersettings.cpp index c0f42a8307c..f8cc6018f31 100644 --- a/src/plugins/screenrecorder/screenrecordersettings.cpp +++ b/src/plugins/screenrecorder/screenrecordersettings.cpp @@ -72,6 +72,12 @@ ScreenRecorderSettings::ScreenRecorderSettings() captureCursor.setLabel(Tr::tr("Capture the mouse cursor")); captureCursor.setLabelPlacement(BoolAspect::LabelPlacement::AtCheckBox); + captureMouseClicks.setSettingsKey("CaptureMouseClicks"); + captureMouseClicks.setDefaultValue(false); + captureMouseClicks.setLabel(Tr::tr("Capture the screen mouse clicks")); + captureMouseClicks.setLabelPlacement(BoolAspect::LabelPlacement::AtCheckBox); + captureMouseClicks.setVisible(HostOsInfo::isMacHost()); // only available with AVFoundation + enableFileSizeLimit.setSettingsKey("EnableFileSizeLimit"); enableFileSizeLimit.setDefaultValue(true); enableFileSizeLimit.setLabel(Tr::tr("Size limit for intermediate output file")); @@ -151,6 +157,7 @@ ScreenRecorderSettings::ScreenRecorderSettings() title(Tr::tr("Record settings")), Column { captureCursor, + captureMouseClicks, Row { enableFileSizeLimit, fileSizeLimit, st }, Row { enableRtBuffer, rtBufferSize, st }, }, diff --git a/src/plugins/screenrecorder/screenrecordersettings.h b/src/plugins/screenrecorder/screenrecordersettings.h index a38f7a38849..900847ac3f1 100644 --- a/src/plugins/screenrecorder/screenrecordersettings.h +++ b/src/plugins/screenrecorder/screenrecordersettings.h @@ -27,6 +27,7 @@ public: Utils::FilePathAspect ffmpegTool{this}; Utils::FilePathAspect ffprobeTool{this}; Utils::BoolAspect captureCursor{this}; + Utils::BoolAspect captureMouseClicks{this}; Utils::BoolAspect enableFileSizeLimit{this}; Utils::IntegerAspect fileSizeLimit{this}; // in MB Utils::BoolAspect enableRtBuffer{this};