UI: Actually copy-paste filters instead of remembering the source
Description
The current behavior makes OBS remember the source that filters should get copied from and then clones that source's filters to the source that filters are pasted to. This means however that if the original source has filters added or removed after the copy-operation, that will still effect the paste-operation, so filters that were added after copying would still get pasted. This commit changes this to something similar to the source clipboard. Now, we're actually copying the filters, so if the original source has filters added to afterwards we don't copy those as well.
Depends on #10723 because code in similar locations is touched and I would like to avoid merge conflicts later.
Motivation and Context
Requested by @Warchamp7 on Discord.
How Has This Been Tested?
macOS 14.5 Copied filters via the right-click menu. Added one or more filters to the source. Pasted filters to another source via the right-click menu. Only the copied filters were pasted, not the ones added afterwards.
Types of changes
- Bug fix (non-breaking change which fixes an issue)
- Tweak (non-breaking change to improve existing functionality)
Checklist:
- [x] My code has been run through clang-format.
- [x] I have read the contributing document.
- [x] My code is not on the master branch.
- [x] The code has been tested.
- [x] All commit messages are properly formatted and commits squashed where appropriate.
- [x] I have included updates to all appropriate documentation.
Marking as draft as I still have to fix the issue above, probably by just storing the filter as json or something.