mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	@@ -9,7 +9,7 @@ class SetMangaViewerFlags(
 | 
			
		||||
    private val mangaRepository: MangaRepository,
 | 
			
		||||
) {
 | 
			
		||||
 | 
			
		||||
    suspend fun awaitSetMangaReadingMode(id: Long, flag: Long) {
 | 
			
		||||
    suspend fun awaitSetReadingMode(id: Long, flag: Long) {
 | 
			
		||||
        val manga = mangaRepository.getMangaById(id)
 | 
			
		||||
        mangaRepository.update(
 | 
			
		||||
            MangaUpdate(
 | 
			
		||||
@@ -19,7 +19,7 @@ class SetMangaViewerFlags(
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    suspend fun awaitSetOrientationType(id: Long, flag: Long) {
 | 
			
		||||
    suspend fun awaitSetOrientation(id: Long, flag: Long) {
 | 
			
		||||
        val manga = mangaRepository.getMangaById(id)
 | 
			
		||||
        mangaRepository.update(
 | 
			
		||||
            MangaUpdate(
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ fun ChapterSettingsDialog(
 | 
			
		||||
    onSortModeChanged: (Long) -> Unit,
 | 
			
		||||
    onDisplayModeChanged: (Long) -> Unit,
 | 
			
		||||
    onSetAsDefault: (applyToExistingManga: Boolean) -> Unit,
 | 
			
		||||
    onResetToDefault: () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    var showSetAsDefaultDialog by rememberSaveable { mutableStateOf(false) }
 | 
			
		||||
    if (showSetAsDefaultDialog) {
 | 
			
		||||
@@ -64,6 +65,13 @@ fun ChapterSettingsDialog(
 | 
			
		||||
                    closeMenu()
 | 
			
		||||
                },
 | 
			
		||||
            )
 | 
			
		||||
            DropdownMenuItem(
 | 
			
		||||
                text = { Text(stringResource(R.string.action_reset)) },
 | 
			
		||||
                onClick = {
 | 
			
		||||
                    onResetToDefault()
 | 
			
		||||
                    closeMenu()
 | 
			
		||||
                },
 | 
			
		||||
            )
 | 
			
		||||
        },
 | 
			
		||||
    ) { page ->
 | 
			
		||||
        Column(
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,7 @@ import okhttp3.Headers
 | 
			
		||||
import tachiyomi.core.util.lang.launchNonCancellable
 | 
			
		||||
import tachiyomi.core.util.lang.withUIContext
 | 
			
		||||
import tachiyomi.core.util.system.logcat
 | 
			
		||||
import tachiyomi.domain.manga.repository.MangaRepository
 | 
			
		||||
import tachiyomi.domain.manga.interactor.ResetViewerFlags
 | 
			
		||||
import tachiyomi.presentation.core.util.collectAsState
 | 
			
		||||
import uy.kohesive.injekt.Injekt
 | 
			
		||||
import uy.kohesive.injekt.api.get
 | 
			
		||||
@@ -309,7 +309,7 @@ object SettingsAdvancedScreen : SearchableSettings {
 | 
			
		||||
                    subtitle = stringResource(R.string.pref_reset_viewer_flags_summary),
 | 
			
		||||
                    onClick = {
 | 
			
		||||
                        scope.launchNonCancellable {
 | 
			
		||||
                            val success = Injekt.get<MangaRepository>().resetViewerFlags()
 | 
			
		||||
                            val success = Injekt.get<ResetViewerFlags>().await()
 | 
			
		||||
                            withUIContext {
 | 
			
		||||
                                val message = if (success) {
 | 
			
		||||
                                    R.string.pref_reset_viewer_flags_success
 | 
			
		||||
 
 | 
			
		||||
@@ -172,6 +172,7 @@ class MangaScreen(
 | 
			
		||||
                onSortModeChanged = screenModel::setSorting,
 | 
			
		||||
                onDisplayModeChanged = screenModel::setDisplayMode,
 | 
			
		||||
                onSetAsDefault = screenModel::setCurrentSettingsAsDefault,
 | 
			
		||||
                onResetToDefault = screenModel::resetToDefaultSettings,
 | 
			
		||||
            )
 | 
			
		||||
            MangaScreenModel.Dialog.TrackSheet -> {
 | 
			
		||||
                NavigatorAdaptiveSheet(
 | 
			
		||||
 
 | 
			
		||||
@@ -834,6 +834,13 @@ class MangaScreenModel(
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun resetToDefaultSettings() {
 | 
			
		||||
        val manga = successState?.manga ?: return
 | 
			
		||||
        screenModelScope.launchNonCancellable {
 | 
			
		||||
            setMangaDefaultChapterFlags.await(manga)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun toggleSelection(
 | 
			
		||||
        item: ChapterItem,
 | 
			
		||||
        selected: Boolean,
 | 
			
		||||
 
 | 
			
		||||
@@ -630,7 +630,7 @@ class ReaderViewModel @JvmOverloads constructor(
 | 
			
		||||
    fun setMangaReadingMode(readingModeType: ReadingModeType) {
 | 
			
		||||
        val manga = manga ?: return
 | 
			
		||||
        runBlocking(Dispatchers.IO) {
 | 
			
		||||
            setMangaViewerFlags.awaitSetMangaReadingMode(manga.id, readingModeType.flagValue.toLong())
 | 
			
		||||
            setMangaViewerFlags.awaitSetReadingMode(manga.id, readingModeType.flagValue.toLong())
 | 
			
		||||
            val currChapters = state.value.viewerChapters
 | 
			
		||||
            if (currChapters != null) {
 | 
			
		||||
                // Save current page
 | 
			
		||||
@@ -666,7 +666,7 @@ class ReaderViewModel @JvmOverloads constructor(
 | 
			
		||||
    fun setMangaOrientationType(rotationType: OrientationType) {
 | 
			
		||||
        val manga = manga ?: return
 | 
			
		||||
        viewModelScope.launchIO {
 | 
			
		||||
            setMangaViewerFlags.awaitSetOrientationType(manga.id, rotationType.flagValue.toLong())
 | 
			
		||||
            setMangaViewerFlags.awaitSetOrientation(manga.id, rotationType.flagValue.toLong())
 | 
			
		||||
            val currChapters = state.value.viewerChapters
 | 
			
		||||
            if (currChapters != null) {
 | 
			
		||||
                // Save current page
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,8 @@ WHERE _id = :id;
 | 
			
		||||
getMangaByUrlAndSource:
 | 
			
		||||
SELECT *
 | 
			
		||||
FROM mangas
 | 
			
		||||
WHERE url = :url AND source = :source
 | 
			
		||||
WHERE url = :url
 | 
			
		||||
AND source = :source
 | 
			
		||||
LIMIT 1;
 | 
			
		||||
 | 
			
		||||
getFavorites:
 | 
			
		||||
@@ -107,7 +108,8 @@ GROUP BY source;
 | 
			
		||||
 | 
			
		||||
deleteMangasNotInLibraryBySourceIds:
 | 
			
		||||
DELETE FROM mangas
 | 
			
		||||
WHERE favorite = 0 AND source IN :sourceIds;
 | 
			
		||||
WHERE favorite = 0
 | 
			
		||||
AND source IN :sourceIds;
 | 
			
		||||
 | 
			
		||||
insert:
 | 
			
		||||
INSERT INTO mangas(source, url, artist, author, description, genre, title, status, thumbnail_url, favorite, last_update, next_update, initialized, viewer, chapter_flags, cover_last_modified, date_added, update_strategy, calculate_interval, last_modified_at)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user