chapter link to open in webview ,fix
This commit is contained in:
parent
07b8f4303a
commit
7cdf1f92b7
13 changed files with 631 additions and 1067 deletions
|
|
@ -10,7 +10,6 @@ import 'package:mangayomi/models/category.dart';
|
|||
import 'package:mangayomi/models/chapter.dart';
|
||||
import 'package:mangayomi/models/download.dart';
|
||||
import 'package:mangayomi/models/history.dart';
|
||||
import 'package:mangayomi/models/reader_settings.dart';
|
||||
import 'package:mangayomi/models/settings.dart';
|
||||
import 'package:mangayomi/models/source.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
|
|
@ -20,9 +19,14 @@ import 'package:mangayomi/views/more/settings/appearance/providers/flex_scheme_c
|
|||
import 'package:mangayomi/views/more/settings/appearance/providers/theme_mode_state_provider.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:desktop_webview_window/desktop_webview_window.dart';
|
||||
|
||||
late Isar isar;
|
||||
void main() async {
|
||||
void main(List<String> args) async {
|
||||
debugPrint('args: $args');
|
||||
if (runWebViewTitleBarWidget(args)) {
|
||||
return;
|
||||
}
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await _initDB();
|
||||
runApp(const ProviderScope(child: MyApp()));
|
||||
|
|
@ -39,8 +43,6 @@ _initDB() async {
|
|||
HistorySchema,
|
||||
DownloadSchema,
|
||||
SourceSchema,
|
||||
PersonalReaderModeSchema,
|
||||
ReaderSettingsSchema,
|
||||
SettingsSchema
|
||||
],
|
||||
directory: dir.path,
|
||||
|
|
@ -55,8 +57,6 @@ _initDB() async {
|
|||
HistorySchema,
|
||||
DownloadSchema,
|
||||
SourceSchema,
|
||||
PersonalReaderModeSchema,
|
||||
ReaderSettingsSchema,
|
||||
SettingsSchema
|
||||
], directory: dbDir, name: "mangayomiDb");
|
||||
}
|
||||
|
|
@ -71,7 +71,8 @@ _initDB() async {
|
|||
..chapterFilterUnreadList = []
|
||||
..chapterPageUrlsList = []
|
||||
..chapterPageIndexList = []
|
||||
..cookiesList = []);
|
||||
..cookiesList = []
|
||||
..personalReaderModeList = []);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,31 +0,0 @@
|
|||
import 'package:isar/isar.dart';
|
||||
part 'reader_settings.g.dart';
|
||||
|
||||
@collection
|
||||
@Name("Reader settings")
|
||||
class ReaderSettings {
|
||||
Id? id;
|
||||
|
||||
@enumerated
|
||||
ReaderMode defaultReaderMode = ReaderMode.vertical;
|
||||
|
||||
ReaderSettings({this.id = 227, required this.defaultReaderMode});
|
||||
}
|
||||
|
||||
@collection
|
||||
@Name("Personal ReaderMode")
|
||||
class PersonalReaderMode {
|
||||
Id? id;
|
||||
|
||||
int? mangaId;
|
||||
|
||||
@enumerated
|
||||
ReaderMode readerMode;
|
||||
|
||||
PersonalReaderMode(
|
||||
{this.id = Isar.autoIncrement,
|
||||
required this.mangaId,
|
||||
required this.readerMode});
|
||||
}
|
||||
|
||||
enum ReaderMode { vertical, ltr, rtl, verticalContinuous, webtoon }
|
||||
|
|
@ -1,935 +0,0 @@
|
|||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'reader_settings.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetReaderSettingsCollection on Isar {
|
||||
IsarCollection<ReaderSettings> get readerSettings => this.collection();
|
||||
}
|
||||
|
||||
const ReaderSettingsSchema = CollectionSchema(
|
||||
name: r'Reader settings',
|
||||
id: -7593704226870717670,
|
||||
properties: {
|
||||
r'defaultReaderMode': PropertySchema(
|
||||
id: 0,
|
||||
name: r'defaultReaderMode',
|
||||
type: IsarType.byte,
|
||||
enumMap: _ReaderSettingsdefaultReaderModeEnumValueMap,
|
||||
)
|
||||
},
|
||||
estimateSize: _readerSettingsEstimateSize,
|
||||
serialize: _readerSettingsSerialize,
|
||||
deserialize: _readerSettingsDeserialize,
|
||||
deserializeProp: _readerSettingsDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {},
|
||||
embeddedSchemas: {},
|
||||
getId: _readerSettingsGetId,
|
||||
getLinks: _readerSettingsGetLinks,
|
||||
attach: _readerSettingsAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _readerSettingsEstimateSize(
|
||||
ReaderSettings object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _readerSettingsSerialize(
|
||||
ReaderSettings object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeByte(offsets[0], object.defaultReaderMode.index);
|
||||
}
|
||||
|
||||
ReaderSettings _readerSettingsDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = ReaderSettings(
|
||||
defaultReaderMode: _ReaderSettingsdefaultReaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offsets[0])] ??
|
||||
ReaderMode.vertical,
|
||||
id: id,
|
||||
);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _readerSettingsDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (_ReaderSettingsdefaultReaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offset)] ??
|
||||
ReaderMode.vertical) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
const _ReaderSettingsdefaultReaderModeEnumValueMap = {
|
||||
'vertical': 0,
|
||||
'ltr': 1,
|
||||
'rtl': 2,
|
||||
'verticalContinuous': 3,
|
||||
'webtoon': 4,
|
||||
};
|
||||
const _ReaderSettingsdefaultReaderModeValueEnumMap = {
|
||||
0: ReaderMode.vertical,
|
||||
1: ReaderMode.ltr,
|
||||
2: ReaderMode.rtl,
|
||||
3: ReaderMode.verticalContinuous,
|
||||
4: ReaderMode.webtoon,
|
||||
};
|
||||
|
||||
Id _readerSettingsGetId(ReaderSettings object) {
|
||||
return object.id ?? Isar.autoIncrement;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _readerSettingsGetLinks(ReaderSettings object) {
|
||||
return [];
|
||||
}
|
||||
|
||||
void _readerSettingsAttach(
|
||||
IsarCollection<dynamic> col, Id id, ReaderSettings object) {
|
||||
object.id = id;
|
||||
}
|
||||
|
||||
extension ReaderSettingsQueryWhereSort
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QWhere> {
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ReaderSettingsQueryWhere
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QWhereClause> {
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterWhereClause> idEqualTo(
|
||||
Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(
|
||||
lower: id,
|
||||
upper: id,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterWhereClause> idNotEqualTo(
|
||||
Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterWhereClause> idGreaterThan(
|
||||
Id id,
|
||||
{bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterWhereClause> idLessThan(
|
||||
Id id,
|
||||
{bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterWhereClause> idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ReaderSettingsQueryFilter
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QFilterCondition> {
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
defaultReaderModeEqualTo(ReaderMode value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'defaultReaderMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
defaultReaderModeGreaterThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'defaultReaderMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
defaultReaderModeLessThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'defaultReaderMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
defaultReaderModeBetween(
|
||||
ReaderMode lower,
|
||||
ReaderMode upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'defaultReaderMode',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
idIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNull(
|
||||
property: r'id',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
idIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||
property: r'id',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition> idEqualTo(
|
||||
Id? value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'id',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
idGreaterThan(
|
||||
Id? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition>
|
||||
idLessThan(
|
||||
Id? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterFilterCondition> idBetween(
|
||||
Id? lower,
|
||||
Id? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ReaderSettingsQueryObject
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QFilterCondition> {}
|
||||
|
||||
extension ReaderSettingsQueryLinks
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QFilterCondition> {}
|
||||
|
||||
extension ReaderSettingsQuerySortBy
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QSortBy> {
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterSortBy>
|
||||
sortByDefaultReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterSortBy>
|
||||
sortByDefaultReaderModeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ReaderSettingsQuerySortThenBy
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QSortThenBy> {
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterSortBy>
|
||||
thenByDefaultReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterSortBy>
|
||||
thenByDefaultReaderModeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterSortBy> thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QAfterSortBy> thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ReaderSettingsQueryWhereDistinct
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QDistinct> {
|
||||
QueryBuilder<ReaderSettings, ReaderSettings, QDistinct>
|
||||
distinctByDefaultReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'defaultReaderMode');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ReaderSettingsQueryProperty
|
||||
on QueryBuilder<ReaderSettings, ReaderSettings, QQueryProperty> {
|
||||
QueryBuilder<ReaderSettings, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ReaderSettings, ReaderMode, QQueryOperations>
|
||||
defaultReaderModeProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'defaultReaderMode');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetPersonalReaderModeCollection on Isar {
|
||||
IsarCollection<PersonalReaderMode> get personalReaderModes =>
|
||||
this.collection();
|
||||
}
|
||||
|
||||
const PersonalReaderModeSchema = CollectionSchema(
|
||||
name: r'Personal ReaderMode',
|
||||
id: -6358434224379634897,
|
||||
properties: {
|
||||
r'mangaId': PropertySchema(
|
||||
id: 0,
|
||||
name: r'mangaId',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'readerMode': PropertySchema(
|
||||
id: 1,
|
||||
name: r'readerMode',
|
||||
type: IsarType.byte,
|
||||
enumMap: _PersonalReaderModereaderModeEnumValueMap,
|
||||
)
|
||||
},
|
||||
estimateSize: _personalReaderModeEstimateSize,
|
||||
serialize: _personalReaderModeSerialize,
|
||||
deserialize: _personalReaderModeDeserialize,
|
||||
deserializeProp: _personalReaderModeDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {},
|
||||
embeddedSchemas: {},
|
||||
getId: _personalReaderModeGetId,
|
||||
getLinks: _personalReaderModeGetLinks,
|
||||
attach: _personalReaderModeAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _personalReaderModeEstimateSize(
|
||||
PersonalReaderMode object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _personalReaderModeSerialize(
|
||||
PersonalReaderMode object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeLong(offsets[0], object.mangaId);
|
||||
writer.writeByte(offsets[1], object.readerMode.index);
|
||||
}
|
||||
|
||||
PersonalReaderMode _personalReaderModeDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = PersonalReaderMode(
|
||||
id: id,
|
||||
mangaId: reader.readLongOrNull(offsets[0]),
|
||||
readerMode: _PersonalReaderModereaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offsets[1])] ??
|
||||
ReaderMode.vertical,
|
||||
);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _personalReaderModeDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 1:
|
||||
return (_PersonalReaderModereaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offset)] ??
|
||||
ReaderMode.vertical) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
const _PersonalReaderModereaderModeEnumValueMap = {
|
||||
'vertical': 0,
|
||||
'ltr': 1,
|
||||
'rtl': 2,
|
||||
'verticalContinuous': 3,
|
||||
'webtoon': 4,
|
||||
};
|
||||
const _PersonalReaderModereaderModeValueEnumMap = {
|
||||
0: ReaderMode.vertical,
|
||||
1: ReaderMode.ltr,
|
||||
2: ReaderMode.rtl,
|
||||
3: ReaderMode.verticalContinuous,
|
||||
4: ReaderMode.webtoon,
|
||||
};
|
||||
|
||||
Id _personalReaderModeGetId(PersonalReaderMode object) {
|
||||
return object.id ?? Isar.autoIncrement;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _personalReaderModeGetLinks(
|
||||
PersonalReaderMode object) {
|
||||
return [];
|
||||
}
|
||||
|
||||
void _personalReaderModeAttach(
|
||||
IsarCollection<dynamic> col, Id id, PersonalReaderMode object) {
|
||||
object.id = id;
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryWhereSort
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QWhere> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryWhere
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QWhereClause> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterWhereClause>
|
||||
idEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(
|
||||
lower: id,
|
||||
upper: id,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterWhereClause>
|
||||
idNotEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterWhereClause>
|
||||
idGreaterThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterWhereClause>
|
||||
idLessThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterWhereClause>
|
||||
idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryFilter
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QFilterCondition> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
idIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNull(
|
||||
property: r'id',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
idIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||
property: r'id',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
idEqualTo(Id? value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'id',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
idGreaterThan(
|
||||
Id? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
idLessThan(
|
||||
Id? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
idBetween(
|
||||
Id? lower,
|
||||
Id? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNull(
|
||||
property: r'mangaId',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||
property: r'mangaId',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdEqualTo(int? value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'mangaId',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdGreaterThan(
|
||||
int? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'mangaId',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdLessThan(
|
||||
int? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'mangaId',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdBetween(
|
||||
int? lower,
|
||||
int? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'mangaId',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeEqualTo(ReaderMode value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'readerMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeGreaterThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'readerMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeLessThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'readerMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeBetween(
|
||||
ReaderMode lower,
|
||||
ReaderMode upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'readerMode',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryObject
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QFilterCondition> {}
|
||||
|
||||
extension PersonalReaderModeQueryLinks
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QFilterCondition> {}
|
||||
|
||||
extension PersonalReaderModeQuerySortBy
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QSortBy> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
sortByMangaId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'mangaId', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
sortByMangaIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'mangaId', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
sortByReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'readerMode', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
sortByReaderModeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'readerMode', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQuerySortThenBy
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QSortThenBy> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
thenByMangaId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'mangaId', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
thenByMangaIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'mangaId', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
thenByReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'readerMode', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterSortBy>
|
||||
thenByReaderModeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'readerMode', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryWhereDistinct
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QDistinct> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QDistinct>
|
||||
distinctByMangaId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'mangaId');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QDistinct>
|
||||
distinctByReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'readerMode');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryProperty
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QQueryProperty> {
|
||||
QueryBuilder<PersonalReaderMode, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, int?, QQueryOperations> mangaIdProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'mangaId');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, ReaderMode, QQueryOperations>
|
||||
readerModeProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'readerMode');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -60,6 +60,11 @@ class Settings {
|
|||
|
||||
List<Cookie>? cookiesList;
|
||||
|
||||
@enumerated
|
||||
ReaderMode defaultReaderMode;
|
||||
|
||||
List<PersonalReaderMode>? personalReaderModeList;
|
||||
|
||||
Settings(
|
||||
{this.id = 227,
|
||||
this.displayType = DisplayType.compactGrid,
|
||||
|
|
@ -85,7 +90,9 @@ class Settings {
|
|||
this.showPagesNumber = true,
|
||||
this.chapterPageIndexList,
|
||||
this.userAgent = defaultUserAgent,
|
||||
this.cookiesList});
|
||||
this.cookiesList,
|
||||
this.defaultReaderMode = ReaderMode.vertical,
|
||||
this.personalReaderModeList});
|
||||
}
|
||||
|
||||
enum DisplayType {
|
||||
|
|
@ -148,3 +155,13 @@ class Cookie {
|
|||
String? source;
|
||||
String? cookie;
|
||||
}
|
||||
|
||||
@embedded
|
||||
class PersonalReaderMode {
|
||||
int? mangaId;
|
||||
|
||||
@enumerated
|
||||
ReaderMode readerMode = ReaderMode.vertical;
|
||||
}
|
||||
|
||||
enum ReaderMode { vertical, ltr, rtl, verticalContinuous, webtoon }
|
||||
|
|
|
|||
|
|
@ -58,101 +58,113 @@ const SettingsSchema = CollectionSchema(
|
|||
name: r'dateFormat',
|
||||
type: IsarType.string,
|
||||
),
|
||||
r'displayType': PropertySchema(
|
||||
r'defaultReaderMode': PropertySchema(
|
||||
id: 7,
|
||||
name: r'defaultReaderMode',
|
||||
type: IsarType.byte,
|
||||
enumMap: _SettingsdefaultReaderModeEnumValueMap,
|
||||
),
|
||||
r'displayType': PropertySchema(
|
||||
id: 8,
|
||||
name: r'displayType',
|
||||
type: IsarType.byte,
|
||||
enumMap: _SettingsdisplayTypeEnumValueMap,
|
||||
),
|
||||
r'flexColorSchemeBlendLevel': PropertySchema(
|
||||
id: 8,
|
||||
id: 9,
|
||||
name: r'flexColorSchemeBlendLevel',
|
||||
type: IsarType.double,
|
||||
),
|
||||
r'flexSchemeColorIndex': PropertySchema(
|
||||
id: 9,
|
||||
id: 10,
|
||||
name: r'flexSchemeColorIndex',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'incognitoMode': PropertySchema(
|
||||
id: 10,
|
||||
id: 11,
|
||||
name: r'incognitoMode',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'libraryDownloadedChapters': PropertySchema(
|
||||
id: 11,
|
||||
id: 12,
|
||||
name: r'libraryDownloadedChapters',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'libraryFilterMangasBookMarkedType': PropertySchema(
|
||||
id: 12,
|
||||
id: 13,
|
||||
name: r'libraryFilterMangasBookMarkedType',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'libraryFilterMangasDownloadType': PropertySchema(
|
||||
id: 13,
|
||||
id: 14,
|
||||
name: r'libraryFilterMangasDownloadType',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'libraryFilterMangasStartedType': PropertySchema(
|
||||
id: 14,
|
||||
id: 15,
|
||||
name: r'libraryFilterMangasStartedType',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'libraryFilterMangasUnreadType': PropertySchema(
|
||||
id: 15,
|
||||
id: 16,
|
||||
name: r'libraryFilterMangasUnreadType',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'libraryShowCategoryTabs': PropertySchema(
|
||||
id: 16,
|
||||
id: 17,
|
||||
name: r'libraryShowCategoryTabs',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'libraryShowContinueReadingButton': PropertySchema(
|
||||
id: 17,
|
||||
id: 18,
|
||||
name: r'libraryShowContinueReadingButton',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'libraryShowLanguage': PropertySchema(
|
||||
id: 18,
|
||||
id: 19,
|
||||
name: r'libraryShowLanguage',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'libraryShowNumbersOfItems': PropertySchema(
|
||||
id: 19,
|
||||
id: 20,
|
||||
name: r'libraryShowNumbersOfItems',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'personalReaderModeList': PropertySchema(
|
||||
id: 21,
|
||||
name: r'personalReaderModeList',
|
||||
type: IsarType.objectList,
|
||||
target: r'PersonalReaderMode',
|
||||
),
|
||||
r'relativeTimesTamps': PropertySchema(
|
||||
id: 20,
|
||||
id: 22,
|
||||
name: r'relativeTimesTamps',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'showPagesNumber': PropertySchema(
|
||||
id: 21,
|
||||
id: 23,
|
||||
name: r'showPagesNumber',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'sortChapterList': PropertySchema(
|
||||
id: 22,
|
||||
id: 24,
|
||||
name: r'sortChapterList',
|
||||
type: IsarType.objectList,
|
||||
target: r'SortChapter',
|
||||
),
|
||||
r'sortLibraryManga': PropertySchema(
|
||||
id: 23,
|
||||
id: 25,
|
||||
name: r'sortLibraryManga',
|
||||
type: IsarType.object,
|
||||
target: r'SortLibraryManga',
|
||||
),
|
||||
r'themeIsDark': PropertySchema(
|
||||
id: 24,
|
||||
id: 26,
|
||||
name: r'themeIsDark',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'userAgent': PropertySchema(
|
||||
id: 25,
|
||||
id: 27,
|
||||
name: r'userAgent',
|
||||
type: IsarType.string,
|
||||
)
|
||||
|
|
@ -172,7 +184,8 @@ const SettingsSchema = CollectionSchema(
|
|||
r'ChapterFilterBookmarked': ChapterFilterBookmarkedSchema,
|
||||
r'ChapterPageurls': ChapterPageurlsSchema,
|
||||
r'ChapterPageIndex': ChapterPageIndexSchema,
|
||||
r'Cookie': CookieSchema
|
||||
r'Cookie': CookieSchema,
|
||||
r'PersonalReaderMode': PersonalReaderModeSchema
|
||||
},
|
||||
getId: _settingsGetId,
|
||||
getLinks: _settingsGetLinks,
|
||||
|
|
@ -275,6 +288,20 @@ int _settingsEstimateSize(
|
|||
bytesCount += 3 + value.length * 3;
|
||||
}
|
||||
}
|
||||
{
|
||||
final list = object.personalReaderModeList;
|
||||
if (list != null) {
|
||||
bytesCount += 3 + list.length * 3;
|
||||
{
|
||||
final offsets = allOffsets[PersonalReaderMode]!;
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
final value = list[i];
|
||||
bytesCount +=
|
||||
PersonalReaderModeSchema.estimateSize(value, offsets, allOffsets);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
final list = object.sortChapterList;
|
||||
if (list != null) {
|
||||
|
|
@ -349,35 +376,42 @@ void _settingsSerialize(
|
|||
object.cookiesList,
|
||||
);
|
||||
writer.writeString(offsets[6], object.dateFormat);
|
||||
writer.writeByte(offsets[7], object.displayType.index);
|
||||
writer.writeDouble(offsets[8], object.flexColorSchemeBlendLevel);
|
||||
writer.writeLong(offsets[9], object.flexSchemeColorIndex);
|
||||
writer.writeBool(offsets[10], object.incognitoMode);
|
||||
writer.writeBool(offsets[11], object.libraryDownloadedChapters);
|
||||
writer.writeLong(offsets[12], object.libraryFilterMangasBookMarkedType);
|
||||
writer.writeLong(offsets[13], object.libraryFilterMangasDownloadType);
|
||||
writer.writeLong(offsets[14], object.libraryFilterMangasStartedType);
|
||||
writer.writeLong(offsets[15], object.libraryFilterMangasUnreadType);
|
||||
writer.writeBool(offsets[16], object.libraryShowCategoryTabs);
|
||||
writer.writeBool(offsets[17], object.libraryShowContinueReadingButton);
|
||||
writer.writeBool(offsets[18], object.libraryShowLanguage);
|
||||
writer.writeBool(offsets[19], object.libraryShowNumbersOfItems);
|
||||
writer.writeLong(offsets[20], object.relativeTimesTamps);
|
||||
writer.writeBool(offsets[21], object.showPagesNumber);
|
||||
writer.writeByte(offsets[7], object.defaultReaderMode.index);
|
||||
writer.writeByte(offsets[8], object.displayType.index);
|
||||
writer.writeDouble(offsets[9], object.flexColorSchemeBlendLevel);
|
||||
writer.writeLong(offsets[10], object.flexSchemeColorIndex);
|
||||
writer.writeBool(offsets[11], object.incognitoMode);
|
||||
writer.writeBool(offsets[12], object.libraryDownloadedChapters);
|
||||
writer.writeLong(offsets[13], object.libraryFilterMangasBookMarkedType);
|
||||
writer.writeLong(offsets[14], object.libraryFilterMangasDownloadType);
|
||||
writer.writeLong(offsets[15], object.libraryFilterMangasStartedType);
|
||||
writer.writeLong(offsets[16], object.libraryFilterMangasUnreadType);
|
||||
writer.writeBool(offsets[17], object.libraryShowCategoryTabs);
|
||||
writer.writeBool(offsets[18], object.libraryShowContinueReadingButton);
|
||||
writer.writeBool(offsets[19], object.libraryShowLanguage);
|
||||
writer.writeBool(offsets[20], object.libraryShowNumbersOfItems);
|
||||
writer.writeObjectList<PersonalReaderMode>(
|
||||
offsets[21],
|
||||
allOffsets,
|
||||
PersonalReaderModeSchema.serialize,
|
||||
object.personalReaderModeList,
|
||||
);
|
||||
writer.writeLong(offsets[22], object.relativeTimesTamps);
|
||||
writer.writeBool(offsets[23], object.showPagesNumber);
|
||||
writer.writeObjectList<SortChapter>(
|
||||
offsets[22],
|
||||
offsets[24],
|
||||
allOffsets,
|
||||
SortChapterSchema.serialize,
|
||||
object.sortChapterList,
|
||||
);
|
||||
writer.writeObject<SortLibraryManga>(
|
||||
offsets[23],
|
||||
offsets[25],
|
||||
allOffsets,
|
||||
SortLibraryMangaSchema.serialize,
|
||||
object.sortLibraryManga,
|
||||
);
|
||||
writer.writeBool(offsets[24], object.themeIsDark);
|
||||
writer.writeString(offsets[25], object.userAgent);
|
||||
writer.writeBool(offsets[26], object.themeIsDark);
|
||||
writer.writeString(offsets[27], object.userAgent);
|
||||
}
|
||||
|
||||
Settings _settingsDeserialize(
|
||||
|
|
@ -412,37 +446,46 @@ Settings _settingsDeserialize(
|
|||
Cookie(),
|
||||
),
|
||||
dateFormat: reader.readStringOrNull(offsets[6]),
|
||||
defaultReaderMode: _SettingsdefaultReaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offsets[7])] ??
|
||||
ReaderMode.vertical,
|
||||
displayType:
|
||||
_SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offsets[7])] ??
|
||||
_SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offsets[8])] ??
|
||||
DisplayType.compactGrid,
|
||||
flexColorSchemeBlendLevel: reader.readDoubleOrNull(offsets[8]),
|
||||
flexSchemeColorIndex: reader.readLongOrNull(offsets[9]),
|
||||
flexColorSchemeBlendLevel: reader.readDoubleOrNull(offsets[9]),
|
||||
flexSchemeColorIndex: reader.readLongOrNull(offsets[10]),
|
||||
id: id,
|
||||
incognitoMode: reader.readBoolOrNull(offsets[10]),
|
||||
libraryDownloadedChapters: reader.readBoolOrNull(offsets[11]),
|
||||
libraryFilterMangasBookMarkedType: reader.readLongOrNull(offsets[12]),
|
||||
libraryFilterMangasDownloadType: reader.readLongOrNull(offsets[13]),
|
||||
libraryFilterMangasStartedType: reader.readLongOrNull(offsets[14]),
|
||||
libraryFilterMangasUnreadType: reader.readLongOrNull(offsets[15]),
|
||||
libraryShowCategoryTabs: reader.readBoolOrNull(offsets[16]),
|
||||
libraryShowContinueReadingButton: reader.readBoolOrNull(offsets[17]),
|
||||
libraryShowLanguage: reader.readBoolOrNull(offsets[18]),
|
||||
libraryShowNumbersOfItems: reader.readBoolOrNull(offsets[19]),
|
||||
relativeTimesTamps: reader.readLongOrNull(offsets[20]),
|
||||
showPagesNumber: reader.readBoolOrNull(offsets[21]),
|
||||
incognitoMode: reader.readBoolOrNull(offsets[11]),
|
||||
libraryDownloadedChapters: reader.readBoolOrNull(offsets[12]),
|
||||
libraryFilterMangasBookMarkedType: reader.readLongOrNull(offsets[13]),
|
||||
libraryFilterMangasDownloadType: reader.readLongOrNull(offsets[14]),
|
||||
libraryFilterMangasStartedType: reader.readLongOrNull(offsets[15]),
|
||||
libraryFilterMangasUnreadType: reader.readLongOrNull(offsets[16]),
|
||||
libraryShowCategoryTabs: reader.readBoolOrNull(offsets[17]),
|
||||
libraryShowContinueReadingButton: reader.readBoolOrNull(offsets[18]),
|
||||
libraryShowLanguage: reader.readBoolOrNull(offsets[19]),
|
||||
libraryShowNumbersOfItems: reader.readBoolOrNull(offsets[20]),
|
||||
personalReaderModeList: reader.readObjectList<PersonalReaderMode>(
|
||||
offsets[21],
|
||||
PersonalReaderModeSchema.deserialize,
|
||||
allOffsets,
|
||||
PersonalReaderMode(),
|
||||
),
|
||||
relativeTimesTamps: reader.readLongOrNull(offsets[22]),
|
||||
showPagesNumber: reader.readBoolOrNull(offsets[23]),
|
||||
sortChapterList: reader.readObjectList<SortChapter>(
|
||||
offsets[22],
|
||||
offsets[24],
|
||||
SortChapterSchema.deserialize,
|
||||
allOffsets,
|
||||
SortChapter(),
|
||||
),
|
||||
sortLibraryManga: reader.readObjectOrNull<SortLibraryManga>(
|
||||
offsets[23],
|
||||
offsets[25],
|
||||
SortLibraryMangaSchema.deserialize,
|
||||
allOffsets,
|
||||
),
|
||||
themeIsDark: reader.readBoolOrNull(offsets[24]),
|
||||
userAgent: reader.readStringOrNull(offsets[25]),
|
||||
themeIsDark: reader.readBoolOrNull(offsets[26]),
|
||||
userAgent: reader.readStringOrNull(offsets[27]),
|
||||
);
|
||||
object.chapterFilterBookmarkedList =
|
||||
reader.readObjectList<ChapterFilterBookmarked>(
|
||||
|
|
@ -512,18 +555,20 @@ P _settingsDeserializeProp<P>(
|
|||
case 6:
|
||||
return (reader.readStringOrNull(offset)) as P;
|
||||
case 7:
|
||||
return (_SettingsdefaultReaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offset)] ??
|
||||
ReaderMode.vertical) as P;
|
||||
case 8:
|
||||
return (_SettingsdisplayTypeValueEnumMap[reader.readByteOrNull(offset)] ??
|
||||
DisplayType.compactGrid) as P;
|
||||
case 8:
|
||||
return (reader.readDoubleOrNull(offset)) as P;
|
||||
case 9:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
return (reader.readDoubleOrNull(offset)) as P;
|
||||
case 10:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 11:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 12:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 13:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 14:
|
||||
|
|
@ -531,7 +576,7 @@ P _settingsDeserializeProp<P>(
|
|||
case 15:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 16:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 17:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 18:
|
||||
|
|
@ -539,31 +584,54 @@ P _settingsDeserializeProp<P>(
|
|||
case 19:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 20:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 21:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 21:
|
||||
return (reader.readObjectList<PersonalReaderMode>(
|
||||
offset,
|
||||
PersonalReaderModeSchema.deserialize,
|
||||
allOffsets,
|
||||
PersonalReaderMode(),
|
||||
)) as P;
|
||||
case 22:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 23:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 24:
|
||||
return (reader.readObjectList<SortChapter>(
|
||||
offset,
|
||||
SortChapterSchema.deserialize,
|
||||
allOffsets,
|
||||
SortChapter(),
|
||||
)) as P;
|
||||
case 23:
|
||||
case 25:
|
||||
return (reader.readObjectOrNull<SortLibraryManga>(
|
||||
offset,
|
||||
SortLibraryMangaSchema.deserialize,
|
||||
allOffsets,
|
||||
)) as P;
|
||||
case 24:
|
||||
case 26:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 25:
|
||||
case 27:
|
||||
return (reader.readStringOrNull(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
const _SettingsdefaultReaderModeEnumValueMap = {
|
||||
'vertical': 0,
|
||||
'ltr': 1,
|
||||
'rtl': 2,
|
||||
'verticalContinuous': 3,
|
||||
'webtoon': 4,
|
||||
};
|
||||
const _SettingsdefaultReaderModeValueEnumMap = {
|
||||
0: ReaderMode.vertical,
|
||||
1: ReaderMode.ltr,
|
||||
2: ReaderMode.rtl,
|
||||
3: ReaderMode.verticalContinuous,
|
||||
4: ReaderMode.webtoon,
|
||||
};
|
||||
const _SettingsdisplayTypeEnumValueMap = {
|
||||
'compactGrid': 0,
|
||||
'comfortableGrid': 1,
|
||||
|
|
@ -1454,6 +1522,62 @@ extension SettingsQueryFilter
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
defaultReaderModeEqualTo(ReaderMode value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'defaultReaderMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
defaultReaderModeGreaterThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'defaultReaderMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
defaultReaderModeLessThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'defaultReaderMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
defaultReaderModeBetween(
|
||||
ReaderMode lower,
|
||||
ReaderMode upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'defaultReaderMode',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition> displayTypeEqualTo(
|
||||
DisplayType value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
|
|
@ -2198,6 +2322,113 @@ extension SettingsQueryFilter
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNull(
|
||||
property: r'personalReaderModeList',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||
property: r'personalReaderModeList',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListLengthEqualTo(int length) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'personalReaderModeList',
|
||||
length,
|
||||
true,
|
||||
length,
|
||||
true,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'personalReaderModeList',
|
||||
0,
|
||||
true,
|
||||
0,
|
||||
true,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'personalReaderModeList',
|
||||
0,
|
||||
false,
|
||||
999999,
|
||||
true,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListLengthLessThan(
|
||||
int length, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'personalReaderModeList',
|
||||
0,
|
||||
true,
|
||||
length,
|
||||
include,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListLengthGreaterThan(
|
||||
int length, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'personalReaderModeList',
|
||||
length,
|
||||
include,
|
||||
999999,
|
||||
true,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListLengthBetween(
|
||||
int lower,
|
||||
int upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'personalReaderModeList',
|
||||
lower,
|
||||
includeLower,
|
||||
upper,
|
||||
includeUpper,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
relativeTimesTampsIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
|
|
@ -2646,6 +2877,13 @@ extension SettingsQueryObject
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
personalReaderModeListElement(FilterQuery<PersonalReaderMode> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.object(q, r'personalReaderModeList');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition>
|
||||
sortChapterListElement(FilterQuery<SortChapter> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
|
|
@ -2677,6 +2915,18 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> sortByDefaultReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> sortByDefaultReaderModeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> sortByDisplayType() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'displayType', Sort.asc);
|
||||
|
|
@ -2917,6 +3167,18 @@ extension SettingsQuerySortThenBy
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> thenByDefaultReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> thenByDefaultReaderModeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'defaultReaderMode', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> thenByDisplayType() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'displayType', Sort.asc);
|
||||
|
|
@ -3164,6 +3426,12 @@ extension SettingsQueryWhereDistinct
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QDistinct> distinctByDefaultReaderMode() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'defaultReaderMode');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QDistinct> distinctByDisplayType() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'displayType');
|
||||
|
|
@ -3333,6 +3601,13 @@ extension SettingsQueryProperty
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, ReaderMode, QQueryOperations>
|
||||
defaultReaderModeProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'defaultReaderMode');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, DisplayType, QQueryOperations> displayTypeProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'displayType');
|
||||
|
|
@ -3422,6 +3697,13 @@ extension SettingsQueryProperty
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, List<PersonalReaderMode>?, QQueryOperations>
|
||||
personalReaderModeListProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'personalReaderModeList');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, int?, QQueryOperations> relativeTimesTampsProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'relativeTimesTamps');
|
||||
|
|
@ -5590,3 +5872,230 @@ extension CookieQueryFilter on QueryBuilder<Cookie, Cookie, QFilterCondition> {
|
|||
}
|
||||
|
||||
extension CookieQueryObject on QueryBuilder<Cookie, Cookie, QFilterCondition> {}
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
const PersonalReaderModeSchema = Schema(
|
||||
name: r'PersonalReaderMode',
|
||||
id: -1072936262658804338,
|
||||
properties: {
|
||||
r'mangaId': PropertySchema(
|
||||
id: 0,
|
||||
name: r'mangaId',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'readerMode': PropertySchema(
|
||||
id: 1,
|
||||
name: r'readerMode',
|
||||
type: IsarType.byte,
|
||||
enumMap: _PersonalReaderModereaderModeEnumValueMap,
|
||||
)
|
||||
},
|
||||
estimateSize: _personalReaderModeEstimateSize,
|
||||
serialize: _personalReaderModeSerialize,
|
||||
deserialize: _personalReaderModeDeserialize,
|
||||
deserializeProp: _personalReaderModeDeserializeProp,
|
||||
);
|
||||
|
||||
int _personalReaderModeEstimateSize(
|
||||
PersonalReaderMode object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _personalReaderModeSerialize(
|
||||
PersonalReaderMode object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeLong(offsets[0], object.mangaId);
|
||||
writer.writeByte(offsets[1], object.readerMode.index);
|
||||
}
|
||||
|
||||
PersonalReaderMode _personalReaderModeDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = PersonalReaderMode();
|
||||
object.mangaId = reader.readLongOrNull(offsets[0]);
|
||||
object.readerMode = _PersonalReaderModereaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offsets[1])] ??
|
||||
ReaderMode.vertical;
|
||||
return object;
|
||||
}
|
||||
|
||||
P _personalReaderModeDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 1:
|
||||
return (_PersonalReaderModereaderModeValueEnumMap[
|
||||
reader.readByteOrNull(offset)] ??
|
||||
ReaderMode.vertical) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
const _PersonalReaderModereaderModeEnumValueMap = {
|
||||
'vertical': 0,
|
||||
'ltr': 1,
|
||||
'rtl': 2,
|
||||
'verticalContinuous': 3,
|
||||
'webtoon': 4,
|
||||
};
|
||||
const _PersonalReaderModereaderModeValueEnumMap = {
|
||||
0: ReaderMode.vertical,
|
||||
1: ReaderMode.ltr,
|
||||
2: ReaderMode.rtl,
|
||||
3: ReaderMode.verticalContinuous,
|
||||
4: ReaderMode.webtoon,
|
||||
};
|
||||
|
||||
extension PersonalReaderModeQueryFilter
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QFilterCondition> {
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNull(
|
||||
property: r'mangaId',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||
property: r'mangaId',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdEqualTo(int? value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'mangaId',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdGreaterThan(
|
||||
int? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'mangaId',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdLessThan(
|
||||
int? value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'mangaId',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
mangaIdBetween(
|
||||
int? lower,
|
||||
int? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'mangaId',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeEqualTo(ReaderMode value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'readerMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeGreaterThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'readerMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeLessThan(
|
||||
ReaderMode value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'readerMode',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<PersonalReaderMode, PersonalReaderMode, QAfterFilterCondition>
|
||||
readerModeBetween(
|
||||
ReaderMode lower,
|
||||
ReaderMode upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'readerMode',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonalReaderModeQueryObject
|
||||
on QueryBuilder<PersonalReaderMode, PersonalReaderMode, QFilterCondition> {}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|||
import 'package:go_router/go_router.dart';
|
||||
import 'package:mangayomi/models/chapter.dart';
|
||||
import 'package:mangayomi/models/manga_type.dart';
|
||||
import 'package:mangayomi/services/webview.dart';
|
||||
import 'package:mangayomi/services/webviews/webview.dart';
|
||||
import 'package:mangayomi/views/browse/browse_screen.dart';
|
||||
import 'package:mangayomi/views/browse/extension/extension_lang.dart';
|
||||
import 'package:mangayomi/views/browse/global_search_screen.dart';
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import 'package:mangayomi/views/browse/extension/extension_screen.dart';
|
|||
import 'package:mangayomi/views/browse/migrate_screen.dart';
|
||||
import 'package:mangayomi/views/browse/sources_screen.dart';
|
||||
import 'package:mangayomi/views/library/search_text_form_field.dart';
|
||||
|
||||
import 'package:flutter/scheduler.dart';
|
||||
class BrowseScreen extends StatefulWidget {
|
||||
const BrowseScreen({super.key});
|
||||
|
||||
|
|
@ -43,6 +43,7 @@ class _BrowseScreenState extends State<BrowseScreen>
|
|||
bool _isSearch = false;
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
timeDilation=0.5;
|
||||
return DefaultTabController(
|
||||
animationDuration: Duration.zero,
|
||||
length: 3,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import 'package:mangayomi/main.dart';
|
|||
import 'package:mangayomi/models/chapter.dart';
|
||||
import 'package:mangayomi/models/download.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/sources/utils/utils.dart';
|
||||
import 'package:mangayomi/utils/cached_network.dart';
|
||||
import 'package:mangayomi/utils/colors.dart';
|
||||
import 'package:mangayomi/utils/headers.dart';
|
||||
|
|
@ -930,8 +931,11 @@ class _MangaDetailViewState extends ConsumerState<MangaDetailView>
|
|||
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
|
||||
elevation: 0),
|
||||
onPressed: () {
|
||||
String url = getMangaAPIUrl(widget.manga!.source!).isEmpty
|
||||
? widget.manga!.link!
|
||||
: "${getMangaBaseUrl(widget.manga!.source!)}${widget.manga!.link!}";
|
||||
Map<String, String> data = {
|
||||
'url': widget.manga!.link!,
|
||||
'url': url,
|
||||
'source': widget.manga!.source!,
|
||||
};
|
||||
context.push("/mangawebview", extra: data);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ part of 'download_provider.dart';
|
|||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$downloadChapterHash() => r'c99c801fcfed7065161e0220625ebc8db49703c1';
|
||||
String _$downloadChapterHash() => r'b702505f8ee75ab0a51eb53c0e0631e703aa6517';
|
||||
|
||||
/// Copied from Dart SDK
|
||||
class _SystemHash {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import 'package:flutter/services.dart';
|
|||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mangayomi/models/chapter.dart';
|
||||
import 'package:mangayomi/models/reader_settings.dart';
|
||||
import 'package:mangayomi/models/settings.dart';
|
||||
import 'package:mangayomi/views/manga/reader/providers/push_router.dart';
|
||||
import 'package:mangayomi/services/get_chapter_url.dart';
|
||||
import 'package:mangayomi/utils/image_detail_info.dart';
|
||||
|
|
@ -16,6 +16,7 @@ import 'package:mangayomi/views/manga/reader/image_view_horizontal.dart';
|
|||
import 'package:mangayomi/views/manga/reader/image_view_vertical.dart';
|
||||
import 'package:mangayomi/views/manga/reader/providers/reader_controller_provider.dart';
|
||||
import 'package:mangayomi/views/manga/reader/widgets/circular_progress_indicator_animate_rotate.dart';
|
||||
import 'package:mangayomi/views/widgets/progress_center.dart';
|
||||
import 'package:photo_view/photo_view.dart';
|
||||
import 'package:photo_view/photo_view_gallery.dart';
|
||||
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
|
||||
|
|
@ -95,7 +96,7 @@ class MangaReaderView extends ConsumerWidget {
|
|||
Navigator.pop(context);
|
||||
return false;
|
||||
},
|
||||
child: const Center(child: CircularProgressIndicator()),
|
||||
child: const ProgressCenter(),
|
||||
),
|
||||
);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ import 'package:mangayomi/main.dart';
|
|||
import 'package:mangayomi/models/chapter.dart';
|
||||
import 'package:mangayomi/models/history.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/models/reader_settings.dart';
|
||||
import 'package:mangayomi/models/settings.dart';
|
||||
import 'package:mangayomi/views/more/settings/providers/incognito_mode_state_provider.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
|
@ -43,14 +42,13 @@ class ReaderController extends _$ReaderController {
|
|||
}
|
||||
|
||||
ReaderMode getReaderMode() {
|
||||
final personalReaderMode = isar.personalReaderModes
|
||||
.filter()
|
||||
.mangaIdEqualTo(getManga().id)
|
||||
.findAllSync();
|
||||
final personalReaderMode = getIsarSetting()
|
||||
.personalReaderModeList!
|
||||
.where((element) => element.mangaId == getManga().id);
|
||||
if (personalReaderMode.isNotEmpty) {
|
||||
return personalReaderMode.first.readerMode;
|
||||
}
|
||||
return isar.readerSettings.getSync(227)!.defaultReaderMode;
|
||||
return isar.settings.getSync(227)!.defaultReaderMode;
|
||||
}
|
||||
|
||||
String getReaderModeValue(ReaderMode readerMode) {
|
||||
|
|
@ -66,18 +64,17 @@ class ReaderController extends _$ReaderController {
|
|||
}
|
||||
|
||||
void setReaderMode(ReaderMode newReaderMode) {
|
||||
final personalReaderMode = isar.personalReaderModes
|
||||
.filter()
|
||||
.mangaIdEqualTo(getManga().id)
|
||||
.findAllSync();
|
||||
if (personalReaderMode.isNotEmpty) {
|
||||
isar.writeTxnSync(() => isar.personalReaderModes
|
||||
.putSync(personalReaderMode.first..readerMode = newReaderMode));
|
||||
} else {
|
||||
isar.writeTxnSync(() => isar.personalReaderModes.putSync(
|
||||
PersonalReaderMode(
|
||||
mangaId: getManga().id, readerMode: newReaderMode)));
|
||||
List<PersonalReaderMode>? personalReaderModeLists = [];
|
||||
for (var personalReaderMode in getIsarSetting().personalReaderModeList!) {
|
||||
if (personalReaderMode.mangaId != getManga().id) {
|
||||
personalReaderModeLists.add(personalReaderMode);
|
||||
}
|
||||
}
|
||||
personalReaderModeLists.add(PersonalReaderMode()
|
||||
..mangaId = getManga().id
|
||||
..readerMode = newReaderMode);
|
||||
isar.writeTxnSync(() => isar.settings.putSync(
|
||||
getIsarSetting()..personalReaderModeList = personalReaderModeLists));
|
||||
}
|
||||
|
||||
void setShowPageNumber(bool value) {
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ class CurrentIndexProvider
|
|||
}
|
||||
}
|
||||
|
||||
String _$readerControllerHash() => r'f7b59c997f224f05d925ff8ccea2eb67d10ef5ea';
|
||||
String _$readerControllerHash() => r'cffb8dfcfd338288d90757414d579fffcd478d29';
|
||||
|
||||
abstract class _$ReaderController extends BuildlessAutoDisposeNotifier<void> {
|
||||
late final Chapter chapter;
|
||||
|
|
|
|||
Loading…
Reference in a new issue