This commit is contained in:
kodjomoustapha 2024-05-29 11:11:37 +01:00
parent 460ef76895
commit 012c5340b9
11 changed files with 360 additions and 237 deletions

View file

@ -183,6 +183,9 @@ class Settings {
int? animeGridSize; int? animeGridSize;
@enumerated
late SectionType disableSectionType;
Settings( Settings(
{this.id = 227, {this.id = 227,
this.displayType = DisplayType.compactGrid, this.displayType = DisplayType.compactGrid,
@ -263,11 +266,13 @@ class Settings {
this.mangaHomeDisplayType = DisplayType.comfortableGrid, this.mangaHomeDisplayType = DisplayType.comfortableGrid,
this.appFontFamily, this.appFontFamily,
this.mangaGridSize, this.mangaGridSize,
this.animeGridSize}); this.animeGridSize,
this.disableSectionType = SectionType.all});
Settings.fromJson(Map<String, dynamic> json) { Settings.fromJson(Map<String, dynamic> json) {
animatePageTransitions = json['animatePageTransitions']; animatePageTransitions = json['animatePageTransitions'];
animeDisplayType = DisplayType.values[json['animeDisplayType']]; animeDisplayType = DisplayType
.values[json['animeDisplayType'] ?? DisplayType.compactGrid.index];
animeLibraryDownloadedChapters = json['animeLibraryDownloadedChapters']; animeLibraryDownloadedChapters = json['animeLibraryDownloadedChapters'];
animeLibraryLocalSource = json['animeLibraryLocalSource']; animeLibraryLocalSource = json['animeLibraryLocalSource'];
animeLibraryShowCategoryTabs = json['animeLibraryShowCategoryTabs']; animeLibraryShowCategoryTabs = json['animeLibraryShowCategoryTabs'];
@ -276,7 +281,8 @@ class Settings {
animeLibraryShowLanguage = json['animeLibraryShowLanguage']; animeLibraryShowLanguage = json['animeLibraryShowLanguage'];
animeLibraryShowNumbersOfItems = json['animeLibraryShowNumbersOfItems']; animeLibraryShowNumbersOfItems = json['animeLibraryShowNumbersOfItems'];
autoExtensionsUpdates = json['autoExtensionsUpdates']; autoExtensionsUpdates = json['autoExtensionsUpdates'];
backgroundColor = BackgroundColor.values[json['backgroundColor']]; backgroundColor = BackgroundColor
.values[json['backgroundColor'] ?? BackgroundColor.black.index];
if (json['chapterFilterBookmarkedList'] != null) { if (json['chapterFilterBookmarkedList'] != null) {
chapterFilterBookmarkedList = chapterFilterBookmarkedList =
(json['chapterFilterBookmarkedList'] as List) (json['chapterFilterBookmarkedList'] as List)
@ -312,7 +318,8 @@ class Settings {
} }
cropBorders = json['cropBorders']; cropBorders = json['cropBorders'];
dateFormat = json['dateFormat']; dateFormat = json['dateFormat'];
defaultReaderMode = ReaderMode.values[json['defaultReaderMode']]; defaultReaderMode = ReaderMode
.values[json['defaultReaderMode'] ?? ReaderMode.vertical.index];
displayType = DisplayType.values[json['displayType']]; displayType = DisplayType.values[json['displayType']];
doubleTapAnimationSpeed = json['doubleTapAnimationSpeed']; doubleTapAnimationSpeed = json['doubleTapAnimationSpeed'];
downloadLocation = json['downloadLocation']; downloadLocation = json['downloadLocation'];
@ -358,7 +365,8 @@ class Settings {
pureBlackDarkMode = json['pureBlackDarkMode']; pureBlackDarkMode = json['pureBlackDarkMode'];
relativeTimesTamps = json['relativeTimesTamps']; relativeTimesTamps = json['relativeTimesTamps'];
saveAsCBZArchive = json['saveAsCBZArchive']; saveAsCBZArchive = json['saveAsCBZArchive'];
scaleType = ScaleType.values[json['scaleType']]; scaleType =
ScaleType.values[json['scaleType'] ?? ScaleType.fitScreen.index];
showNSFW = json['showNSFW']; showNSFW = json['showNSFW'];
showPagesNumber = json['showPagesNumber']; showPagesNumber = json['showPagesNumber'];
if (json['sortChapterList'] != null) { if (json['sortChapterList'] != null) {
@ -392,20 +400,22 @@ class Settings {
aniSkipTimeoutLength = json['aniSkipTimeoutLength']; aniSkipTimeoutLength = json['aniSkipTimeoutLength'];
btServerAddress = json['btServerAddress']; btServerAddress = json['btServerAddress'];
btServerPort = json['btServerPort']; btServerPort = json['btServerPort'];
customColorFilter = json['customColorFilter'] != null customColorFilter = json['customColorFilter'] != null
? CustomColorFilter.fromJson(json['customColorFilter']) ? CustomColorFilter.fromJson(json['customColorFilter'])
: null; : null;
enableCustomColorFilter = json['enableCustomColorFilter']; enableCustomColorFilter = json['enableCustomColorFilter'];
colorFilterBlendMode = colorFilterBlendMode = ColorFilterBlendMode
ColorFilterBlendMode.values[json['colorFilterBlendMode']]; .values[json['colorFilterBlendMode'] ?? ColorFilterBlendMode.none];
playerSubtitleSettings = json['playerSubtitleSettings'] != null playerSubtitleSettings = json['playerSubtitleSettings'] != null
? PlayerSubtitleSettings.fromJson(json['customColorFilter']) ? PlayerSubtitleSettings.fromJson(json['customColorFilter'])
: null; : null;
mangaHomeDisplayType = DisplayType.values[json['mangaHomeDisplayType']]; mangaHomeDisplayType = DisplayType.values[
json['mangaHomeDisplayType'] ?? DisplayType.comfortableGrid.index];
appFontFamily = json['appFontFamily']; appFontFamily = json['appFontFamily'];
mangaGridSize = json['mangaGridSize']; mangaGridSize = json['mangaGridSize'];
animeGridSize = json['animeGridSize']; animeGridSize = json['animeGridSize'];
disableSectionType =
SectionType.values[json['disableSectionType'] ?? SectionType.all];
} }
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
@ -512,10 +522,13 @@ class Settings {
'mangaHomeDisplayType': mangaHomeDisplayType.index, 'mangaHomeDisplayType': mangaHomeDisplayType.index,
'appFontFamily': appFontFamily, 'appFontFamily': appFontFamily,
'mangaGridSize': mangaGridSize, 'mangaGridSize': mangaGridSize,
'animeGridSize': animeGridSize 'animeGridSize': animeGridSize,
'disableSectionType': disableSectionType.index
}; };
} }
enum SectionType { all, anime, manga }
enum DisplayType { enum DisplayType {
compactGrid, compactGrid,
comfortableGrid, comfortableGrid,

View file

@ -199,259 +199,265 @@ const SettingsSchema = CollectionSchema(
name: r'defaultSkipIntroLength', name: r'defaultSkipIntroLength',
type: IsarType.long, type: IsarType.long,
), ),
r'displayType': PropertySchema( r'disableSectionType': PropertySchema(
id: 34, id: 34,
name: r'disableSectionType',
type: IsarType.byte,
enumMap: _SettingsdisableSectionTypeEnumValueMap,
),
r'displayType': PropertySchema(
id: 35,
name: r'displayType', name: r'displayType',
type: IsarType.byte, type: IsarType.byte,
enumMap: _SettingsdisplayTypeEnumValueMap, enumMap: _SettingsdisplayTypeEnumValueMap,
), ),
r'doubleTapAnimationSpeed': PropertySchema( r'doubleTapAnimationSpeed': PropertySchema(
id: 35, id: 36,
name: r'doubleTapAnimationSpeed', name: r'doubleTapAnimationSpeed',
type: IsarType.long, type: IsarType.long,
), ),
r'downloadLocation': PropertySchema( r'downloadLocation': PropertySchema(
id: 36, id: 37,
name: r'downloadLocation', name: r'downloadLocation',
type: IsarType.string, type: IsarType.string,
), ),
r'downloadOnlyOnWifi': PropertySchema( r'downloadOnlyOnWifi': PropertySchema(
id: 37, id: 38,
name: r'downloadOnlyOnWifi', name: r'downloadOnlyOnWifi',
type: IsarType.bool, type: IsarType.bool,
), ),
r'enableAniSkip': PropertySchema( r'enableAniSkip': PropertySchema(
id: 38, id: 39,
name: r'enableAniSkip', name: r'enableAniSkip',
type: IsarType.bool, type: IsarType.bool,
), ),
r'enableAutoSkip': PropertySchema( r'enableAutoSkip': PropertySchema(
id: 39, id: 40,
name: r'enableAutoSkip', name: r'enableAutoSkip',
type: IsarType.bool, type: IsarType.bool,
), ),
r'enableCustomColorFilter': PropertySchema( r'enableCustomColorFilter': PropertySchema(
id: 40, id: 41,
name: r'enableCustomColorFilter', name: r'enableCustomColorFilter',
type: IsarType.bool, type: IsarType.bool,
), ),
r'filterScanlatorList': PropertySchema( r'filterScanlatorList': PropertySchema(
id: 41, id: 42,
name: r'filterScanlatorList', name: r'filterScanlatorList',
type: IsarType.objectList, type: IsarType.objectList,
target: r'FilterScanlator', target: r'FilterScanlator',
), ),
r'flexColorSchemeBlendLevel': PropertySchema( r'flexColorSchemeBlendLevel': PropertySchema(
id: 42, id: 43,
name: r'flexColorSchemeBlendLevel', name: r'flexColorSchemeBlendLevel',
type: IsarType.double, type: IsarType.double,
), ),
r'flexSchemeColorIndex': PropertySchema( r'flexSchemeColorIndex': PropertySchema(
id: 43, id: 44,
name: r'flexSchemeColorIndex', name: r'flexSchemeColorIndex',
type: IsarType.long, type: IsarType.long,
), ),
r'fullScreenReader': PropertySchema( r'fullScreenReader': PropertySchema(
id: 44, id: 45,
name: r'fullScreenReader', name: r'fullScreenReader',
type: IsarType.bool, type: IsarType.bool,
), ),
r'incognitoMode': PropertySchema( r'incognitoMode': PropertySchema(
id: 45, id: 46,
name: r'incognitoMode', name: r'incognitoMode',
type: IsarType.bool, type: IsarType.bool,
), ),
r'libraryDownloadedChapters': PropertySchema( r'libraryDownloadedChapters': PropertySchema(
id: 46, id: 47,
name: r'libraryDownloadedChapters', name: r'libraryDownloadedChapters',
type: IsarType.bool, type: IsarType.bool,
), ),
r'libraryFilterAnimeBookMarkedType': PropertySchema( r'libraryFilterAnimeBookMarkedType': PropertySchema(
id: 47, id: 48,
name: r'libraryFilterAnimeBookMarkedType', name: r'libraryFilterAnimeBookMarkedType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterAnimeDownloadType': PropertySchema( r'libraryFilterAnimeDownloadType': PropertySchema(
id: 48, id: 49,
name: r'libraryFilterAnimeDownloadType', name: r'libraryFilterAnimeDownloadType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterAnimeStartedType': PropertySchema( r'libraryFilterAnimeStartedType': PropertySchema(
id: 49, id: 50,
name: r'libraryFilterAnimeStartedType', name: r'libraryFilterAnimeStartedType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterAnimeUnreadType': PropertySchema( r'libraryFilterAnimeUnreadType': PropertySchema(
id: 50, id: 51,
name: r'libraryFilterAnimeUnreadType', name: r'libraryFilterAnimeUnreadType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterMangasBookMarkedType': PropertySchema( r'libraryFilterMangasBookMarkedType': PropertySchema(
id: 51, id: 52,
name: r'libraryFilterMangasBookMarkedType', name: r'libraryFilterMangasBookMarkedType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterMangasDownloadType': PropertySchema( r'libraryFilterMangasDownloadType': PropertySchema(
id: 52, id: 53,
name: r'libraryFilterMangasDownloadType', name: r'libraryFilterMangasDownloadType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterMangasStartedType': PropertySchema( r'libraryFilterMangasStartedType': PropertySchema(
id: 53, id: 54,
name: r'libraryFilterMangasStartedType', name: r'libraryFilterMangasStartedType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryFilterMangasUnreadType': PropertySchema( r'libraryFilterMangasUnreadType': PropertySchema(
id: 54, id: 55,
name: r'libraryFilterMangasUnreadType', name: r'libraryFilterMangasUnreadType',
type: IsarType.long, type: IsarType.long,
), ),
r'libraryLocalSource': PropertySchema( r'libraryLocalSource': PropertySchema(
id: 55, id: 56,
name: r'libraryLocalSource', name: r'libraryLocalSource',
type: IsarType.bool, type: IsarType.bool,
), ),
r'libraryShowCategoryTabs': PropertySchema( r'libraryShowCategoryTabs': PropertySchema(
id: 56, id: 57,
name: r'libraryShowCategoryTabs', name: r'libraryShowCategoryTabs',
type: IsarType.bool, type: IsarType.bool,
), ),
r'libraryShowContinueReadingButton': PropertySchema( r'libraryShowContinueReadingButton': PropertySchema(
id: 57, id: 58,
name: r'libraryShowContinueReadingButton', name: r'libraryShowContinueReadingButton',
type: IsarType.bool, type: IsarType.bool,
), ),
r'libraryShowLanguage': PropertySchema( r'libraryShowLanguage': PropertySchema(
id: 58, id: 59,
name: r'libraryShowLanguage', name: r'libraryShowLanguage',
type: IsarType.bool, type: IsarType.bool,
), ),
r'libraryShowNumbersOfItems': PropertySchema( r'libraryShowNumbersOfItems': PropertySchema(
id: 59, id: 60,
name: r'libraryShowNumbersOfItems', name: r'libraryShowNumbersOfItems',
type: IsarType.bool, type: IsarType.bool,
), ),
r'locale': PropertySchema( r'locale': PropertySchema(
id: 60, id: 61,
name: r'locale', name: r'locale',
type: IsarType.object, type: IsarType.object,
target: r'L10nLocale', target: r'L10nLocale',
), ),
r'mangaGridSize': PropertySchema( r'mangaGridSize': PropertySchema(
id: 61, id: 62,
name: r'mangaGridSize', name: r'mangaGridSize',
type: IsarType.long, type: IsarType.long,
), ),
r'mangaHomeDisplayType': PropertySchema( r'mangaHomeDisplayType': PropertySchema(
id: 62, id: 63,
name: r'mangaHomeDisplayType', name: r'mangaHomeDisplayType',
type: IsarType.byte, type: IsarType.byte,
enumMap: _SettingsmangaHomeDisplayTypeEnumValueMap, enumMap: _SettingsmangaHomeDisplayTypeEnumValueMap,
), ),
r'markEpisodeAsSeenType': PropertySchema( r'markEpisodeAsSeenType': PropertySchema(
id: 63, id: 64,
name: r'markEpisodeAsSeenType', name: r'markEpisodeAsSeenType',
type: IsarType.long, type: IsarType.long,
), ),
r'onlyIncludePinnedSources': PropertySchema( r'onlyIncludePinnedSources': PropertySchema(
id: 64, id: 65,
name: r'onlyIncludePinnedSources', name: r'onlyIncludePinnedSources',
type: IsarType.bool, type: IsarType.bool,
), ),
r'pagePreloadAmount': PropertySchema( r'pagePreloadAmount': PropertySchema(
id: 65, id: 66,
name: r'pagePreloadAmount', name: r'pagePreloadAmount',
type: IsarType.long, type: IsarType.long,
), ),
r'personalPageModeList': PropertySchema( r'personalPageModeList': PropertySchema(
id: 66, id: 67,
name: r'personalPageModeList', name: r'personalPageModeList',
type: IsarType.objectList, type: IsarType.objectList,
target: r'PersonalPageMode', target: r'PersonalPageMode',
), ),
r'personalReaderModeList': PropertySchema( r'personalReaderModeList': PropertySchema(
id: 67, id: 68,
name: r'personalReaderModeList', name: r'personalReaderModeList',
type: IsarType.objectList, type: IsarType.objectList,
target: r'PersonalReaderMode', target: r'PersonalReaderMode',
), ),
r'playerSubtitleSettings': PropertySchema( r'playerSubtitleSettings': PropertySchema(
id: 68, id: 69,
name: r'playerSubtitleSettings', name: r'playerSubtitleSettings',
type: IsarType.object, type: IsarType.object,
target: r'PlayerSubtitleSettings', target: r'PlayerSubtitleSettings',
), ),
r'pureBlackDarkMode': PropertySchema( r'pureBlackDarkMode': PropertySchema(
id: 69, id: 70,
name: r'pureBlackDarkMode', name: r'pureBlackDarkMode',
type: IsarType.bool, type: IsarType.bool,
), ),
r'relativeTimesTamps': PropertySchema( r'relativeTimesTamps': PropertySchema(
id: 70, id: 71,
name: r'relativeTimesTamps', name: r'relativeTimesTamps',
type: IsarType.long, type: IsarType.long,
), ),
r'saveAsCBZArchive': PropertySchema( r'saveAsCBZArchive': PropertySchema(
id: 71, id: 72,
name: r'saveAsCBZArchive', name: r'saveAsCBZArchive',
type: IsarType.bool, type: IsarType.bool,
), ),
r'scaleType': PropertySchema( r'scaleType': PropertySchema(
id: 72, id: 73,
name: r'scaleType', name: r'scaleType',
type: IsarType.byte, type: IsarType.byte,
enumMap: _SettingsscaleTypeEnumValueMap, enumMap: _SettingsscaleTypeEnumValueMap,
), ),
r'showNSFW': PropertySchema( r'showNSFW': PropertySchema(
id: 73, id: 74,
name: r'showNSFW', name: r'showNSFW',
type: IsarType.bool, type: IsarType.bool,
), ),
r'showPagesNumber': PropertySchema( r'showPagesNumber': PropertySchema(
id: 74, id: 75,
name: r'showPagesNumber', name: r'showPagesNumber',
type: IsarType.bool, type: IsarType.bool,
), ),
r'sortChapterList': PropertySchema( r'sortChapterList': PropertySchema(
id: 75, id: 76,
name: r'sortChapterList', name: r'sortChapterList',
type: IsarType.objectList, type: IsarType.objectList,
target: r'SortChapter', target: r'SortChapter',
), ),
r'sortLibraryAnime': PropertySchema( r'sortLibraryAnime': PropertySchema(
id: 76, id: 77,
name: r'sortLibraryAnime', name: r'sortLibraryAnime',
type: IsarType.object, type: IsarType.object,
target: r'SortLibraryManga', target: r'SortLibraryManga',
), ),
r'sortLibraryManga': PropertySchema( r'sortLibraryManga': PropertySchema(
id: 77, id: 78,
name: r'sortLibraryManga', name: r'sortLibraryManga',
type: IsarType.object, type: IsarType.object,
target: r'SortLibraryManga', target: r'SortLibraryManga',
), ),
r'startDatebackup': PropertySchema( r'startDatebackup': PropertySchema(
id: 78, id: 79,
name: r'startDatebackup', name: r'startDatebackup',
type: IsarType.long, type: IsarType.long,
), ),
r'themeIsDark': PropertySchema( r'themeIsDark': PropertySchema(
id: 79, id: 80,
name: r'themeIsDark', name: r'themeIsDark',
type: IsarType.bool, type: IsarType.bool,
), ),
r'updateProgressAfterReading': PropertySchema( r'updateProgressAfterReading': PropertySchema(
id: 80, id: 81,
name: r'updateProgressAfterReading', name: r'updateProgressAfterReading',
type: IsarType.bool, type: IsarType.bool,
), ),
r'usePageTapZones': PropertySchema( r'usePageTapZones': PropertySchema(
id: 81, id: 82,
name: r'usePageTapZones', name: r'usePageTapZones',
type: IsarType.bool, type: IsarType.bool,
), ),
r'userAgent': PropertySchema( r'userAgent': PropertySchema(
id: 82, id: 83,
name: r'userAgent', name: r'userAgent',
type: IsarType.string, type: IsarType.string,
) )
@ -817,95 +823,96 @@ void _settingsSerialize(
writer.writeDouble(offsets[31], object.defaultPlayBackSpeed); writer.writeDouble(offsets[31], object.defaultPlayBackSpeed);
writer.writeByte(offsets[32], object.defaultReaderMode.index); writer.writeByte(offsets[32], object.defaultReaderMode.index);
writer.writeLong(offsets[33], object.defaultSkipIntroLength); writer.writeLong(offsets[33], object.defaultSkipIntroLength);
writer.writeByte(offsets[34], object.displayType.index); writer.writeByte(offsets[34], object.disableSectionType.index);
writer.writeLong(offsets[35], object.doubleTapAnimationSpeed); writer.writeByte(offsets[35], object.displayType.index);
writer.writeString(offsets[36], object.downloadLocation); writer.writeLong(offsets[36], object.doubleTapAnimationSpeed);
writer.writeBool(offsets[37], object.downloadOnlyOnWifi); writer.writeString(offsets[37], object.downloadLocation);
writer.writeBool(offsets[38], object.enableAniSkip); writer.writeBool(offsets[38], object.downloadOnlyOnWifi);
writer.writeBool(offsets[39], object.enableAutoSkip); writer.writeBool(offsets[39], object.enableAniSkip);
writer.writeBool(offsets[40], object.enableCustomColorFilter); writer.writeBool(offsets[40], object.enableAutoSkip);
writer.writeBool(offsets[41], object.enableCustomColorFilter);
writer.writeObjectList<FilterScanlator>( writer.writeObjectList<FilterScanlator>(
offsets[41], offsets[42],
allOffsets, allOffsets,
FilterScanlatorSchema.serialize, FilterScanlatorSchema.serialize,
object.filterScanlatorList, object.filterScanlatorList,
); );
writer.writeDouble(offsets[42], object.flexColorSchemeBlendLevel); writer.writeDouble(offsets[43], object.flexColorSchemeBlendLevel);
writer.writeLong(offsets[43], object.flexSchemeColorIndex); writer.writeLong(offsets[44], object.flexSchemeColorIndex);
writer.writeBool(offsets[44], object.fullScreenReader); writer.writeBool(offsets[45], object.fullScreenReader);
writer.writeBool(offsets[45], object.incognitoMode); writer.writeBool(offsets[46], object.incognitoMode);
writer.writeBool(offsets[46], object.libraryDownloadedChapters); writer.writeBool(offsets[47], object.libraryDownloadedChapters);
writer.writeLong(offsets[47], object.libraryFilterAnimeBookMarkedType); writer.writeLong(offsets[48], object.libraryFilterAnimeBookMarkedType);
writer.writeLong(offsets[48], object.libraryFilterAnimeDownloadType); writer.writeLong(offsets[49], object.libraryFilterAnimeDownloadType);
writer.writeLong(offsets[49], object.libraryFilterAnimeStartedType); writer.writeLong(offsets[50], object.libraryFilterAnimeStartedType);
writer.writeLong(offsets[50], object.libraryFilterAnimeUnreadType); writer.writeLong(offsets[51], object.libraryFilterAnimeUnreadType);
writer.writeLong(offsets[51], object.libraryFilterMangasBookMarkedType); writer.writeLong(offsets[52], object.libraryFilterMangasBookMarkedType);
writer.writeLong(offsets[52], object.libraryFilterMangasDownloadType); writer.writeLong(offsets[53], object.libraryFilterMangasDownloadType);
writer.writeLong(offsets[53], object.libraryFilterMangasStartedType); writer.writeLong(offsets[54], object.libraryFilterMangasStartedType);
writer.writeLong(offsets[54], object.libraryFilterMangasUnreadType); writer.writeLong(offsets[55], object.libraryFilterMangasUnreadType);
writer.writeBool(offsets[55], object.libraryLocalSource); writer.writeBool(offsets[56], object.libraryLocalSource);
writer.writeBool(offsets[56], object.libraryShowCategoryTabs); writer.writeBool(offsets[57], object.libraryShowCategoryTabs);
writer.writeBool(offsets[57], object.libraryShowContinueReadingButton); writer.writeBool(offsets[58], object.libraryShowContinueReadingButton);
writer.writeBool(offsets[58], object.libraryShowLanguage); writer.writeBool(offsets[59], object.libraryShowLanguage);
writer.writeBool(offsets[59], object.libraryShowNumbersOfItems); writer.writeBool(offsets[60], object.libraryShowNumbersOfItems);
writer.writeObject<L10nLocale>( writer.writeObject<L10nLocale>(
offsets[60], offsets[61],
allOffsets, allOffsets,
L10nLocaleSchema.serialize, L10nLocaleSchema.serialize,
object.locale, object.locale,
); );
writer.writeLong(offsets[61], object.mangaGridSize); writer.writeLong(offsets[62], object.mangaGridSize);
writer.writeByte(offsets[62], object.mangaHomeDisplayType.index); writer.writeByte(offsets[63], object.mangaHomeDisplayType.index);
writer.writeLong(offsets[63], object.markEpisodeAsSeenType); writer.writeLong(offsets[64], object.markEpisodeAsSeenType);
writer.writeBool(offsets[64], object.onlyIncludePinnedSources); writer.writeBool(offsets[65], object.onlyIncludePinnedSources);
writer.writeLong(offsets[65], object.pagePreloadAmount); writer.writeLong(offsets[66], object.pagePreloadAmount);
writer.writeObjectList<PersonalPageMode>( writer.writeObjectList<PersonalPageMode>(
offsets[66], offsets[67],
allOffsets, allOffsets,
PersonalPageModeSchema.serialize, PersonalPageModeSchema.serialize,
object.personalPageModeList, object.personalPageModeList,
); );
writer.writeObjectList<PersonalReaderMode>( writer.writeObjectList<PersonalReaderMode>(
offsets[67], offsets[68],
allOffsets, allOffsets,
PersonalReaderModeSchema.serialize, PersonalReaderModeSchema.serialize,
object.personalReaderModeList, object.personalReaderModeList,
); );
writer.writeObject<PlayerSubtitleSettings>( writer.writeObject<PlayerSubtitleSettings>(
offsets[68], offsets[69],
allOffsets, allOffsets,
PlayerSubtitleSettingsSchema.serialize, PlayerSubtitleSettingsSchema.serialize,
object.playerSubtitleSettings, object.playerSubtitleSettings,
); );
writer.writeBool(offsets[69], object.pureBlackDarkMode); writer.writeBool(offsets[70], object.pureBlackDarkMode);
writer.writeLong(offsets[70], object.relativeTimesTamps); writer.writeLong(offsets[71], object.relativeTimesTamps);
writer.writeBool(offsets[71], object.saveAsCBZArchive); writer.writeBool(offsets[72], object.saveAsCBZArchive);
writer.writeByte(offsets[72], object.scaleType.index); writer.writeByte(offsets[73], object.scaleType.index);
writer.writeBool(offsets[73], object.showNSFW); writer.writeBool(offsets[74], object.showNSFW);
writer.writeBool(offsets[74], object.showPagesNumber); writer.writeBool(offsets[75], object.showPagesNumber);
writer.writeObjectList<SortChapter>( writer.writeObjectList<SortChapter>(
offsets[75], offsets[76],
allOffsets, allOffsets,
SortChapterSchema.serialize, SortChapterSchema.serialize,
object.sortChapterList, object.sortChapterList,
); );
writer.writeObject<SortLibraryManga>( writer.writeObject<SortLibraryManga>(
offsets[76], offsets[77],
allOffsets, allOffsets,
SortLibraryMangaSchema.serialize, SortLibraryMangaSchema.serialize,
object.sortLibraryAnime, object.sortLibraryAnime,
); );
writer.writeObject<SortLibraryManga>( writer.writeObject<SortLibraryManga>(
offsets[77], offsets[78],
allOffsets, allOffsets,
SortLibraryMangaSchema.serialize, SortLibraryMangaSchema.serialize,
object.sortLibraryManga, object.sortLibraryManga,
); );
writer.writeLong(offsets[78], object.startDatebackup); writer.writeLong(offsets[79], object.startDatebackup);
writer.writeBool(offsets[79], object.themeIsDark); writer.writeBool(offsets[80], object.themeIsDark);
writer.writeBool(offsets[80], object.updateProgressAfterReading); writer.writeBool(offsets[81], object.updateProgressAfterReading);
writer.writeBool(offsets[81], object.usePageTapZones); writer.writeBool(offsets[82], object.usePageTapZones);
writer.writeString(offsets[82], object.userAgent); writer.writeString(offsets[83], object.userAgent);
} }
Settings _settingsDeserialize( Settings _settingsDeserialize(
@ -984,87 +991,90 @@ Settings _settingsDeserialize(
reader.readByteOrNull(offsets[32])] ?? reader.readByteOrNull(offsets[32])] ??
ReaderMode.vertical, ReaderMode.vertical,
defaultSkipIntroLength: reader.readLongOrNull(offsets[33]), defaultSkipIntroLength: reader.readLongOrNull(offsets[33]),
disableSectionType: _SettingsdisableSectionTypeValueEnumMap[
reader.readByteOrNull(offsets[34])] ??
SectionType.all,
displayType: displayType:
_SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offsets[34])] ?? _SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offsets[35])] ??
DisplayType.compactGrid, DisplayType.compactGrid,
doubleTapAnimationSpeed: reader.readLongOrNull(offsets[35]), doubleTapAnimationSpeed: reader.readLongOrNull(offsets[36]),
downloadLocation: reader.readStringOrNull(offsets[36]), downloadLocation: reader.readStringOrNull(offsets[37]),
downloadOnlyOnWifi: reader.readBoolOrNull(offsets[37]), downloadOnlyOnWifi: reader.readBoolOrNull(offsets[38]),
enableAniSkip: reader.readBoolOrNull(offsets[38]), enableAniSkip: reader.readBoolOrNull(offsets[39]),
enableAutoSkip: reader.readBoolOrNull(offsets[39]), enableAutoSkip: reader.readBoolOrNull(offsets[40]),
enableCustomColorFilter: reader.readBoolOrNull(offsets[40]), enableCustomColorFilter: reader.readBoolOrNull(offsets[41]),
flexColorSchemeBlendLevel: reader.readDoubleOrNull(offsets[42]), flexColorSchemeBlendLevel: reader.readDoubleOrNull(offsets[43]),
flexSchemeColorIndex: reader.readLongOrNull(offsets[43]), flexSchemeColorIndex: reader.readLongOrNull(offsets[44]),
fullScreenReader: reader.readBoolOrNull(offsets[44]), fullScreenReader: reader.readBoolOrNull(offsets[45]),
id: id, id: id,
incognitoMode: reader.readBoolOrNull(offsets[45]), incognitoMode: reader.readBoolOrNull(offsets[46]),
libraryDownloadedChapters: reader.readBoolOrNull(offsets[46]), libraryDownloadedChapters: reader.readBoolOrNull(offsets[47]),
libraryFilterAnimeBookMarkedType: reader.readLongOrNull(offsets[47]), libraryFilterAnimeBookMarkedType: reader.readLongOrNull(offsets[48]),
libraryFilterAnimeDownloadType: reader.readLongOrNull(offsets[48]), libraryFilterAnimeDownloadType: reader.readLongOrNull(offsets[49]),
libraryFilterAnimeStartedType: reader.readLongOrNull(offsets[49]), libraryFilterAnimeStartedType: reader.readLongOrNull(offsets[50]),
libraryFilterAnimeUnreadType: reader.readLongOrNull(offsets[50]), libraryFilterAnimeUnreadType: reader.readLongOrNull(offsets[51]),
libraryFilterMangasBookMarkedType: reader.readLongOrNull(offsets[51]), libraryFilterMangasBookMarkedType: reader.readLongOrNull(offsets[52]),
libraryFilterMangasDownloadType: reader.readLongOrNull(offsets[52]), libraryFilterMangasDownloadType: reader.readLongOrNull(offsets[53]),
libraryFilterMangasStartedType: reader.readLongOrNull(offsets[53]), libraryFilterMangasStartedType: reader.readLongOrNull(offsets[54]),
libraryFilterMangasUnreadType: reader.readLongOrNull(offsets[54]), libraryFilterMangasUnreadType: reader.readLongOrNull(offsets[55]),
libraryLocalSource: reader.readBoolOrNull(offsets[55]), libraryLocalSource: reader.readBoolOrNull(offsets[56]),
libraryShowCategoryTabs: reader.readBoolOrNull(offsets[56]), libraryShowCategoryTabs: reader.readBoolOrNull(offsets[57]),
libraryShowContinueReadingButton: reader.readBoolOrNull(offsets[57]), libraryShowContinueReadingButton: reader.readBoolOrNull(offsets[58]),
libraryShowLanguage: reader.readBoolOrNull(offsets[58]), libraryShowLanguage: reader.readBoolOrNull(offsets[59]),
libraryShowNumbersOfItems: reader.readBoolOrNull(offsets[59]), libraryShowNumbersOfItems: reader.readBoolOrNull(offsets[60]),
mangaGridSize: reader.readLongOrNull(offsets[61]), mangaGridSize: reader.readLongOrNull(offsets[62]),
mangaHomeDisplayType: _SettingsmangaHomeDisplayTypeValueEnumMap[ mangaHomeDisplayType: _SettingsmangaHomeDisplayTypeValueEnumMap[
reader.readByteOrNull(offsets[62])] ?? reader.readByteOrNull(offsets[63])] ??
DisplayType.comfortableGrid, DisplayType.comfortableGrid,
markEpisodeAsSeenType: reader.readLongOrNull(offsets[63]), markEpisodeAsSeenType: reader.readLongOrNull(offsets[64]),
onlyIncludePinnedSources: reader.readBoolOrNull(offsets[64]), onlyIncludePinnedSources: reader.readBoolOrNull(offsets[65]),
pagePreloadAmount: reader.readLongOrNull(offsets[65]), pagePreloadAmount: reader.readLongOrNull(offsets[66]),
personalPageModeList: reader.readObjectList<PersonalPageMode>( personalPageModeList: reader.readObjectList<PersonalPageMode>(
offsets[66], offsets[67],
PersonalPageModeSchema.deserialize, PersonalPageModeSchema.deserialize,
allOffsets, allOffsets,
PersonalPageMode(), PersonalPageMode(),
), ),
personalReaderModeList: reader.readObjectList<PersonalReaderMode>( personalReaderModeList: reader.readObjectList<PersonalReaderMode>(
offsets[67], offsets[68],
PersonalReaderModeSchema.deserialize, PersonalReaderModeSchema.deserialize,
allOffsets, allOffsets,
PersonalReaderMode(), PersonalReaderMode(),
), ),
playerSubtitleSettings: reader.readObjectOrNull<PlayerSubtitleSettings>( playerSubtitleSettings: reader.readObjectOrNull<PlayerSubtitleSettings>(
offsets[68], offsets[69],
PlayerSubtitleSettingsSchema.deserialize, PlayerSubtitleSettingsSchema.deserialize,
allOffsets, allOffsets,
), ),
pureBlackDarkMode: reader.readBoolOrNull(offsets[69]), pureBlackDarkMode: reader.readBoolOrNull(offsets[70]),
relativeTimesTamps: reader.readLongOrNull(offsets[70]), relativeTimesTamps: reader.readLongOrNull(offsets[71]),
saveAsCBZArchive: reader.readBoolOrNull(offsets[71]), saveAsCBZArchive: reader.readBoolOrNull(offsets[72]),
scaleType: scaleType:
_SettingsscaleTypeValueEnumMap[reader.readByteOrNull(offsets[72])] ?? _SettingsscaleTypeValueEnumMap[reader.readByteOrNull(offsets[73])] ??
ScaleType.fitScreen, ScaleType.fitScreen,
showNSFW: reader.readBoolOrNull(offsets[73]), showNSFW: reader.readBoolOrNull(offsets[74]),
showPagesNumber: reader.readBoolOrNull(offsets[74]), showPagesNumber: reader.readBoolOrNull(offsets[75]),
sortChapterList: reader.readObjectList<SortChapter>( sortChapterList: reader.readObjectList<SortChapter>(
offsets[75], offsets[76],
SortChapterSchema.deserialize, SortChapterSchema.deserialize,
allOffsets, allOffsets,
SortChapter(), SortChapter(),
), ),
sortLibraryAnime: reader.readObjectOrNull<SortLibraryManga>( sortLibraryAnime: reader.readObjectOrNull<SortLibraryManga>(
offsets[76],
SortLibraryMangaSchema.deserialize,
allOffsets,
),
sortLibraryManga: reader.readObjectOrNull<SortLibraryManga>(
offsets[77], offsets[77],
SortLibraryMangaSchema.deserialize, SortLibraryMangaSchema.deserialize,
allOffsets, allOffsets,
), ),
startDatebackup: reader.readLongOrNull(offsets[78]), sortLibraryManga: reader.readObjectOrNull<SortLibraryManga>(
themeIsDark: reader.readBoolOrNull(offsets[79]), offsets[78],
updateProgressAfterReading: reader.readBoolOrNull(offsets[80]), SortLibraryMangaSchema.deserialize,
usePageTapZones: reader.readBoolOrNull(offsets[81]), allOffsets,
userAgent: reader.readStringOrNull(offsets[82]), ),
startDatebackup: reader.readLongOrNull(offsets[79]),
themeIsDark: reader.readBoolOrNull(offsets[80]),
updateProgressAfterReading: reader.readBoolOrNull(offsets[81]),
usePageTapZones: reader.readBoolOrNull(offsets[82]),
userAgent: reader.readStringOrNull(offsets[83]),
); );
object.chapterFilterBookmarkedList = object.chapterFilterBookmarkedList =
reader.readObjectList<ChapterFilterBookmarked>( reader.readObjectList<ChapterFilterBookmarked>(
@ -1080,13 +1090,13 @@ Settings _settingsDeserialize(
ChapterFilterUnread(), ChapterFilterUnread(),
); );
object.filterScanlatorList = reader.readObjectList<FilterScanlator>( object.filterScanlatorList = reader.readObjectList<FilterScanlator>(
offsets[41], offsets[42],
FilterScanlatorSchema.deserialize, FilterScanlatorSchema.deserialize,
allOffsets, allOffsets,
FilterScanlator(), FilterScanlator(),
); );
object.locale = reader.readObjectOrNull<L10nLocale>( object.locale = reader.readObjectOrNull<L10nLocale>(
offsets[60], offsets[61],
L10nLocaleSchema.deserialize, L10nLocaleSchema.deserialize,
allOffsets, allOffsets,
); );
@ -1216,14 +1226,16 @@ P _settingsDeserializeProp<P>(
case 33: case 33:
return (reader.readLongOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 34: case 34:
return (_SettingsdisableSectionTypeValueEnumMap[
reader.readByteOrNull(offset)] ??
SectionType.all) as P;
case 35:
return (_SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offset)] ?? return (_SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offset)] ??
DisplayType.compactGrid) as P; DisplayType.compactGrid) as P;
case 35:
return (reader.readLongOrNull(offset)) as P;
case 36: case 36:
return (reader.readStringOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 37: case 37:
return (reader.readBoolOrNull(offset)) as P; return (reader.readStringOrNull(offset)) as P;
case 38: case 38:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 39: case 39:
@ -1231,24 +1243,24 @@ P _settingsDeserializeProp<P>(
case 40: case 40:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 41: case 41:
return (reader.readBoolOrNull(offset)) as P;
case 42:
return (reader.readObjectList<FilterScanlator>( return (reader.readObjectList<FilterScanlator>(
offset, offset,
FilterScanlatorSchema.deserialize, FilterScanlatorSchema.deserialize,
allOffsets, allOffsets,
FilterScanlator(), FilterScanlator(),
)) as P; )) as P;
case 42:
return (reader.readDoubleOrNull(offset)) as P;
case 43: case 43:
return (reader.readLongOrNull(offset)) as P; return (reader.readDoubleOrNull(offset)) as P;
case 44: case 44:
return (reader.readBoolOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 45: case 45:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 46: case 46:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 47: case 47:
return (reader.readLongOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 48: case 48:
return (reader.readLongOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 49: case 49:
@ -1264,7 +1276,7 @@ P _settingsDeserializeProp<P>(
case 54: case 54:
return (reader.readLongOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 55: case 55:
return (reader.readBoolOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 56: case 56:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 57: case 57:
@ -1274,69 +1286,65 @@ P _settingsDeserializeProp<P>(
case 59: case 59:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 60: case 60:
return (reader.readBoolOrNull(offset)) as P;
case 61:
return (reader.readObjectOrNull<L10nLocale>( return (reader.readObjectOrNull<L10nLocale>(
offset, offset,
L10nLocaleSchema.deserialize, L10nLocaleSchema.deserialize,
allOffsets, allOffsets,
)) as P; )) as P;
case 61:
return (reader.readLongOrNull(offset)) as P;
case 62: case 62:
return (reader.readLongOrNull(offset)) as P;
case 63:
return (_SettingsmangaHomeDisplayTypeValueEnumMap[ return (_SettingsmangaHomeDisplayTypeValueEnumMap[
reader.readByteOrNull(offset)] ?? reader.readByteOrNull(offset)] ??
DisplayType.comfortableGrid) as P; DisplayType.comfortableGrid) as P;
case 63:
return (reader.readLongOrNull(offset)) as P;
case 64: case 64:
return (reader.readBoolOrNull(offset)) as P;
case 65:
return (reader.readLongOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 65:
return (reader.readBoolOrNull(offset)) as P;
case 66: case 66:
return (reader.readLongOrNull(offset)) as P;
case 67:
return (reader.readObjectList<PersonalPageMode>( return (reader.readObjectList<PersonalPageMode>(
offset, offset,
PersonalPageModeSchema.deserialize, PersonalPageModeSchema.deserialize,
allOffsets, allOffsets,
PersonalPageMode(), PersonalPageMode(),
)) as P; )) as P;
case 67: case 68:
return (reader.readObjectList<PersonalReaderMode>( return (reader.readObjectList<PersonalReaderMode>(
offset, offset,
PersonalReaderModeSchema.deserialize, PersonalReaderModeSchema.deserialize,
allOffsets, allOffsets,
PersonalReaderMode(), PersonalReaderMode(),
)) as P; )) as P;
case 68: case 69:
return (reader.readObjectOrNull<PlayerSubtitleSettings>( return (reader.readObjectOrNull<PlayerSubtitleSettings>(
offset, offset,
PlayerSubtitleSettingsSchema.deserialize, PlayerSubtitleSettingsSchema.deserialize,
allOffsets, allOffsets,
)) as P; )) as P;
case 69:
return (reader.readBoolOrNull(offset)) as P;
case 70: case 70:
return (reader.readLongOrNull(offset)) as P;
case 71:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 71:
return (reader.readLongOrNull(offset)) as P;
case 72: case 72:
return (reader.readBoolOrNull(offset)) as P;
case 73:
return (_SettingsscaleTypeValueEnumMap[reader.readByteOrNull(offset)] ?? return (_SettingsscaleTypeValueEnumMap[reader.readByteOrNull(offset)] ??
ScaleType.fitScreen) as P; ScaleType.fitScreen) as P;
case 73:
return (reader.readBoolOrNull(offset)) as P;
case 74: case 74:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 75: case 75:
return (reader.readBoolOrNull(offset)) as P;
case 76:
return (reader.readObjectList<SortChapter>( return (reader.readObjectList<SortChapter>(
offset, offset,
SortChapterSchema.deserialize, SortChapterSchema.deserialize,
allOffsets, allOffsets,
SortChapter(), SortChapter(),
)) as P; )) as P;
case 76:
return (reader.readObjectOrNull<SortLibraryManga>(
offset,
SortLibraryMangaSchema.deserialize,
allOffsets,
)) as P;
case 77: case 77:
return (reader.readObjectOrNull<SortLibraryManga>( return (reader.readObjectOrNull<SortLibraryManga>(
offset, offset,
@ -1344,14 +1352,20 @@ P _settingsDeserializeProp<P>(
allOffsets, allOffsets,
)) as P; )) as P;
case 78: case 78:
return (reader.readLongOrNull(offset)) as P; return (reader.readObjectOrNull<SortLibraryManga>(
offset,
SortLibraryMangaSchema.deserialize,
allOffsets,
)) as P;
case 79: case 79:
return (reader.readBoolOrNull(offset)) as P; return (reader.readLongOrNull(offset)) as P;
case 80: case 80:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 81: case 81:
return (reader.readBoolOrNull(offset)) as P; return (reader.readBoolOrNull(offset)) as P;
case 82: case 82:
return (reader.readBoolOrNull(offset)) as P;
case 83:
return (reader.readStringOrNull(offset)) as P; return (reader.readStringOrNull(offset)) as P;
default: default:
throw IsarError('Unknown property with id $propertyId'); throw IsarError('Unknown property with id $propertyId');
@ -1428,6 +1442,16 @@ const _SettingsdefaultReaderModeValueEnumMap = {
4: ReaderMode.webtoon, 4: ReaderMode.webtoon,
5: ReaderMode.horizontalContinuous, 5: ReaderMode.horizontalContinuous,
}; };
const _SettingsdisableSectionTypeEnumValueMap = {
'all': 0,
'anime': 1,
'manga': 2,
};
const _SettingsdisableSectionTypeValueEnumMap = {
0: SectionType.all,
1: SectionType.anime,
2: SectionType.manga,
};
const _SettingsdisplayTypeEnumValueMap = { const _SettingsdisplayTypeEnumValueMap = {
'compactGrid': 0, 'compactGrid': 0,
'comfortableGrid': 1, 'comfortableGrid': 1,
@ -4121,6 +4145,62 @@ extension SettingsQueryFilter
}); });
} }
QueryBuilder<Settings, Settings, QAfterFilterCondition>
disableSectionTypeEqualTo(SectionType value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'disableSectionType',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition>
disableSectionTypeGreaterThan(
SectionType value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
include: include,
property: r'disableSectionType',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition>
disableSectionTypeLessThan(
SectionType value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.lessThan(
include: include,
property: r'disableSectionType',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition>
disableSectionTypeBetween(
SectionType lower,
SectionType upper, {
bool includeLower = true,
bool includeUpper = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.between(
property: r'disableSectionType',
lower: lower,
includeLower: includeLower,
upper: upper,
includeUpper: includeUpper,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> displayTypeEqualTo( QueryBuilder<Settings, Settings, QAfterFilterCondition> displayTypeEqualTo(
DisplayType value) { DisplayType value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@ -7406,6 +7486,19 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
}); });
} }
QueryBuilder<Settings, Settings, QAfterSortBy> sortByDisableSectionType() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'disableSectionType', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy>
sortByDisableSectionTypeDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'disableSectionType', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByDisplayType() { QueryBuilder<Settings, Settings, QAfterSortBy> sortByDisplayType() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'displayType', Sort.asc); return query.addSortBy(r'displayType', Sort.asc);
@ -8269,6 +8362,19 @@ extension SettingsQuerySortThenBy
}); });
} }
QueryBuilder<Settings, Settings, QAfterSortBy> thenByDisableSectionType() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'disableSectionType', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy>
thenByDisableSectionTypeDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'disableSectionType', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByDisplayType() { QueryBuilder<Settings, Settings, QAfterSortBy> thenByDisplayType() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'displayType', Sort.asc); return query.addSortBy(r'displayType', Sort.asc);
@ -8992,6 +9098,12 @@ extension SettingsQueryWhereDistinct
}); });
} }
QueryBuilder<Settings, Settings, QDistinct> distinctByDisableSectionType() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'disableSectionType');
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByDisplayType() { QueryBuilder<Settings, Settings, QDistinct> distinctByDisplayType() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'displayType'); return query.addDistinctBy(r'displayType');
@ -9499,6 +9611,13 @@ extension SettingsQueryProperty
}); });
} }
QueryBuilder<Settings, SectionType, QQueryOperations>
disableSectionTypeProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'disableSectionType');
});
}
QueryBuilder<Settings, DisplayType, QQueryOperations> displayTypeProperty() { QueryBuilder<Settings, DisplayType, QQueryOperations> displayTypeProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'displayType'); return query.addPropertyName(r'displayType');

View file

@ -238,7 +238,7 @@ class TestSource extends MProvider {
bool get supportsLatest => true; bool get supportsLatest => true;
@override @override
Map<String, dynamic> get headers => {}; Map<String, String> get headers => {};
@override @override
Future<MPages> getPopular(int page) async { Future<MPages> getPopular(int page) async {

View file

@ -69,7 +69,7 @@ class _ExtensionListTileWidgetState
color: Theme.of(context).secondaryHeaderColor.withOpacity(0.5), color: Theme.of(context).secondaryHeaderColor.withOpacity(0.5),
borderRadius: BorderRadius.circular(5)), borderRadius: BorderRadius.circular(5)),
child: widget.source.iconUrl!.isEmpty child: widget.source.iconUrl!.isEmpty
? const Icon(Icons.source_outlined) ? const Icon(Icons.extension_rounded)
: cachedNetworkImage( : cachedNetworkImage(
imageUrl: widget.source.iconUrl!, imageUrl: widget.source.iconUrl!,
fit: BoxFit.contain, fit: BoxFit.contain,
@ -79,7 +79,7 @@ class _ExtensionListTileWidgetState
width: 37, width: 37,
height: 37, height: 37,
child: Center( child: Center(
child: Icon(Icons.source_outlined), child: Icon(Icons.extension_rounded),
), ),
), ),
useCustomNetworkImage: false), useCustomNetworkImage: false),

View file

@ -41,7 +41,7 @@ class SourceListTile extends StatelessWidget {
color: Theme.of(context).secondaryHeaderColor.withOpacity(0.5), color: Theme.of(context).secondaryHeaderColor.withOpacity(0.5),
borderRadius: BorderRadius.circular(5)), borderRadius: BorderRadius.circular(5)),
child: source.iconUrl!.isEmpty child: source.iconUrl!.isEmpty
? const Icon(Icons.source_outlined) ? const Icon(Icons.extension_rounded)
: cachedNetworkImage( : cachedNetworkImage(
imageUrl: source.iconUrl!, imageUrl: source.iconUrl!,
fit: BoxFit.contain, fit: BoxFit.contain,
@ -51,7 +51,7 @@ class SourceListTile extends StatelessWidget {
width: 37, width: 37,
height: 37, height: 37,
child: Center( child: Center(
child: Icon(Icons.source_outlined), child: Icon(Icons.extension_rounded),
), ),
), ),
useCustomNetworkImage: false), useCustomNetworkImage: false),

View file

@ -73,12 +73,16 @@ class _ChapterPageDownloadState extends ConsumerState<ChapterPageDownload>
await _storageProvider.getMangaChapterDirectory(widget.chapter); await _storageProvider.getMangaChapterDirectory(widget.chapter);
try { try {
if (File("${mangaDir!.path}${widget.chapter.name}.cbz").existsSync()) { try {
File("${mangaDir.path}${widget.chapter.name}.cbz").deleteSync(); if (File("${mangaDir!.path}${widget.chapter.name}.cbz").existsSync()) {
} File("${mangaDir.path}${widget.chapter.name}.cbz").deleteSync();
if (File("${mangaDir.path}${widget.chapter.name}.mp4").existsSync()) { }
File("${mangaDir.path}${widget.chapter.name}.mp4").deleteSync(); } catch (_) {}
} try {
if (File("${mangaDir!.path}${widget.chapter.name}.mp4").existsSync()) {
File("${mangaDir.path}${widget.chapter.name}.mp4").deleteSync();
}
} catch (_) {}
path!.deleteSync(recursive: true); path!.deleteSync(recursive: true);
} catch (_) {} } catch (_) {}
isar.writeTxnSync(() { isar.writeTxnSync(() {

View file

@ -7,21 +7,12 @@ part 'convert_to_cbz.g.dart';
@riverpod @riverpod
Future<List<String>> convertToCBZ(ConvertToCBZRef ref, String chapterDir, Future<List<String>> convertToCBZ(ConvertToCBZRef ref, String chapterDir,
String mangaDir, String chapterName, List<String> pageList) async { String mangaDir, String chapterName, List<String> pageList) async {
Map<String, dynamic> data = { return compute(_convertToCBZ, (chapterDir, mangaDir, chapterName, pageList));
"chapterDir": chapterDir,
"mangaDir": mangaDir,
"chapterName": chapterName,
"pageList": pageList
};
return compute(_convertToCBZ, data);
} }
List<String> _convertToCBZ(Map<String, dynamic> data) { List<String> _convertToCBZ((String, String, String, List<String>) datas) {
List<String> imagesPaths = []; List<String> imagesPaths = [];
String chapterDir = data["chapterDir"]!; final (chapterDir, mangaDir, chapterName, pageList) = datas;
String mangaDir = data["mangaDir"]!;
String chapterName = data["chapterName"]!;
List<String> pageList = data["pageList"]!;
if (Directory(chapterDir).existsSync()) { if (Directory(chapterDir).existsSync()) {
List<FileSystemEntity> entities = Directory(chapterDir).listSync(); List<FileSystemEntity> entities = Directory(chapterDir).listSync();

View file

@ -6,7 +6,7 @@ part of 'convert_to_cbz.dart';
// RiverpodGenerator // RiverpodGenerator
// ************************************************************************** // **************************************************************************
String _$convertToCBZHash() => r'b421d288e9cd1fca3079ccb5d5702ee2ad4cdfe3'; String _$convertToCBZHash() => r'a0aed321ca44ee59f46f04ecf6f37e496dc55c87';
/// Copied from Dart SDK /// Copied from Dart SDK
class _SystemHash { class _SystemHash {

View file

@ -279,12 +279,10 @@ Future<List<String>> downloadChapter(
}, },
taskProgressCallback: (taskProgress) async { taskProgressCallback: (taskProgress) async {
if (taskProgress.progress == 1.0) { if (taskProgress.progress == 1.0) {
await File( final file = File(
"${tempDir.path}/${taskProgress.task.directory}/${taskProgress.task.filename}") "${tempDir.path}/${taskProgress.task.directory}/${taskProgress.task.filename}");
.copy("${path!.path}/${taskProgress.task.filename}"); await file.copy("${path!.path}/${taskProgress.task.filename}");
await File( await file.delete();
"${tempDir.path}/${taskProgress.task.directory}/${taskProgress.task.filename}")
.delete();
} }
}, },
); );
@ -324,12 +322,10 @@ Future<List<String>> downloadChapter(
}, },
onStatus: (status) async { onStatus: (status) async {
if (status == TaskStatus.complete) { if (status == TaskStatus.complete) {
await File( final file = File(
"${tempDir.path}/${tasks.first.directory}/${tasks.first.filename}") "${tempDir.path}/${tasks.first.directory}/${tasks.first.filename}");
.copy("${path!.path}/${tasks.first.filename}"); await file.copy("${path!.path}/${tasks.first.filename}");
await File( await file.delete();
"${tempDir.path}/${tasks.first.directory}/${tasks.first.filename}")
.delete();
} }
}, },
); );

View file

@ -6,7 +6,7 @@ part of 'download_provider.dart';
// RiverpodGenerator // RiverpodGenerator
// ************************************************************************** // **************************************************************************
String _$downloadChapterHash() => r'c5c7e8cb341cf703255a581f07123125690dcf63'; String _$downloadChapterHash() => r'de1315d4bfaf41676c567c07d1e0ed816b7d569e';
/// Copied from Dart SDK /// Copied from Dart SDK
class _SystemHash { class _SystemHash {

View file

@ -6,7 +6,7 @@ part of 'check_for_update.dart';
// RiverpodGenerator // RiverpodGenerator
// ************************************************************************** // **************************************************************************
String _$checkForUpdateHash() => r'866b89bb48a4f37e240d2c272215b8646790d1b0'; String _$checkForUpdateHash() => r'f460e78c666e58d2a33037b160f5b0fd460cbb5d';
/// Copied from Dart SDK /// Copied from Dart SDK
class _SystemHash { class _SystemHash {
@ -34,7 +34,7 @@ class _SystemHash {
const checkForUpdateProvider = CheckForUpdateFamily(); const checkForUpdateProvider = CheckForUpdateFamily();
/// See also [checkForUpdate]. /// See also [checkForUpdate].
class CheckForUpdateFamily extends Family<Object?> { class CheckForUpdateFamily extends Family<AsyncValue<void>> {
/// See also [checkForUpdate]. /// See also [checkForUpdate].
const CheckForUpdateFamily(); const CheckForUpdateFamily();
@ -75,7 +75,7 @@ class CheckForUpdateFamily extends Family<Object?> {
} }
/// See also [checkForUpdate]. /// See also [checkForUpdate].
class CheckForUpdateProvider extends AutoDisposeProvider<Object?> { class CheckForUpdateProvider extends AutoDisposeFutureProvider<void> {
/// See also [checkForUpdate]. /// See also [checkForUpdate].
CheckForUpdateProvider({ CheckForUpdateProvider({
BuildContext? context, BuildContext? context,
@ -115,7 +115,7 @@ class CheckForUpdateProvider extends AutoDisposeProvider<Object?> {
@override @override
Override overrideWith( Override overrideWith(
Object? Function(CheckForUpdateRef provider) create, FutureOr<void> Function(CheckForUpdateRef provider) create,
) { ) {
return ProviderOverride( return ProviderOverride(
origin: this, origin: this,
@ -133,7 +133,7 @@ class CheckForUpdateProvider extends AutoDisposeProvider<Object?> {
} }
@override @override
AutoDisposeProviderElement<Object?> createElement() { AutoDisposeFutureProviderElement<void> createElement() {
return _CheckForUpdateProviderElement(this); return _CheckForUpdateProviderElement(this);
} }
@ -154,7 +154,7 @@ class CheckForUpdateProvider extends AutoDisposeProvider<Object?> {
} }
} }
mixin CheckForUpdateRef on AutoDisposeProviderRef<Object?> { mixin CheckForUpdateRef on AutoDisposeFutureProviderRef<void> {
/// The parameter `context` of this provider. /// The parameter `context` of this provider.
BuildContext? get context; BuildContext? get context;
@ -162,8 +162,8 @@ mixin CheckForUpdateRef on AutoDisposeProviderRef<Object?> {
bool? get manualUpdate; bool? get manualUpdate;
} }
class _CheckForUpdateProviderElement extends AutoDisposeProviderElement<Object?> class _CheckForUpdateProviderElement
with CheckForUpdateRef { extends AutoDisposeFutureProviderElement<void> with CheckForUpdateRef {
_CheckForUpdateProviderElement(super.provider); _CheckForUpdateProviderElement(super.provider);
@override @override