Bug 473298 - "Video format" menu contains two "mp4" options
Summary: "Video format" menu contains two "mp4" options
Status: RESOLVED FIXED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: git-master
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-08-11 21:12 UTC by Patrick Silva
Modified: 2023-10-07 01:54 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 24.02
Sentry Crash Report:


Attachments
screenshot (190.50 KB, image/png)
2023-08-11 21:12 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2023-08-11 21:12:12 UTC
Created attachment 160914 [details]
screenshot

STEPS TO REPRODUCE
1. open Spectacle on Wayland
2. click on "Recording" tab
3. open "Video format" menu

OBSERVED RESULT
two "mp4" options. Please see the attached screenshot.

EXPECTED RESULT
one "mp4" option

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.240.0
Qt Version: 6.6.0
Graphics Platform: Wayland
Comment 1 Justin Zobel 2023-09-05 06:57:38 UTC
Can confirm this.
Comment 2 Bug Janitor Service 2023-10-04 08:42:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/269
Comment 3 Noah Davis 2023-10-05 19:52:04 UTC
Git commit 8e9ed17988fd7b26a7badf54f9fd14d10280a43e by Noah Davis.
Committed on 05/10/2023 at 21:51.
Pushed by ndavis into branch 'master'.

Add video save options page to settings dialog

Removes the format combobox from the main UI and puts all the video
saving related settings on a page in the settings dialog. The video
format does not typically need to be changed frequently, so we can free
up some space in the main UI.

Video saving related settings were moved to their own settings group
(VideoSave). Image saving related settings had their group renamed (Save
-> ImageSave). Settings were renamed to more clearly reflect whether
they were for images or videos. Most image related settings now have
video related counterparts.

Format settings are now enum based rather than string based. There is
documentation about the formats in `src/Platforms/VideoPlatform.h`.
There is also a VideoFormatModel that has all the available formats,
their extensions and labels that can be used in UIs as names for the
formats.

Because of the Format enum in VideoPlatform,
SpectacleCore::supportedVideoFormats() and
VideoPlatform::suggestedExtensions() were removed and replaced by
VideoPlatform::supportedFormats().

Rather than calling VideoPlatform::setExtension() at any time before
calling VideoPlatform::startRecording(), we now get
Settings::preferredVideoFormat() and set the format inside
startRecording(). Because of this, extension() and setExtension() were
removed.

M  +1    -3    CMakeLists.txt
A  +9    -0    kconf_update/CMakeLists.txt
A  +46   -0    kconf_update/spectacle-24.02.0-video_format.cpp     [License: LGPL(v2.0+)]
M  +4    -0    kconf_update/spectacle.upd
M  +8    -2    src/CMakeLists.txt
M  +13   -12   src/ExportManager.cpp
M  +1    -1    src/ExportManager.h
M  +3    -3    src/Gui/ExportMenu.cpp
M  +1    -22   src/Gui/RecordOptions.qml
R  +11   -11   src/Gui/SettingsDialog/ImageSaveOptions.ui [from: src/Gui/SettingsDialog/SaveOptions.ui - 089% similarity]
R  +19   -29   src/Gui/SettingsDialog/ImageSaveOptionsPage.cpp [from: src/Gui/SettingsDialog/SaveOptionsPage.cpp - 051% similarity]
R  +5    -5    src/Gui/SettingsDialog/ImageSaveOptionsPage.h [from: src/Gui/SettingsDialog/SaveOptionsPage.h - 059% similarity]
A  +32   -0    src/Gui/SettingsDialog/SaveOptionsUtils.h     [License: LGPL(v2.0+)]
M  +8    -4    src/Gui/SettingsDialog/SettingsDialog.cpp
M  +4    -2    src/Gui/SettingsDialog/SettingsDialog.h
A  +122  -0    src/Gui/SettingsDialog/VideoSaveOptions.ui
A  +81   -0    src/Gui/SettingsDialog/VideoSaveOptionsPage.cpp     [License: LGPL(v2.0+)]
A  +26   -0    src/Gui/SettingsDialog/VideoSaveOptionsPage.h     [License: LGPL(v2.0+)]
M  +34   -24   src/Gui/SettingsDialog/spectacle.kcfg
M  +5    -12   src/Platforms/PlatformNull.cpp
M  +1    -4    src/Platforms/PlatformNull.h
M  +11   -0    src/Platforms/VideoPlatform.cpp
M  +72   -7    src/Platforms/VideoPlatform.h
M  +56   -31   src/Platforms/VideoPlatformWayland.cpp
M  +4    -3    src/Platforms/VideoPlatformWayland.h
M  +17   -26   src/SpectacleCore.cpp
M  +3    -6    src/SpectacleCore.h
A  +74   -0    src/VideoFormatModel.cpp     [License: LGPL(v2.0+)]
A  +44   -0    src/VideoFormatModel.h     [License: LGPL(v2.0+)]

https://invent.kde.org/graphics/spectacle/-/commit/8e9ed17988fd7b26a7badf54f9fd14d10280a43e