The HttpClient instances are now wrapped in a using statement to properly dispose them after use. This practice prevents potential memory leaks and ensures that system resources are returned back to the system once the HttpClient instances are no longer needed, improving the system's overall efficiency and performance.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
The main change in this commit is relocating several settings related classes from `Nikse.SubtitleEdit.Core.Common` to a new namespace `Nikse.SubtitleEdit.Core.Settings`. This improves the project organization by grouping all settings-related functionality and data together, making it easier to find and maintain. This refactoring required updates across numerous files to import the new namespace.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
This commit adds new classes for settings including 'MultipleSearchAndReplaceGroup', 'MultipleSearchAndReplaceSetting', 'NetworkSettings', 'AssaStorageCategory', and 'GeneralSettings'. Each class represents different groups of settings. These classes will be utilized to manage the settings in a more organized way.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
In a wrap catch of the AutoTranslate.cs file, a conditional directive was added to display different error messages for DEBUG and RELEASE modes. This ensures that detailed exception information is shown during debugging for better troubleshooting, while a more user-friendly message is used in the release build.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
An unnecessary whitespace line was removed from the AutoTranslate.cs file to improve code readability. Additionally, the HttpClient in the AutoTranslate.Designer.cs file was disposed to free up system resources and prevent potential memory leaks.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
HttpClient is optimized, now a single instance is shared instead of creating new for each request. The 'ConfigureAwait' statements have been adjusted in the async calls to improve asynchronous handling. Reorganized the downloading of Ollama models which simplifies and increases program efficiency.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
The process for downloading Ollama Models has been refactored for brevity and clarity. A private async method, 'GetModelsAsync', was introduced by extracting code from 'DownloadOllamaModelsAsync'. This change enhances code readability and makes possible errors easier to trace.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
Removed the BackgroundWorker in the `nikseComboBoxEngine_SelectedIndexChanged` method, replacing it with async/await for better readability and performance. Extracted a `DownloadOllamaModelsAsync` method to download models, which also replaced the synchronous approach in `UpdateLocalModelsToolStripMenuItem_Click`.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
Simplified and cleaned up the structure of multiple csproj files. This includes removing unnecessary tags and attributes, and adopting the new Project Sdk format. This change should have no functional impact but makes the project files streamlined and easier to read.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
The `IFixCallbacks` interface no longer inherits from `IDoSpell` as it is unnecessary. This is due to the removal of the `DoSpell` method and the associated Hunspell functionality in the `FixCommonErrors` class. This commit simplifies the code by removing unused or unnecessary pieces.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>