The Dispose method has been added to LayoutPicker.cs for properly disposing the managed resources. As part of the changes, the existing Dispose method from LayoutPicker.Designer.cs was removed and integrated into the new method, ensuring more optimized disposal of resources.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
This update adds a null-conditional operator before disposing the http client in AutoTranslate form. This ensures that _httpClient.Dispose() only gets called if _httpClient is not null, preventing potential NullReferenceException.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
The AutoTranslate download functionality has been refactored to improve error handling. An optional parameter has been added to the DownloadOllamaModelsAsync method to control whether or not to show error notifications. Also, the GetOllamaClient method has been simplified for readability and maintainability.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
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>