[PR #1432] Upgrading KGy SOFT package versions, fixing encoded preview of current frame, zoomable preview #1366

Open
opened 2026-02-26 09:34:34 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/NickeManarin/ScreenToGif/pull/1432
Author: @koszeggy
Created: 2/1/2026
Status: 🔄 Open

Base: devHead: KGySoftUpgrade


📝 Commits (10+)

  • 99784e2 Upgrading KGySoft package versions
  • 3fd0cda Fixing the binding to update the ExportPanel.CurrentFrame property
  • d8b9472 KGy SOFT encoder: using the current frame as a preview by default
  • cb56425 Updating Hungarian resources
  • f4201a7 Refactoring preview generation
  • ef38761 Making sure preview is updated even when selected index does not change
  • 14bbdc9 Making the image preview zoomable in KGy SOFT GIF Encoder settings
  • 9c5e4a2 Adjusting the quality of the image preview based on the zoom factor
  • 6e755e3 Constraining max zoom in image preview, redirecting vertical scroll to parent only when self scrollbar is not visible.
  • eb9389a Adding tooltip to ImageViewer in GIF encoder preview

📊 Changes

14 files changed (+568 additions, -141 deletions)

View changed files

📝 ScreenToGif.Util/ScreenToGif.Util.csproj (+1 -1)
📝 ScreenToGif.ViewModel/EditorViewModel.cs (+10 -1)
📝 ScreenToGif.ViewModel/ExportPresets/AnimatedImage/Gif/KGySoftGifPreset.cs (+6 -4)
📝 ScreenToGif.ViewModel/ScreenToGif.ViewModel.csproj (+1 -1)
📝 ScreenToGif/Resources/Localization/StringResources.en.xaml (+2 -1)
📝 ScreenToGif/Resources/Localization/StringResources.hu.xaml (+2 -1)
📝 ScreenToGif/ScreenToGif.csproj (+2 -2)
ScreenToGif/UserControls/ImageViewer.xaml (+18 -0)
ScreenToGif/UserControls/ImageViewer.xaml.cs (+271 -0)
📝 ScreenToGif/UserControls/KGySoftGifOptionsPanel.xaml (+8 -2)
📝 ScreenToGif/UserControls/KGySoftGifOptionsPanel.xaml.cs (+3 -3)
📝 ScreenToGif/ViewModel/KGySoftGifOptionsViewModel.cs (+241 -123)
📝 ScreenToGif/Windows/Editor.xaml (+2 -1)
📝 ScreenToGif/Windows/Editor.xaml.cs (+1 -1)

📄 Description

The following changes have been made:

  • Package upgrades: KGySoft.CoreLibraries (8.1 -> 10.5) KGySoft.Drawing (9.2.0 -> 10.0.1) and KGySoft.Drawing.Wpf (9.0.0 -> 10.0.1).
  • In KGy SOFT GIF encoder the preview did not work anymore when "Show current frame" was selected, because the DataContext type of a parent binding has been changed some time ago. As part of the fix, I resurrected the EditorViewModel.CurrentIndex property, which was out-of-use (its value was always -1, and apparently nothing used this property). Now it's synced with the UI's FrameListView.SelectedIndex, and triggers the previously broken frame change again. Also, now "Show current frame" is the default setting.
  • The preview image in KGy SOFT GIF encoder is now zoomable. It was planned so since the beginning, but there was no ready-to-use solution. Now I added a new ImageViewer control with zooming and panning capabilities.
  • Some resource updates (English, Hungarian)

Side note:
A couple of times I encountered a random crash from HwndWrapper.Dispose (I found the workaround you applied for the release build, so I'm not worried too much). Do you have an open issue or discussion for this? I only found the one you filed in the WPF repo, but sadly the conversation is locked for that one.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/NickeManarin/ScreenToGif/pull/1432 **Author:** [@koszeggy](https://github.com/koszeggy) **Created:** 2/1/2026 **Status:** 🔄 Open **Base:** `dev` ← **Head:** `KGySoftUpgrade` --- ### 📝 Commits (10+) - [`99784e2`](https://github.com/NickeManarin/ScreenToGif/commit/99784e27ee70a27958bf840e5a6212f31f2dff2e) Upgrading KGySoft package versions - [`3fd0cda`](https://github.com/NickeManarin/ScreenToGif/commit/3fd0cdadd18739eee139cd6eb13110b0986a2315) Fixing the binding to update the ExportPanel.CurrentFrame property - [`d8b9472`](https://github.com/NickeManarin/ScreenToGif/commit/d8b94728854c33d4891b4e41388f464c30ceadcb) KGy SOFT encoder: using the current frame as a preview by default - [`cb56425`](https://github.com/NickeManarin/ScreenToGif/commit/cb564257b8ee05c7593a86939fb5e355837c7568) Updating Hungarian resources - [`f4201a7`](https://github.com/NickeManarin/ScreenToGif/commit/f4201a7d6d772731b60d4aea4e80fff065900ccb) Refactoring preview generation - [`ef38761`](https://github.com/NickeManarin/ScreenToGif/commit/ef387613a1aab44e71bf3eac6b4117d346510f42) Making sure preview is updated even when selected index does not change - [`14bbdc9`](https://github.com/NickeManarin/ScreenToGif/commit/14bbdc9107e3ee10cb757ec5084198d1bb4ec34d) Making the image preview zoomable in KGy SOFT GIF Encoder settings - [`9c5e4a2`](https://github.com/NickeManarin/ScreenToGif/commit/9c5e4a2e2c8a993d29cafebbcd1c246c9865df74) Adjusting the quality of the image preview based on the zoom factor - [`6e755e3`](https://github.com/NickeManarin/ScreenToGif/commit/6e755e3c2e2c5057f4096d4a7b2c8038e7145d9f) Constraining max zoom in image preview, redirecting vertical scroll to parent only when self scrollbar is not visible. - [`eb9389a`](https://github.com/NickeManarin/ScreenToGif/commit/eb9389a8491eb260d6f47c74332e020991f3c9f6) Adding tooltip to ImageViewer in GIF encoder preview ### 📊 Changes **14 files changed** (+568 additions, -141 deletions) <details> <summary>View changed files</summary> 📝 `ScreenToGif.Util/ScreenToGif.Util.csproj` (+1 -1) 📝 `ScreenToGif.ViewModel/EditorViewModel.cs` (+10 -1) 📝 `ScreenToGif.ViewModel/ExportPresets/AnimatedImage/Gif/KGySoftGifPreset.cs` (+6 -4) 📝 `ScreenToGif.ViewModel/ScreenToGif.ViewModel.csproj` (+1 -1) 📝 `ScreenToGif/Resources/Localization/StringResources.en.xaml` (+2 -1) 📝 `ScreenToGif/Resources/Localization/StringResources.hu.xaml` (+2 -1) 📝 `ScreenToGif/ScreenToGif.csproj` (+2 -2) ➕ `ScreenToGif/UserControls/ImageViewer.xaml` (+18 -0) ➕ `ScreenToGif/UserControls/ImageViewer.xaml.cs` (+271 -0) 📝 `ScreenToGif/UserControls/KGySoftGifOptionsPanel.xaml` (+8 -2) 📝 `ScreenToGif/UserControls/KGySoftGifOptionsPanel.xaml.cs` (+3 -3) 📝 `ScreenToGif/ViewModel/KGySoftGifOptionsViewModel.cs` (+241 -123) 📝 `ScreenToGif/Windows/Editor.xaml` (+2 -1) 📝 `ScreenToGif/Windows/Editor.xaml.cs` (+1 -1) </details> ### 📄 Description **The following changes have been made:** * Package upgrades: KGySoft.CoreLibraries ([8.1 -> 10.5](https://github.com/koszeggy/KGySoft.CoreLibraries/blob/32d5822a18b37cc01cbffa7d78b1deed2b999d0a/KGySoft.CoreLibraries/changelog.txt#L8-L306)) KGySoft.Drawing ([9.2.0 -> 10.0.1](https://github.com/koszeggy/KGySoft.Drawing/blob/75085bab8b68fb6888ad6a530bdef3bd203c405c/Specific/GdiPlus/KGySoft.Drawing/changelog.txt#L8-L51)) and KGySoft.Drawing.Wpf ([9.0.0 -> 10.0.1](https://github.com/koszeggy/KGySoft.Drawing/blob/75085bab8b68fb6888ad6a530bdef3bd203c405c/Specific/Wpf/KGySoft.Drawing.Wpf/changelog.txt#L8-L45)). * In KGy SOFT GIF encoder the preview did not work anymore when "Show current frame" was selected, because the `DataContext` type of a parent binding has been changed some time ago. As part of the fix, I resurrected the `EditorViewModel.CurrentIndex` property, which was out-of-use (its value was always -1, and apparently nothing used this property). Now it's synced with the UI's `FrameListView.SelectedIndex`, and triggers the previously broken frame change again. Also, now "Show current frame" is the default setting. * The preview image in KGy SOFT GIF encoder is now zoomable. It was [planned](https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/UserControls/KGySoftGifOptionsPanel.xaml#L157) so since the beginning, but there was no ready-to-use solution. Now I added a new [`ImageViewer`](https://github.com/NickeManarin/ScreenToGif/commit/14bbdc9107e3ee10cb757ec5084198d1bb4ec34d) control with zooming and panning capabilities. * Some resource updates (English, Hungarian) **Side note:** A couple of times I encountered a random crash from `HwndWrapper.Dispose` (I found the [workaround](https://github.com/NickeManarin/ScreenToGif/blob/ce4b527c04f11e5d71a8733338fb82d50eedd5c5/ScreenToGif/App.xaml.cs#L372) you applied for the release build, so I'm not worried too much). Do you have an open issue or discussion for this? I only found the [one](https://github.com/dotnet/wpf/issues/3142) you filed in the WPF repo, but sadly the conversation is locked for that one. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ScreenToGif#1366
No description provided.