mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	| @@ -5,8 +5,6 @@ import androidx.compose.foundation.layout.padding | ||||
| import androidx.compose.foundation.lazy.items | ||||
| import androidx.compose.material.icons.Icons | ||||
| import androidx.compose.material.icons.outlined.DeleteSweep | ||||
| import androidx.compose.material3.Icon | ||||
| import androidx.compose.material3.IconButton | ||||
| import androidx.compose.material3.SnackbarHost | ||||
| import androidx.compose.material3.SnackbarHostState | ||||
| import androidx.compose.runtime.Composable | ||||
| @@ -14,6 +12,8 @@ import androidx.compose.runtime.remember | ||||
| import androidx.compose.ui.Modifier | ||||
| import androidx.compose.ui.res.stringResource | ||||
| import eu.kanade.domain.ui.UiPreferences | ||||
| import eu.kanade.presentation.components.AppBar | ||||
| import eu.kanade.presentation.components.AppBarActions | ||||
| import eu.kanade.presentation.components.AppBarTitle | ||||
| import eu.kanade.presentation.components.RelativeDateHeader | ||||
| import eu.kanade.presentation.components.SearchToolbar | ||||
| @@ -47,12 +47,17 @@ fun HistoryScreen( | ||||
|                 searchQuery = state.searchQuery, | ||||
|                 onChangeSearchQuery = onSearchQueryChange, | ||||
|                 actions = { | ||||
|                     IconButton(onClick = { onDialogChange(HistoryScreenModel.Dialog.DeleteAll) }) { | ||||
|                         Icon( | ||||
|                             Icons.Outlined.DeleteSweep, | ||||
|                             contentDescription = stringResource(R.string.pref_clear_history), | ||||
|                         ) | ||||
|                     } | ||||
|                     AppBarActions( | ||||
|                         listOf( | ||||
|                             AppBar.Action( | ||||
|                                 title = stringResource(R.string.pref_clear_history), | ||||
|                                 icon = Icons.Outlined.DeleteSweep, | ||||
|                                 onClick = { | ||||
|                                     onDialogChange(HistoryScreenModel.Dialog.DeleteAll) | ||||
|                                 }, | ||||
|                             ), | ||||
|                         ), | ||||
|                     ) | ||||
|                 }, | ||||
|                 scrollBehavior = scrollBehavior, | ||||
|             ) | ||||
|   | ||||
| @@ -21,6 +21,7 @@ import androidx.compose.ui.res.stringResource | ||||
| import androidx.compose.ui.text.style.TextOverflow | ||||
| import androidx.compose.ui.unit.sp | ||||
| import eu.kanade.presentation.components.AppBar | ||||
| import eu.kanade.presentation.components.AppBarActions | ||||
| import eu.kanade.presentation.components.OverflowMenu | ||||
| import eu.kanade.presentation.components.SearchToolbar | ||||
| import eu.kanade.tachiyomi.R | ||||
| @@ -139,12 +140,20 @@ private fun LibrarySelectionToolbar( | ||||
|     AppBar( | ||||
|         titleContent = { Text(text = "$selectedCount") }, | ||||
|         actions = { | ||||
|             IconButton(onClick = onClickSelectAll) { | ||||
|                 Icon(Icons.Outlined.SelectAll, contentDescription = stringResource(R.string.action_select_all)) | ||||
|             } | ||||
|             IconButton(onClick = onClickInvertSelection) { | ||||
|                 Icon(Icons.Outlined.FlipToBack, contentDescription = stringResource(R.string.action_select_inverse)) | ||||
|             } | ||||
|             AppBarActions( | ||||
|                 listOf( | ||||
|                     AppBar.Action( | ||||
|                         title = stringResource(R.string.action_select_all), | ||||
|                         icon = Icons.Outlined.SelectAll, | ||||
|                         onClick = onClickSelectAll, | ||||
|                     ), | ||||
|                     AppBar.Action( | ||||
|                         title = stringResource(R.string.action_select_inverse), | ||||
|                         icon = Icons.Outlined.FlipToBack, | ||||
|                         onClick = onClickInvertSelection, | ||||
|                     ), | ||||
|                 ), | ||||
|             ) | ||||
|         }, | ||||
|         isActionMode = true, | ||||
|         onCancelActionMode = onClickUnselectAll, | ||||
|   | ||||
| @@ -26,6 +26,8 @@ import androidx.compose.ui.draw.alpha | ||||
| import androidx.compose.ui.res.stringResource | ||||
| import androidx.compose.ui.text.style.TextOverflow | ||||
| import androidx.compose.ui.unit.dp | ||||
| import eu.kanade.presentation.components.AppBar | ||||
| import eu.kanade.presentation.components.AppBarActions | ||||
| import eu.kanade.presentation.components.DownloadDropdownMenu | ||||
| import eu.kanade.presentation.components.OverflowMenu | ||||
| import eu.kanade.presentation.manga.DownloadAction | ||||
| @@ -74,18 +76,20 @@ fun MangaToolbar( | ||||
|             }, | ||||
|             actions = { | ||||
|                 if (isActionMode) { | ||||
|                     IconButton(onClick = onSelectAll) { | ||||
|                         Icon( | ||||
|                             imageVector = Icons.Outlined.SelectAll, | ||||
|                             contentDescription = stringResource(R.string.action_select_all), | ||||
|                         ) | ||||
|                     } | ||||
|                     IconButton(onClick = onInvertSelection) { | ||||
|                         Icon( | ||||
|                             imageVector = Icons.Outlined.FlipToBack, | ||||
|                             contentDescription = stringResource(R.string.action_select_inverse), | ||||
|                         ) | ||||
|                     } | ||||
|                     AppBarActions( | ||||
|                         listOf( | ||||
|                             AppBar.Action( | ||||
|                                 title = stringResource(R.string.action_select_all), | ||||
|                                 icon = Icons.Outlined.SelectAll, | ||||
|                                 onClick = onSelectAll, | ||||
|                             ), | ||||
|                             AppBar.Action( | ||||
|                                 title = stringResource(R.string.action_select_inverse), | ||||
|                                 icon = Icons.Outlined.FlipToBack, | ||||
|                                 onClick = onInvertSelection, | ||||
|                             ), | ||||
|                         ), | ||||
|                     ) | ||||
|                 } else { | ||||
|                     if (onClickDownload != null) { | ||||
|                         val (downloadExpanded, onDownloadExpanded) = remember { mutableStateOf(false) } | ||||
|   | ||||
| @@ -18,6 +18,7 @@ import androidx.compose.runtime.collectAsState | ||||
| import androidx.compose.runtime.getValue | ||||
| import androidx.compose.ui.Modifier | ||||
| import androidx.compose.ui.platform.LocalContext | ||||
| import androidx.compose.ui.res.stringResource | ||||
| import androidx.compose.ui.text.font.FontFamily | ||||
| import androidx.compose.ui.unit.dp | ||||
| import androidx.compose.ui.util.fastForEach | ||||
| @@ -29,7 +30,10 @@ import cafe.adriel.voyager.core.model.rememberScreenModel | ||||
| import cafe.adriel.voyager.core.screen.Screen | ||||
| import cafe.adriel.voyager.navigator.LocalNavigator | ||||
| import cafe.adriel.voyager.navigator.currentOrThrow | ||||
| import eu.kanade.presentation.components.AppBar | ||||
| import eu.kanade.presentation.components.AppBarActions | ||||
| import eu.kanade.presentation.util.ioCoroutineScope | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.util.system.copyToClipboard | ||||
| import eu.kanade.tachiyomi.util.system.workManager | ||||
| import kotlinx.coroutines.flow.SharingStarted | ||||
| @@ -63,13 +67,17 @@ object WorkerInfoScreen : Screen { | ||||
|                         } | ||||
|                     }, | ||||
|                     actions = { | ||||
|                         IconButton( | ||||
|                             onClick = { | ||||
|                                 context.copyToClipboard(title, enqueued + finished + running) | ||||
|                             }, | ||||
|                         ) { | ||||
|                             Icon(imageVector = Icons.Default.ContentCopy, contentDescription = null) | ||||
|                         } | ||||
|                         AppBarActions( | ||||
|                             listOf( | ||||
|                                 AppBar.Action( | ||||
|                                     title = stringResource(R.string.action_copy_to_clipboard), | ||||
|                                     icon = Icons.Default.ContentCopy, | ||||
|                                     onClick = { | ||||
|                                         context.copyToClipboard(title, enqueued + finished + running) | ||||
|                                     }, | ||||
|                                 ), | ||||
|                             ), | ||||
|                         ) | ||||
|                     }, | ||||
|                     scrollBehavior = it, | ||||
|                 ) | ||||
|   | ||||
| @@ -7,8 +7,6 @@ import androidx.compose.material.icons.Icons | ||||
| import androidx.compose.material.icons.outlined.FlipToBack | ||||
| import androidx.compose.material.icons.outlined.Refresh | ||||
| import androidx.compose.material.icons.outlined.SelectAll | ||||
| import androidx.compose.material3.Icon | ||||
| import androidx.compose.material3.IconButton | ||||
| import androidx.compose.material3.SnackbarHost | ||||
| import androidx.compose.material3.SnackbarHostState | ||||
| import androidx.compose.material3.TopAppBarScrollBehavior | ||||
| @@ -24,6 +22,7 @@ import androidx.compose.ui.res.stringResource | ||||
| import androidx.compose.ui.util.fastAll | ||||
| import androidx.compose.ui.util.fastAny | ||||
| import eu.kanade.presentation.components.AppBar | ||||
| import eu.kanade.presentation.components.AppBarActions | ||||
| import eu.kanade.presentation.manga.components.ChapterDownloadAction | ||||
| import eu.kanade.presentation.manga.components.MangaBottomActionMenu | ||||
| import eu.kanade.tachiyomi.R | ||||
| @@ -144,28 +143,33 @@ private fun UpdatesAppBar( | ||||
|         modifier = modifier, | ||||
|         title = stringResource(R.string.label_recent_updates), | ||||
|         actions = { | ||||
|             IconButton(onClick = onUpdateLibrary) { | ||||
|                 Icon( | ||||
|                     imageVector = Icons.Outlined.Refresh, | ||||
|                     contentDescription = stringResource(R.string.action_update_library), | ||||
|                 ) | ||||
|             } | ||||
|             AppBarActions( | ||||
|                 listOf( | ||||
|                     AppBar.Action( | ||||
|                         title = stringResource(R.string.action_update_library), | ||||
|                         icon = Icons.Outlined.Refresh, | ||||
|                         onClick = onUpdateLibrary, | ||||
|                     ), | ||||
|                 ), | ||||
|             ) | ||||
|         }, | ||||
|         actionModeCounter = actionModeCounter, | ||||
|         onCancelActionMode = onCancelActionMode, | ||||
|         actionModeActions = { | ||||
|             IconButton(onClick = onSelectAll) { | ||||
|                 Icon( | ||||
|                     imageVector = Icons.Outlined.SelectAll, | ||||
|                     contentDescription = stringResource(R.string.action_select_all), | ||||
|                 ) | ||||
|             } | ||||
|             IconButton(onClick = onInvertSelection) { | ||||
|                 Icon( | ||||
|                     imageVector = Icons.Outlined.FlipToBack, | ||||
|                     contentDescription = stringResource(R.string.action_select_inverse), | ||||
|                 ) | ||||
|             } | ||||
|             AppBarActions( | ||||
|                 listOf( | ||||
|                     AppBar.Action( | ||||
|                         title = stringResource(R.string.action_select_all), | ||||
|                         icon = Icons.Outlined.SelectAll, | ||||
|                         onClick = onSelectAll, | ||||
|                     ), | ||||
|                     AppBar.Action( | ||||
|                         title = stringResource(R.string.action_select_inverse), | ||||
|                         icon = Icons.Outlined.FlipToBack, | ||||
|                         onClick = onInvertSelection, | ||||
|                     ), | ||||
|                 ), | ||||
|             ) | ||||
|         }, | ||||
|         scrollBehavior = scrollBehavior, | ||||
|     ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user