@@ -18,6 +18,8 @@ import androidx.compose.material.icons.automirrored.rounded.ViewList
1818import androidx.compose.material.icons.rounded.CropFree
1919import androidx.compose.material.icons.rounded.Folder
2020import androidx.compose.material.icons.rounded.GridView
21+ import androidx.compose.material.icons.rounded.Image
22+ import androidx.compose.material.icons.rounded.TextFields
2123import androidx.compose.material.icons.rounded.ViewModule
2224import androidx.compose.material3.Card
2325import androidx.compose.material3.CardDefaults
@@ -93,11 +95,21 @@ fun FileViewConfigDialog(
9395 mutableStateOf(tab.viewConfig.cropThumbnails)
9496 }
9597
98+ var galleryMode by remember {
99+ mutableStateOf(tab.viewConfig.galleryMode)
100+ }
101+
102+ var hideMediaNames by remember {
103+ mutableStateOf(tab.viewConfig.hideMediaNames)
104+ }
105+
96106 fun saveConfigs () {
97107 val configs = ViewConfigs (
98- viewType = if (viewType == ViewType .GRID .ordinal) ViewType .GRID else ViewType .COLUMNS ,
108+ viewType = if (viewType == ViewType .GRID .ordinal) ViewType .GRID else ViewType .LIST ,
99109 columnCount = columnCount.roundToInt(),
100110 cropThumbnails = cropThumbnails,
111+ galleryMode = galleryMode,
112+ hideMediaNames = hideMediaNames,
101113 itemSize = itemSize
102114 )
103115
@@ -170,45 +182,39 @@ fun FileViewConfigDialog(
170182 modifier = Modifier .padding(bottom = 12 .dp)
171183 )
172184
173- Card (
174- modifier = Modifier .fillMaxWidth(),
175- colors = CardDefaults .cardColors(
176- containerColor = MaterialTheme .colorScheme.surfaceContainer
177- ),
178- elevation = CardDefaults .cardElevation(defaultElevation = 0 .dp)
185+ Column (
186+ modifier = Modifier
187+ .fillMaxWidth()
188+ .selectableGroup()
179189 ) {
180- Column (
181- modifier = Modifier
182- .selectableGroup()
183- .padding(8 .dp)
184- ) {
185- RadioButtonItem (
186- icon = Icons .Rounded .GridView ,
187- text = stringResource(R .string.grid_view),
188- selected = viewType == ViewType .GRID .ordinal,
189- onClick = {
190- viewType = ViewType .GRID .ordinal
191- // Reset column count for grid view
192- columnCount = 4f
193- }
194- )
190+ RadioButtonItem (
191+ icon = Icons .Rounded .GridView ,
192+ text = stringResource(R .string.grid_view),
193+ selected = viewType == ViewType .GRID .ordinal,
194+ onClick = {
195+ viewType = ViewType .GRID .ordinal
196+ // Reset column count for grid view
197+ columnCount = 4f
198+ }
199+ )
195200
196- HorizontalDivider (
197- modifier = Modifier .padding(horizontal = 16 .dp, vertical = 4 .dp),
198- color = MaterialTheme .colorScheme.outline.copy(alpha = 0.12f )
201+ HorizontalDivider (
202+ modifier = Modifier .padding(
203+ horizontal = 8 .dp,
204+ vertical = 4 .dp
199205 )
206+ )
200207
201- RadioButtonItem (
202- icon = Icons .AutoMirrored .Rounded .ViewList ,
203- text = stringResource(R .string.list_view),
204- selected = viewType == ViewType .COLUMNS .ordinal,
205- onClick = {
206- viewType = ViewType .COLUMNS .ordinal
207- // Reset column count for column view
208- columnCount = 1f
209- }
210- )
211- }
208+ RadioButtonItem (
209+ icon = Icons .AutoMirrored .Rounded .ViewList ,
210+ text = stringResource(R .string.list_view),
211+ selected = viewType == ViewType .LIST .ordinal,
212+ onClick = {
213+ viewType = ViewType .LIST .ordinal
214+ // Reset column count for column view
215+ columnCount = 1f
216+ }
217+ )
212218 }
213219
214220 Space (size = 24 .dp)
@@ -376,13 +382,59 @@ fun FileViewConfigDialog(
376382 ) {
377383 SwitchSettingItem (
378384 icon = Icons .Rounded .CropFree ,
379- title = if (viewType == ViewType . GRID .ordinal) stringResource( R .string.gallery_mode) else stringResource(
385+ title = stringResource(
380386 R .string.crop_in_thumbnails
381387 ),
382388 checked = cropThumbnails,
383389 onCheckedChange = { cropThumbnails = it }
384390 )
385391 }
392+
393+ if (viewType == ViewType .GRID .ordinal) {
394+ HorizontalDivider (
395+ modifier = Modifier .padding(
396+ horizontal = 8 .dp,
397+ vertical = 4 .dp
398+ )
399+ )
400+
401+ Card (
402+ modifier = Modifier .fillMaxWidth(),
403+ colors = CardDefaults .cardColors(
404+ containerColor = MaterialTheme .colorScheme.surfaceContainer
405+ ),
406+ elevation = CardDefaults .cardElevation(defaultElevation = 0 .dp)
407+ ) {
408+ SwitchSettingItem (
409+ icon = Icons .Rounded .Image ,
410+ title = stringResource(R .string.gallery_mode),
411+ checked = galleryMode,
412+ onCheckedChange = { galleryMode = it }
413+ )
414+ }
415+
416+ HorizontalDivider (
417+ modifier = Modifier .padding(
418+ horizontal = 8 .dp,
419+ vertical = 4 .dp
420+ )
421+ )
422+
423+ Card (
424+ modifier = Modifier .fillMaxWidth(),
425+ colors = CardDefaults .cardColors(
426+ containerColor = MaterialTheme .colorScheme.surfaceContainer
427+ ),
428+ elevation = CardDefaults .cardElevation(defaultElevation = 0 .dp)
429+ ) {
430+ SwitchSettingItem (
431+ icon = Icons .Rounded .TextFields ,
432+ title = stringResource(R .string.hide_media_names),
433+ checked = hideMediaNames,
434+ onCheckedChange = { hideMediaNames = it }
435+ )
436+ }
437+ }
386438 }
387439 }
388440 }
0 commit comments