Skip to content

Feature/screenshot watermark#109

Merged
dimitar-radenkov merged 10 commits into
masterfrom
feature/screenshot-watermark
May 31, 2026
Merged

Feature/screenshot watermark#109
dimitar-radenkov merged 10 commits into
masterfrom
feature/screenshot-watermark

Conversation

@dimitar-radenkov
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings May 31, 2026 04:18
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 31, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 95.36424% with 7 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...e/Services/Recording/ScreenshotWatermarkService.cs 93.33% 2 Missing and 2 partials ⚠️
...ame/Services/Infrastructure/UserSettingsService.cs 87.50% 1 Missing and 1 partial ⚠️
Pointframe/ViewModels/SettingsViewModel.cs 97.14% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds configurable screenshot watermarking for overlay copy/save flows, including persisted settings, rendering service, settings UI, DI wiring, and tests. The PR also broadens GlobalUsings.cs and removes now-global imports across many files.

Changes:

  • Adds ScreenshotWatermarkSettings, WatermarkPosition, token resolution, and a WPF renderer.
  • Applies watermarks in OverlayViewModel for Copy, Save, and Save As based on user settings.
  • Adds Settings UI bindings and unit tests for token resolution, layout positioning, and overlay watermark behavior.

Reviewed changes

Copilot reviewed 75 out of 75 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Pointframe/Models/ScreenshotWatermarkSettings.cs Adds persisted watermark configuration model.
Pointframe/Models/WatermarkPosition.cs Adds watermark placement enum.
Pointframe/Models/UserSettings.cs Adds watermark settings to user settings.
Pointframe/Services/Recording/IScreenshotWatermarkService.cs Adds watermark renderer interface.
Pointframe/Services/Recording/ScreenshotWatermarkService.cs Implements watermark rendering over screenshots.
Pointframe/Services/Recording/WatermarkTokenResolver.cs Adds date/time token replacement.
Pointframe/ViewModels/OverlayViewModel.cs Applies watermark during copy/save flows.
Pointframe/ViewModels/SettingsViewModel.cs Adds watermark settings bindings and save persistence.
Pointframe/Views/SettingsWindow.xaml Adds watermark controls to settings UI.
Pointframe/Services/Infrastructure/UserSettingsService.cs Clones watermark settings.
Pointframe/App.xaml.cs Registers watermark service with DI.
Pointframe/GlobalUsings.cs Adds project-wide global usings.
Pointframe.Tests/ViewModels/OverlayViewModelTests.cs Adds overlay watermark behavior tests.
Pointframe.Tests/Services/WatermarkTokenResolverTests.cs Adds token resolver tests.
Pointframe.Tests/Services/ScreenshotWatermarkServiceLayoutTests.cs Adds watermark position tests.
Other touched app/test files Remove imports now covered by global usings or update constructor calls for OverlayViewModel.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

CultureInfo.CurrentCulture,
System.Windows.FlowDirection.LeftToRight,
typeface,
settings.FontSize,
Comment on lines +126 to +144
[ObservableProperty]
private bool _watermarkEnabled;

[ObservableProperty]
private string _watermarkTemplate = "{datetime}";

[ObservableProperty]
private WatermarkPosition _watermarkPosition;

[ObservableProperty]
private double _watermarkFontSize;

[ObservableProperty]
private bool _watermarkApplyToCopy;

[ObservableProperty]
private bool _watermarkApplyToSave;

public IReadOnlyList<WatermarkPosition> WatermarkPositions { get; } = Enum.GetValues<WatermarkPosition>();
- Use default font size in ScreenshotWatermarkService if FontSize is non-positive
- Reset watermark fields in SettingsViewModel for both section and global resets
- Add unit tests for font size fallback and watermark field resets
Incremented version.json from 6.2 to 6.3 to mark a new release. No other changes were made in this commit.
@dimitar-radenkov dimitar-radenkov merged commit bed92e2 into master May 31, 2026
4 checks passed
@dimitar-radenkov dimitar-radenkov deleted the feature/screenshot-watermark branch May 31, 2026 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants