Closed ItsSimko closed 2 weeks ago
This pull request refactors the settings management of the application by introducing a new ApplicationSettings
class. The changes aim to improve code organization, modularity, and maintainability by centralizing settings-related functionality.
journey
title User journey for the updated settings menu
section Accessing Settings
User opens application: 5: User
User clicks on Settings button: 5: User
Application opens settings window: 5: System
section Navigating Settings
User sees Basic and Advanced tabs: 5: User
User selects Basic tab: 5: User
User selects Advanced tab: 5: User
section Modifying Settings
User modifies settings in Basic tab: 5: User
User modifies settings in Advanced tab: 5: User
User saves changes: 5: User
Application saves settings to file: 5: System
section Closing Settings
User closes settings window: 5: User
Application returns to main interface: 5: System
classDiagram
class ApplicationSettings {
-String KOBOLDCPP_IP
-String WHISPERAUDIO_IP
-String KOBOLDCPP_PORT
-String WHISPERAUDIO_PORT
-String SSL_ENABLE
-String SSL_SELFCERT
-String OPENAI_API_KEY
-String AISCRIBE
-String AISCRIBE2
-String API_STYLE
-Map editable_settings
-Map editable_settings_entries
+load_settings_from_file() Tuple
+save_settings_to_file() void
+save_settings(String, String, String, String, String, Toplevel, String, String, int, int, String) void
+open_settings_window() void
+load_aiscribe_from_file() String
+load_aiscribe2_from_file() String
+build_url(String, String) String
+start() void
+clear_settings_file(Toplevel) void
}
note for ApplicationSettings "This class manages application settings related to audio processing and external API services."
Change | Details | Files |
---|---|---|
Introduced a new ApplicationSettings class to manage application settings |
|
ApplicationSettings_client.py client.py |
Refactored the settings window to use a tabbed interface |
|
ApplicationSettings_client.py |
Updated client.py to use the new ApplicationSettings class |
|
client.py |
Modified the GitHub Actions workflow file |
|
.github/workflows/release.yml |
Keep adding inline comments, and it would be good to keep refactoring slightly (ie config object, more functions) when possible as we move other work forward.
Reformatted settings menu
Description
Redid the settings menu to use tabs and started to modulate code.
Changes Made
Related Issues
7
8
New Look:
Summary by Sourcery
Reformat the settings menu to use a tabbed interface and modularize the code by introducing an ApplicationSettings class. Update the main client to utilize this new class for managing settings. Enhance documentation with Sphinx-style comments for the new class.
New Features:
Enhancements:
Documentation: