diff options
Diffstat (limited to 'lib/screens/level_selection.dart')
-rw-r--r-- | lib/screens/level_selection.dart | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/lib/screens/level_selection.dart b/lib/screens/level_selection.dart index 5984e65..0987063 100644 --- a/lib/screens/level_selection.dart +++ b/lib/screens/level_selection.dart @@ -17,36 +17,35 @@ class LevelSelection extends StatefulWidget { } class _LevelSelectionState extends State<LevelSelection> { - String? stepmaniaCoursesPath; - List<Simfile> stepmaniaCoursesFolders = []; - List<Simfile> stepmaniaCoursesFoldersFiltered = []; - String searchString = ''; + String? _stepmaniaCoursesPath; + List<Simfile> _stepmaniaCoursesFolders = []; + List<Simfile> _stepmaniaCoursesFoldersFiltered = []; @override void initState() { super.initState(); - loadFolderPath(); + _loadFolderPath(); } /// gets folder path from persistent storage and updates state with loaded simfiles - Future<void> loadFolderPath() async { + Future<void> _loadFolderPath() async { SharedPreferences prefs = await SharedPreferences.getInstance(); final String? stepmaniaCoursesPathSetting = prefs.getString('stepmania_courses'); if (stepmaniaCoursesPathSetting == null) return; List<Simfile> stepmaniaCoursesFoldersFuture = - await listFilesAndFolders(stepmaniaCoursesPathSetting); + await _listFilesAndFolders(stepmaniaCoursesPathSetting); setState(() { - stepmaniaCoursesPath = stepmaniaCoursesPathSetting; - stepmaniaCoursesFolders = stepmaniaCoursesFoldersFuture; - stepmaniaCoursesFoldersFiltered = stepmaniaCoursesFoldersFuture; + _stepmaniaCoursesPath = stepmaniaCoursesPathSetting; + _stepmaniaCoursesFolders = stepmaniaCoursesFoldersFuture; + _stepmaniaCoursesFoldersFiltered = stepmaniaCoursesFoldersFuture; }); } /// open folder selection dialog and save selected folder in persistent storage - Future<void> selectFolder() async { + Future<void> _selectFolder() async { await Permission.manageExternalStorage.request(); String? selectedFolder = await FilePicker.platform.getDirectoryPath(); @@ -55,12 +54,12 @@ class _LevelSelectionState extends State<LevelSelection> { SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setString('stepmania_courses', selectedFolder); - loadFolderPath(); + _loadFolderPath(); } } /// load all simfiles from a [directoryPath] - Future<List<Simfile>> listFilesAndFolders(String directoryPath) async { + Future<List<Simfile>> _listFilesAndFolders(String directoryPath) async { final directory = Directory(directoryPath); try { // List all files and folders in the directory @@ -90,9 +89,9 @@ class _LevelSelectionState extends State<LevelSelection> { } /// filter stepmaniaCoursesFolders based on [input] - void filterLevels(String input) { + void _filterLevels(String input) { setState(() { - stepmaniaCoursesFoldersFiltered = stepmaniaCoursesFolders + _stepmaniaCoursesFoldersFiltered = _stepmaniaCoursesFolders .where((simfile) => simfile.tags["TITLE"]! .toLowerCase() .contains(input.toLowerCase())) @@ -119,9 +118,9 @@ class _LevelSelectionState extends State<LevelSelection> { ], ), body: Builder(builder: (context) { - if (stepmaniaCoursesPath == null) { + if (_stepmaniaCoursesPath == null) { return Text('Add a Directory with Stepmania Songs on \'+\''); - } else if (stepmaniaCoursesFolders.isEmpty) { + } else if (_stepmaniaCoursesFolders.isEmpty) { return Text( 'Folder empty. Add Stepmania Songs to Folder or select a different folder on \'+\''); } else { @@ -131,7 +130,7 @@ class _LevelSelectionState extends State<LevelSelection> { padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 0.0), child: TextField( - onChanged: filterLevels, + onChanged: _filterLevels, decoration: InputDecoration( // icon: Icon(Icons.search), hintText: 'Search'), @@ -139,11 +138,11 @@ class _LevelSelectionState extends State<LevelSelection> { ), Expanded( child: ListView.separated( - itemCount: stepmaniaCoursesFoldersFiltered.length, + itemCount: _stepmaniaCoursesFoldersFiltered.length, separatorBuilder: (BuildContext context, int index) => const Divider(), itemBuilder: (context, index) { - Simfile simfile = stepmaniaCoursesFoldersFiltered[index]; + Simfile simfile = _stepmaniaCoursesFoldersFiltered[index]; return LevelListEntry(simfile: simfile); }, ), @@ -154,7 +153,7 @@ class _LevelSelectionState extends State<LevelSelection> { }), floatingActionButton: FloatingActionButton( onPressed: () { - selectFolder(); + _selectFolder(); }, child: Icon(Icons.add)), ); |