Streamlined the loading of dictionaries in the GetTesseract302Dictionaries file by using XmlReader directly on the decompressed stream. This change simplifies the processing flow and reduces the overall amount of coding needed.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
The dictionaries 'TesseractDictionaries.xml', 'HunspellBackupDictionaries.xml', and 'HunspellDictionaries.xml' were removed from the SubtitleEdit.csproj as they are no longer used. This helps to keep the project clean and uncluttered.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
The commits replace all instances of `new EventArgs()` with `EventArgs.Empty` in different video player classes. This change improves performance by reducing unnecessary object instantiation and aligns with the best practices of C# coding.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
Reorganized the way various graphics disposal were handled in the LayoutPicker form. Instead of individual dispose calls, the disposing logic has been consolidated into a new method named DisposeGraphics(). This makes our disposal logic more modular, maintainable, and easier to read.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
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>
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>
Added override to the Dispose method in SubtitleListView control which unregisters any tick events and disposes timer objects when control is being discarded. This helps to ensure resources are properly freed up, reducing potential memory leaks.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
Added the <WordLists>Lista de cuvinte...</WordLists> translation for Romanian. Since it was missing, the English one "Word lists..." was shown by default on the Romanian language user interface.
This commit optimizes the code in WhisperModelDownload.cs by pulling out the progress reporting into a separate variable. This new implementation enhances code readability and prevents code redundancy. Now, the 'progressReport' variable is used while calling the 'DownloadAsync' method.
Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>