There will be a Settings window implemented #40. For that to be implemented there needs to be a structure of the contents contained. Which is this issue. To implement all the surounding classes.
I need to figure out some nice design patterns for the following classes, if you have any idea just comment them here.
As for now the following will probably be objects maintained with a SettingsModel or something similar. That part is not yet figured out but I will update this issue when I do.
Settings - Common for all Settings
RapidTunesSettings - General for the application
Theme
Language
Other UI Settings
Notifications
SongSettings - Settings regarding songs & playback of songs
Crossfade songs. With how many seconds crossfade.
Sound enhancer.
Playback quality.
PlaylistSettings
Playlist directory
Automatic exports. One for each source (YouTube, SoundCloud.. etc)
Import playlists (Option within the menu)
HotKeySettings - Settings regarding the hotkeys
List of hotkeys and option to change them.
AccountSettings - Settings regarding the user accounts
Connect option for each account source (YouTube, SoundCloud.. etc)
Views:
SettingsMenuLayout.fxml - Tabbed menu with all of the layouts below using fx:include for each tab
GeneralSettingsLayout.fxml
SongSettingsLayout.fxml
PlaylistSettingsLayout.fxml
HotkeySettingsLayout.fxml
SourceSettingsLayout.fxml
AccoutSettingsLayout.fxml
Controllers:
Controller for each of the mentioned layouts. The SettingsMenuController and the models it will manage will probably be initialized through the MenuBarController. Will update if this idea changes.
There will be a Settings window implemented #40. For that to be implemented there needs to be a structure of the contents contained. Which is this issue. To implement all the surounding classes.
I need to figure out some nice design patterns for the following classes, if you have any idea just comment them here.
As for now the following will probably be objects maintained with a SettingsModel or something similar. That part is not yet figured out but I will update this issue when I do.
Views:
Controllers: