From 6286f614e38c61b42177711d632aaf6607516767 Mon Sep 17 00:00:00 2001 From: Riguz Lee Date: Fri, 29 Mar 2024 09:52:39 +0800 Subject: [PATCH] updated table schema --- editing/lib/database/database.g.dart | 966 +++++++++++------- editing/lib/database/tables.drift | 7 +- editing/lib/ui/journal_edit_screen.dart | 44 +- .../flutter/generated_plugin_registrant.cc | 12 + editing/linux/flutter/generated_plugins.cmake | 3 + .../Flutter/GeneratedPluginRegistrant.swift | 8 + editing/macos/Podfile.lock | 24 + editing/pubspec.lock | 470 ++++++--- editing/pubspec.yaml | 1 + .../flutter/generated_plugin_registrant.cc | 9 + .../windows/flutter/generated_plugins.cmake | 3 + 11 files changed, 994 insertions(+), 553 deletions(-) diff --git a/editing/lib/database/database.g.dart b/editing/lib/database/database.g.dart index 5eb0cf5..2c2a7de 100644 --- a/editing/lib/database/database.g.dart +++ b/editing/lib/database/database.g.dart @@ -3,11 +3,11 @@ part of 'database.dart'; // ignore_for_file: type=lint -class Notes extends Table with TableInfo { +class Categories extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; - Notes(this.attachedDatabase, [this._alias]); + Categories(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); late final GeneratedColumn id = GeneratedColumn( 'id', aliasedName, false, @@ -15,57 +15,12 @@ class Notes extends Table with TableInfo { type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL PRIMARY KEY AUTOINCREMENT'); - static const VerificationMeta _typeMeta = const VerificationMeta('type'); - late final GeneratedColumn type = GeneratedColumn( - 'type', aliasedName, false, - type: DriftSqlType.int, - requiredDuringInsert: true, - $customConstraints: 'NOT NULL'); - static const VerificationMeta _formatMeta = const VerificationMeta('format'); - late final GeneratedColumn format = GeneratedColumn( - 'format', aliasedName, false, - type: DriftSqlType.int, - requiredDuringInsert: true, - $customConstraints: 'NOT NULL'); - static const VerificationMeta _titleMeta = const VerificationMeta('title'); - late final GeneratedColumn title = GeneratedColumn( - 'title', aliasedName, false, - type: DriftSqlType.string, - requiredDuringInsert: true, - $customConstraints: 'NOT NULL'); - static const VerificationMeta _contentMeta = - const VerificationMeta('content'); - late final GeneratedColumn content = GeneratedColumn( - 'content', aliasedName, false, + static const VerificationMeta _nameMeta = const VerificationMeta('name'); + late final GeneratedColumn name = GeneratedColumn( + 'name', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); - static const VerificationMeta _tagsMeta = const VerificationMeta('tags'); - late final GeneratedColumn tags = GeneratedColumn( - 'tags', aliasedName, true, - type: DriftSqlType.string, - requiredDuringInsert: false, - $customConstraints: ''); - static const VerificationMeta _locationMeta = - const VerificationMeta('location'); - late final GeneratedColumn location = GeneratedColumn( - 'location', aliasedName, true, - type: DriftSqlType.string, - requiredDuringInsert: false, - $customConstraints: ''); - static const VerificationMeta _weatherMeta = - const VerificationMeta('weather'); - late final GeneratedColumn weather = GeneratedColumn( - 'weather', aliasedName, true, - type: DriftSqlType.string, - requiredDuringInsert: false, - $customConstraints: ''); - static const VerificationMeta _moodMeta = const VerificationMeta('mood'); - late final GeneratedColumn mood = GeneratedColumn( - 'mood', aliasedName, true, - type: DriftSqlType.string, - requiredDuringInsert: false, - $customConstraints: ''); static const VerificationMeta _encryptionTypeMeta = const VerificationMeta('encryptionType'); late final GeneratedColumn encryptionType = GeneratedColumn( @@ -97,14 +52,7 @@ class Notes extends Table with TableInfo { @override List get $columns => [ id, - type, - format, - title, - content, - tags, - location, - weather, - mood, + name, encryptionType, encryptionArguments, createTime, @@ -114,54 +62,20 @@ class Notes extends Table with TableInfo { String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; - static const String $name = 'notes'; + static const String $name = 'categories'; @override - VerificationContext validateIntegrity(Insertable instance, + VerificationContext validateIntegrity(Insertable instance, {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } - if (data.containsKey('type')) { - context.handle( - _typeMeta, type.isAcceptableOrUnknown(data['type']!, _typeMeta)); - } else if (isInserting) { - context.missing(_typeMeta); - } - if (data.containsKey('format')) { - context.handle(_formatMeta, - format.isAcceptableOrUnknown(data['format']!, _formatMeta)); - } else if (isInserting) { - context.missing(_formatMeta); - } - if (data.containsKey('title')) { + if (data.containsKey('name')) { context.handle( - _titleMeta, title.isAcceptableOrUnknown(data['title']!, _titleMeta)); - } else if (isInserting) { - context.missing(_titleMeta); - } - if (data.containsKey('content')) { - context.handle(_contentMeta, - content.isAcceptableOrUnknown(data['content']!, _contentMeta)); + _nameMeta, name.isAcceptableOrUnknown(data['name']!, _nameMeta)); } else if (isInserting) { - context.missing(_contentMeta); - } - if (data.containsKey('tags')) { - context.handle( - _tagsMeta, tags.isAcceptableOrUnknown(data['tags']!, _tagsMeta)); - } - if (data.containsKey('location')) { - context.handle(_locationMeta, - location.isAcceptableOrUnknown(data['location']!, _locationMeta)); - } - if (data.containsKey('weather')) { - context.handle(_weatherMeta, - weather.isAcceptableOrUnknown(data['weather']!, _weatherMeta)); - } - if (data.containsKey('mood')) { - context.handle( - _moodMeta, mood.isAcceptableOrUnknown(data['mood']!, _moodMeta)); + context.missing(_nameMeta); } if (data.containsKey('encryption_type')) { context.handle( @@ -199,27 +113,13 @@ class Notes extends Table with TableInfo { @override Set get $primaryKey => {id}; @override - NoteEntity map(Map data, {String? tablePrefix}) { + CategoryEntity map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return NoteEntity( + return CategoryEntity( id: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - type: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}type'])!, - format: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}format'])!, - title: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}title'])!, - content: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}content'])!, - tags: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}tags']), - location: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}location']), - weather: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}weather']), - mood: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}mood']), + name: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}name'])!, encryptionType: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}encryption_type'])!, encryptionArguments: attachedDatabase.typeMapping.read( @@ -232,38 +132,24 @@ class Notes extends Table with TableInfo { } @override - Notes createAlias(String alias) { - return Notes(attachedDatabase, alias); + Categories createAlias(String alias) { + return Categories(attachedDatabase, alias); } @override bool get dontWriteConstraints => true; } -class NoteEntity extends DataClass implements Insertable { +class CategoryEntity extends DataClass implements Insertable { final int id; - final int type; - final int format; - final String title; - final String content; - final String? tags; - final String? location; - final String? weather; - final String? mood; + final String name; final int encryptionType; final String? encryptionArguments; final String createTime; final String lastUpdateTime; - const NoteEntity( + const CategoryEntity( {required this.id, - required this.type, - required this.format, - required this.title, - required this.content, - this.tags, - this.location, - this.weather, - this.mood, + required this.name, required this.encryptionType, this.encryptionArguments, required this.createTime, @@ -272,22 +158,7 @@ class NoteEntity extends DataClass implements Insertable { Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); - map['type'] = Variable(type); - map['format'] = Variable(format); - map['title'] = Variable(title); - map['content'] = Variable(content); - if (!nullToAbsent || tags != null) { - map['tags'] = Variable(tags); - } - if (!nullToAbsent || location != null) { - map['location'] = Variable(location); - } - if (!nullToAbsent || weather != null) { - map['weather'] = Variable(weather); - } - if (!nullToAbsent || mood != null) { - map['mood'] = Variable(mood); - } + map['name'] = Variable(name); map['encryption_type'] = Variable(encryptionType); if (!nullToAbsent || encryptionArguments != null) { map['encryption_arguments'] = Variable(encryptionArguments); @@ -297,21 +168,10 @@ class NoteEntity extends DataClass implements Insertable { return map; } - NotesCompanion toCompanion(bool nullToAbsent) { - return NotesCompanion( + CategoriesCompanion toCompanion(bool nullToAbsent) { + return CategoriesCompanion( id: Value(id), - type: Value(type), - format: Value(format), - title: Value(title), - content: Value(content), - tags: tags == null && nullToAbsent ? const Value.absent() : Value(tags), - location: location == null && nullToAbsent - ? const Value.absent() - : Value(location), - weather: weather == null && nullToAbsent - ? const Value.absent() - : Value(weather), - mood: mood == null && nullToAbsent ? const Value.absent() : Value(mood), + name: Value(name), encryptionType: Value(encryptionType), encryptionArguments: encryptionArguments == null && nullToAbsent ? const Value.absent() @@ -321,19 +181,12 @@ class NoteEntity extends DataClass implements Insertable { ); } - factory NoteEntity.fromJson(Map json, + factory CategoryEntity.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; - return NoteEntity( + return CategoryEntity( id: serializer.fromJson(json['id']), - type: serializer.fromJson(json['type']), - format: serializer.fromJson(json['format']), - title: serializer.fromJson(json['title']), - content: serializer.fromJson(json['content']), - tags: serializer.fromJson(json['tags']), - location: serializer.fromJson(json['location']), - weather: serializer.fromJson(json['weather']), - mood: serializer.fromJson(json['mood']), + name: serializer.fromJson(json['name']), encryptionType: serializer.fromJson(json['encryption_type']), encryptionArguments: serializer.fromJson(json['encryption_arguments']), @@ -346,14 +199,7 @@ class NoteEntity extends DataClass implements Insertable { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), - 'type': serializer.toJson(type), - 'format': serializer.toJson(format), - 'title': serializer.toJson(title), - 'content': serializer.toJson(content), - 'tags': serializer.toJson(tags), - 'location': serializer.toJson(location), - 'weather': serializer.toJson(weather), - 'mood': serializer.toJson(mood), + 'name': serializer.toJson(name), 'encryption_type': serializer.toJson(encryptionType), 'encryption_arguments': serializer.toJson(encryptionArguments), 'create_time': serializer.toJson(createTime), @@ -361,30 +207,16 @@ class NoteEntity extends DataClass implements Insertable { }; } - NoteEntity copyWith( + CategoryEntity copyWith( {int? id, - int? type, - int? format, - String? title, - String? content, - Value tags = const Value.absent(), - Value location = const Value.absent(), - Value weather = const Value.absent(), - Value mood = const Value.absent(), + String? name, int? encryptionType, Value encryptionArguments = const Value.absent(), String? createTime, String? lastUpdateTime}) => - NoteEntity( + CategoryEntity( id: id ?? this.id, - type: type ?? this.type, - format: format ?? this.format, - title: title ?? this.title, - content: content ?? this.content, - tags: tags.present ? tags.value : this.tags, - location: location.present ? location.value : this.location, - weather: weather.present ? weather.value : this.weather, - mood: mood.present ? mood.value : this.mood, + name: name ?? this.name, encryptionType: encryptionType ?? this.encryptionType, encryptionArguments: encryptionArguments.present ? encryptionArguments.value @@ -394,16 +226,9 @@ class NoteEntity extends DataClass implements Insertable { ); @override String toString() { - return (StringBuffer('NoteEntity(') + return (StringBuffer('CategoryEntity(') ..write('id: $id, ') - ..write('type: $type, ') - ..write('format: $format, ') - ..write('title: $title, ') - ..write('content: $content, ') - ..write('tags: $tags, ') - ..write('location: $location, ') - ..write('weather: $weather, ') - ..write('mood: $mood, ') + ..write('name: $name, ') ..write('encryptionType: $encryptionType, ') ..write('encryptionArguments: $encryptionArguments, ') ..write('createTime: $createTime, ') @@ -413,99 +238,49 @@ class NoteEntity extends DataClass implements Insertable { } @override - int get hashCode => Object.hash( - id, - type, - format, - title, - content, - tags, - location, - weather, - mood, - encryptionType, - encryptionArguments, - createTime, - lastUpdateTime); + int get hashCode => Object.hash(id, name, encryptionType, encryptionArguments, + createTime, lastUpdateTime); @override bool operator ==(Object other) => identical(this, other) || - (other is NoteEntity && + (other is CategoryEntity && other.id == this.id && - other.type == this.type && - other.format == this.format && - other.title == this.title && - other.content == this.content && - other.tags == this.tags && - other.location == this.location && - other.weather == this.weather && - other.mood == this.mood && + other.name == this.name && other.encryptionType == this.encryptionType && other.encryptionArguments == this.encryptionArguments && other.createTime == this.createTime && other.lastUpdateTime == this.lastUpdateTime); } -class NotesCompanion extends UpdateCompanion { +class CategoriesCompanion extends UpdateCompanion { final Value id; - final Value type; - final Value format; - final Value title; - final Value content; - final Value tags; - final Value location; - final Value weather; - final Value mood; + final Value name; final Value encryptionType; final Value encryptionArguments; final Value createTime; final Value lastUpdateTime; - const NotesCompanion({ + const CategoriesCompanion({ this.id = const Value.absent(), - this.type = const Value.absent(), - this.format = const Value.absent(), - this.title = const Value.absent(), - this.content = const Value.absent(), - this.tags = const Value.absent(), - this.location = const Value.absent(), - this.weather = const Value.absent(), - this.mood = const Value.absent(), + this.name = const Value.absent(), this.encryptionType = const Value.absent(), this.encryptionArguments = const Value.absent(), this.createTime = const Value.absent(), this.lastUpdateTime = const Value.absent(), }); - NotesCompanion.insert({ + CategoriesCompanion.insert({ this.id = const Value.absent(), - required int type, - required int format, - required String title, - required String content, - this.tags = const Value.absent(), - this.location = const Value.absent(), - this.weather = const Value.absent(), - this.mood = const Value.absent(), + required String name, required int encryptionType, this.encryptionArguments = const Value.absent(), required String createTime, required String lastUpdateTime, - }) : type = Value(type), - format = Value(format), - title = Value(title), - content = Value(content), + }) : name = Value(name), encryptionType = Value(encryptionType), createTime = Value(createTime), lastUpdateTime = Value(lastUpdateTime); - static Insertable custom({ + static Insertable custom({ Expression? id, - Expression? type, - Expression? format, - Expression? title, - Expression? content, - Expression? tags, - Expression? location, - Expression? weather, - Expression? mood, + Expression? name, Expression? encryptionType, Expression? encryptionArguments, Expression? createTime, @@ -513,14 +288,7 @@ class NotesCompanion extends UpdateCompanion { }) { return RawValuesInsertable({ if (id != null) 'id': id, - if (type != null) 'type': type, - if (format != null) 'format': format, - if (title != null) 'title': title, - if (content != null) 'content': content, - if (tags != null) 'tags': tags, - if (location != null) 'location': location, - if (weather != null) 'weather': weather, - if (mood != null) 'mood': mood, + if (name != null) 'name': name, if (encryptionType != null) 'encryption_type': encryptionType, if (encryptionArguments != null) 'encryption_arguments': encryptionArguments, @@ -529,30 +297,16 @@ class NotesCompanion extends UpdateCompanion { }); } - NotesCompanion copyWith( + CategoriesCompanion copyWith( {Value? id, - Value? type, - Value? format, - Value? title, - Value? content, - Value? tags, - Value? location, - Value? weather, - Value? mood, + Value? name, Value? encryptionType, Value? encryptionArguments, Value? createTime, Value? lastUpdateTime}) { - return NotesCompanion( + return CategoriesCompanion( id: id ?? this.id, - type: type ?? this.type, - format: format ?? this.format, - title: title ?? this.title, - content: content ?? this.content, - tags: tags ?? this.tags, - location: location ?? this.location, - weather: weather ?? this.weather, - mood: mood ?? this.mood, + name: name ?? this.name, encryptionType: encryptionType ?? this.encryptionType, encryptionArguments: encryptionArguments ?? this.encryptionArguments, createTime: createTime ?? this.createTime, @@ -566,29 +320,8 @@ class NotesCompanion extends UpdateCompanion { if (id.present) { map['id'] = Variable(id.value); } - if (type.present) { - map['type'] = Variable(type.value); - } - if (format.present) { - map['format'] = Variable(format.value); - } - if (title.present) { - map['title'] = Variable(title.value); - } - if (content.present) { - map['content'] = Variable(content.value); - } - if (tags.present) { - map['tags'] = Variable(tags.value); - } - if (location.present) { - map['location'] = Variable(location.value); - } - if (weather.present) { - map['weather'] = Variable(weather.value); - } - if (mood.present) { - map['mood'] = Variable(mood.value); + if (name.present) { + map['name'] = Variable(name.value); } if (encryptionType.present) { map['encryption_type'] = Variable(encryptionType.value); @@ -607,16 +340,9 @@ class NotesCompanion extends UpdateCompanion { @override String toString() { - return (StringBuffer('NotesCompanion(') + return (StringBuffer('CategoriesCompanion(') ..write('id: $id, ') - ..write('type: $type, ') - ..write('format: $format, ') - ..write('title: $title, ') - ..write('content: $content, ') - ..write('tags: $tags, ') - ..write('location: $location, ') - ..write('weather: $weather, ') - ..write('mood: $mood, ') + ..write('name: $name, ') ..write('encryptionType: $encryptionType, ') ..write('encryptionArguments: $encryptionArguments, ') ..write('createTime: $createTime, ') @@ -626,11 +352,11 @@ class NotesCompanion extends UpdateCompanion { } } -class Categories extends Table with TableInfo { +class Notes extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; - Categories(this.attachedDatabase, [this._alias]); + Notes(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); late final GeneratedColumn id = GeneratedColumn( 'id', aliasedName, false, @@ -638,12 +364,78 @@ class Categories extends Table with TableInfo { type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL PRIMARY KEY AUTOINCREMENT'); - static const VerificationMeta _nameMeta = const VerificationMeta('name'); - late final GeneratedColumn name = GeneratedColumn( - 'name', aliasedName, false, + static const VerificationMeta _typeMeta = const VerificationMeta('type'); + late final GeneratedColumn type = GeneratedColumn( + 'type', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _formatMeta = const VerificationMeta('format'); + late final GeneratedColumn format = GeneratedColumn( + 'format', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _titleMeta = const VerificationMeta('title'); + late final GeneratedColumn title = GeneratedColumn( + 'title', aliasedName, false, + type: DriftSqlType.string, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _contentMeta = + const VerificationMeta('content'); + late final GeneratedColumn content = GeneratedColumn( + 'content', aliasedName, false, + type: DriftSqlType.string, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _abstractMeta = + const VerificationMeta('abstract'); + late final GeneratedColumn abstract = GeneratedColumn( + 'abstract', aliasedName, true, + type: DriftSqlType.string, + requiredDuringInsert: false, + $customConstraints: ''); + static const VerificationMeta _tagsMeta = const VerificationMeta('tags'); + late final GeneratedColumn tags = GeneratedColumn( + 'tags', aliasedName, true, + type: DriftSqlType.string, + requiredDuringInsert: false, + $customConstraints: ''); + static const VerificationMeta _locationMeta = + const VerificationMeta('location'); + late final GeneratedColumn location = GeneratedColumn( + 'location', aliasedName, true, + type: DriftSqlType.string, + requiredDuringInsert: false, + $customConstraints: ''); + static const VerificationMeta _weatherMeta = + const VerificationMeta('weather'); + late final GeneratedColumn weather = GeneratedColumn( + 'weather', aliasedName, true, type: DriftSqlType.string, + requiredDuringInsert: false, + $customConstraints: ''); + static const VerificationMeta _moodMeta = const VerificationMeta('mood'); + late final GeneratedColumn mood = GeneratedColumn( + 'mood', aliasedName, true, + type: DriftSqlType.string, + requiredDuringInsert: false, + $customConstraints: ''); + static const VerificationMeta _encryptionTypeMeta = + const VerificationMeta('encryptionType'); + late final GeneratedColumn encryptionType = GeneratedColumn( + 'encryption_type', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); + static const VerificationMeta _encryptionArgumentsMeta = + const VerificationMeta('encryptionArguments'); + late final GeneratedColumn encryptionArguments = + GeneratedColumn('encryption_arguments', aliasedName, true, + type: DriftSqlType.string, + requiredDuringInsert: false, + $customConstraints: ''); static const VerificationMeta _createTimeMeta = const VerificationMeta('createTime'); late final GeneratedColumn createTime = GeneratedColumn( @@ -658,26 +450,101 @@ class Categories extends Table with TableInfo { type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); + static const VerificationMeta _categoryIdMeta = + const VerificationMeta('categoryId'); + late final GeneratedColumn categoryId = GeneratedColumn( + 'category_id', aliasedName, true, + type: DriftSqlType.int, + requiredDuringInsert: false, + $customConstraints: ''); @override - List get $columns => [id, name, createTime, lastUpdateTime]; + List get $columns => [ + id, + type, + format, + title, + content, + abstract, + tags, + location, + weather, + mood, + encryptionType, + encryptionArguments, + createTime, + lastUpdateTime, + categoryId + ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; - static const String $name = 'categories'; + static const String $name = 'notes'; @override - VerificationContext validateIntegrity(Insertable instance, + VerificationContext validateIntegrity(Insertable instance, {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } - if (data.containsKey('name')) { + if (data.containsKey('type')) { context.handle( - _nameMeta, name.isAcceptableOrUnknown(data['name']!, _nameMeta)); + _typeMeta, type.isAcceptableOrUnknown(data['type']!, _typeMeta)); } else if (isInserting) { - context.missing(_nameMeta); + context.missing(_typeMeta); + } + if (data.containsKey('format')) { + context.handle(_formatMeta, + format.isAcceptableOrUnknown(data['format']!, _formatMeta)); + } else if (isInserting) { + context.missing(_formatMeta); + } + if (data.containsKey('title')) { + context.handle( + _titleMeta, title.isAcceptableOrUnknown(data['title']!, _titleMeta)); + } else if (isInserting) { + context.missing(_titleMeta); + } + if (data.containsKey('content')) { + context.handle(_contentMeta, + content.isAcceptableOrUnknown(data['content']!, _contentMeta)); + } else if (isInserting) { + context.missing(_contentMeta); + } + if (data.containsKey('abstract')) { + context.handle(_abstractMeta, + abstract.isAcceptableOrUnknown(data['abstract']!, _abstractMeta)); + } + if (data.containsKey('tags')) { + context.handle( + _tagsMeta, tags.isAcceptableOrUnknown(data['tags']!, _tagsMeta)); + } + if (data.containsKey('location')) { + context.handle(_locationMeta, + location.isAcceptableOrUnknown(data['location']!, _locationMeta)); + } + if (data.containsKey('weather')) { + context.handle(_weatherMeta, + weather.isAcceptableOrUnknown(data['weather']!, _weatherMeta)); + } + if (data.containsKey('mood')) { + context.handle( + _moodMeta, mood.isAcceptableOrUnknown(data['mood']!, _moodMeta)); + } + if (data.containsKey('encryption_type')) { + context.handle( + _encryptionTypeMeta, + encryptionType.isAcceptableOrUnknown( + data['encryption_type']!, _encryptionTypeMeta)); + } else if (isInserting) { + context.missing(_encryptionTypeMeta); + } + if (data.containsKey('encryption_arguments')) { + context.handle( + _encryptionArgumentsMeta, + encryptionArguments.isAcceptableOrUnknown( + data['encryption_arguments']!, _encryptionArgumentsMeta)); } if (data.containsKey('create_time')) { context.handle( @@ -695,72 +562,183 @@ class Categories extends Table with TableInfo { } else if (isInserting) { context.missing(_lastUpdateTimeMeta); } + if (data.containsKey('category_id')) { + context.handle( + _categoryIdMeta, + categoryId.isAcceptableOrUnknown( + data['category_id']!, _categoryIdMeta)); + } return context; } @override Set get $primaryKey => {id}; @override - CategoryEntity map(Map data, {String? tablePrefix}) { + NoteEntity map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return CategoryEntity( + return NoteEntity( id: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - name: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}name'])!, + type: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}type'])!, + format: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}format'])!, + title: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}title'])!, + content: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}content'])!, + abstract: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}abstract']), + tags: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}tags']), + location: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}location']), + weather: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}weather']), + mood: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}mood']), + encryptionType: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}encryption_type'])!, + encryptionArguments: attachedDatabase.typeMapping.read( + DriftSqlType.string, data['${effectivePrefix}encryption_arguments']), createTime: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}create_time'])!, lastUpdateTime: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}last_update_time'])!, + categoryId: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}category_id']), ); } @override - Categories createAlias(String alias) { - return Categories(attachedDatabase, alias); + Notes createAlias(String alias) { + return Notes(attachedDatabase, alias); } + @override + List get customConstraints => + const ['FOREIGN KEY(category_id)REFERENCES categories(id)']; @override bool get dontWriteConstraints => true; } -class CategoryEntity extends DataClass implements Insertable { +class NoteEntity extends DataClass implements Insertable { final int id; - final String name; + final int type; + final int format; + final String title; + final String content; + final String? abstract; + final String? tags; + final String? location; + final String? weather; + final String? mood; + final int encryptionType; + final String? encryptionArguments; final String createTime; final String lastUpdateTime; - const CategoryEntity( + final int? categoryId; + const NoteEntity( {required this.id, - required this.name, + required this.type, + required this.format, + required this.title, + required this.content, + this.abstract, + this.tags, + this.location, + this.weather, + this.mood, + required this.encryptionType, + this.encryptionArguments, required this.createTime, - required this.lastUpdateTime}); + required this.lastUpdateTime, + this.categoryId}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); - map['name'] = Variable(name); + map['type'] = Variable(type); + map['format'] = Variable(format); + map['title'] = Variable(title); + map['content'] = Variable(content); + if (!nullToAbsent || abstract != null) { + map['abstract'] = Variable(abstract); + } + if (!nullToAbsent || tags != null) { + map['tags'] = Variable(tags); + } + if (!nullToAbsent || location != null) { + map['location'] = Variable(location); + } + if (!nullToAbsent || weather != null) { + map['weather'] = Variable(weather); + } + if (!nullToAbsent || mood != null) { + map['mood'] = Variable(mood); + } + map['encryption_type'] = Variable(encryptionType); + if (!nullToAbsent || encryptionArguments != null) { + map['encryption_arguments'] = Variable(encryptionArguments); + } map['create_time'] = Variable(createTime); map['last_update_time'] = Variable(lastUpdateTime); + if (!nullToAbsent || categoryId != null) { + map['category_id'] = Variable(categoryId); + } return map; } - CategoriesCompanion toCompanion(bool nullToAbsent) { - return CategoriesCompanion( + NotesCompanion toCompanion(bool nullToAbsent) { + return NotesCompanion( id: Value(id), - name: Value(name), + type: Value(type), + format: Value(format), + title: Value(title), + content: Value(content), + abstract: abstract == null && nullToAbsent + ? const Value.absent() + : Value(abstract), + tags: tags == null && nullToAbsent ? const Value.absent() : Value(tags), + location: location == null && nullToAbsent + ? const Value.absent() + : Value(location), + weather: weather == null && nullToAbsent + ? const Value.absent() + : Value(weather), + mood: mood == null && nullToAbsent ? const Value.absent() : Value(mood), + encryptionType: Value(encryptionType), + encryptionArguments: encryptionArguments == null && nullToAbsent + ? const Value.absent() + : Value(encryptionArguments), createTime: Value(createTime), lastUpdateTime: Value(lastUpdateTime), + categoryId: categoryId == null && nullToAbsent + ? const Value.absent() + : Value(categoryId), ); } - factory CategoryEntity.fromJson(Map json, + factory NoteEntity.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; - return CategoryEntity( + return NoteEntity( id: serializer.fromJson(json['id']), - name: serializer.fromJson(json['name']), + type: serializer.fromJson(json['type']), + format: serializer.fromJson(json['format']), + title: serializer.fromJson(json['title']), + content: serializer.fromJson(json['content']), + abstract: serializer.fromJson(json['abstract']), + tags: serializer.fromJson(json['tags']), + location: serializer.fromJson(json['location']), + weather: serializer.fromJson(json['weather']), + mood: serializer.fromJson(json['mood']), + encryptionType: serializer.fromJson(json['encryption_type']), + encryptionArguments: + serializer.fromJson(json['encryption_arguments']), createTime: serializer.fromJson(json['create_time']), lastUpdateTime: serializer.fromJson(json['last_update_time']), + categoryId: serializer.fromJson(json['category_id']), ); } @override @@ -768,89 +746,243 @@ class CategoryEntity extends DataClass implements Insertable { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), - 'name': serializer.toJson(name), + 'type': serializer.toJson(type), + 'format': serializer.toJson(format), + 'title': serializer.toJson(title), + 'content': serializer.toJson(content), + 'abstract': serializer.toJson(abstract), + 'tags': serializer.toJson(tags), + 'location': serializer.toJson(location), + 'weather': serializer.toJson(weather), + 'mood': serializer.toJson(mood), + 'encryption_type': serializer.toJson(encryptionType), + 'encryption_arguments': serializer.toJson(encryptionArguments), 'create_time': serializer.toJson(createTime), 'last_update_time': serializer.toJson(lastUpdateTime), + 'category_id': serializer.toJson(categoryId), }; } - CategoryEntity copyWith( + NoteEntity copyWith( {int? id, - String? name, + int? type, + int? format, + String? title, + String? content, + Value abstract = const Value.absent(), + Value tags = const Value.absent(), + Value location = const Value.absent(), + Value weather = const Value.absent(), + Value mood = const Value.absent(), + int? encryptionType, + Value encryptionArguments = const Value.absent(), String? createTime, - String? lastUpdateTime}) => - CategoryEntity( + String? lastUpdateTime, + Value categoryId = const Value.absent()}) => + NoteEntity( id: id ?? this.id, - name: name ?? this.name, + type: type ?? this.type, + format: format ?? this.format, + title: title ?? this.title, + content: content ?? this.content, + abstract: abstract.present ? abstract.value : this.abstract, + tags: tags.present ? tags.value : this.tags, + location: location.present ? location.value : this.location, + weather: weather.present ? weather.value : this.weather, + mood: mood.present ? mood.value : this.mood, + encryptionType: encryptionType ?? this.encryptionType, + encryptionArguments: encryptionArguments.present + ? encryptionArguments.value + : this.encryptionArguments, createTime: createTime ?? this.createTime, lastUpdateTime: lastUpdateTime ?? this.lastUpdateTime, + categoryId: categoryId.present ? categoryId.value : this.categoryId, ); @override String toString() { - return (StringBuffer('CategoryEntity(') + return (StringBuffer('NoteEntity(') ..write('id: $id, ') - ..write('name: $name, ') + ..write('type: $type, ') + ..write('format: $format, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('abstract: $abstract, ') + ..write('tags: $tags, ') + ..write('location: $location, ') + ..write('weather: $weather, ') + ..write('mood: $mood, ') + ..write('encryptionType: $encryptionType, ') + ..write('encryptionArguments: $encryptionArguments, ') ..write('createTime: $createTime, ') - ..write('lastUpdateTime: $lastUpdateTime') + ..write('lastUpdateTime: $lastUpdateTime, ') + ..write('categoryId: $categoryId') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, name, createTime, lastUpdateTime); + int get hashCode => Object.hash( + id, + type, + format, + title, + content, + abstract, + tags, + location, + weather, + mood, + encryptionType, + encryptionArguments, + createTime, + lastUpdateTime, + categoryId); @override bool operator ==(Object other) => identical(this, other) || - (other is CategoryEntity && + (other is NoteEntity && other.id == this.id && - other.name == this.name && + other.type == this.type && + other.format == this.format && + other.title == this.title && + other.content == this.content && + other.abstract == this.abstract && + other.tags == this.tags && + other.location == this.location && + other.weather == this.weather && + other.mood == this.mood && + other.encryptionType == this.encryptionType && + other.encryptionArguments == this.encryptionArguments && other.createTime == this.createTime && - other.lastUpdateTime == this.lastUpdateTime); + other.lastUpdateTime == this.lastUpdateTime && + other.categoryId == this.categoryId); } -class CategoriesCompanion extends UpdateCompanion { +class NotesCompanion extends UpdateCompanion { final Value id; - final Value name; + final Value type; + final Value format; + final Value title; + final Value content; + final Value abstract; + final Value tags; + final Value location; + final Value weather; + final Value mood; + final Value encryptionType; + final Value encryptionArguments; final Value createTime; final Value lastUpdateTime; - const CategoriesCompanion({ + final Value categoryId; + const NotesCompanion({ this.id = const Value.absent(), - this.name = const Value.absent(), + this.type = const Value.absent(), + this.format = const Value.absent(), + this.title = const Value.absent(), + this.content = const Value.absent(), + this.abstract = const Value.absent(), + this.tags = const Value.absent(), + this.location = const Value.absent(), + this.weather = const Value.absent(), + this.mood = const Value.absent(), + this.encryptionType = const Value.absent(), + this.encryptionArguments = const Value.absent(), this.createTime = const Value.absent(), this.lastUpdateTime = const Value.absent(), + this.categoryId = const Value.absent(), }); - CategoriesCompanion.insert({ + NotesCompanion.insert({ this.id = const Value.absent(), - required String name, + required int type, + required int format, + required String title, + required String content, + this.abstract = const Value.absent(), + this.tags = const Value.absent(), + this.location = const Value.absent(), + this.weather = const Value.absent(), + this.mood = const Value.absent(), + required int encryptionType, + this.encryptionArguments = const Value.absent(), required String createTime, required String lastUpdateTime, - }) : name = Value(name), + this.categoryId = const Value.absent(), + }) : type = Value(type), + format = Value(format), + title = Value(title), + content = Value(content), + encryptionType = Value(encryptionType), createTime = Value(createTime), lastUpdateTime = Value(lastUpdateTime); - static Insertable custom({ + static Insertable custom({ Expression? id, - Expression? name, + Expression? type, + Expression? format, + Expression? title, + Expression? content, + Expression? abstract, + Expression? tags, + Expression? location, + Expression? weather, + Expression? mood, + Expression? encryptionType, + Expression? encryptionArguments, Expression? createTime, Expression? lastUpdateTime, + Expression? categoryId, }) { return RawValuesInsertable({ if (id != null) 'id': id, - if (name != null) 'name': name, + if (type != null) 'type': type, + if (format != null) 'format': format, + if (title != null) 'title': title, + if (content != null) 'content': content, + if (abstract != null) 'abstract': abstract, + if (tags != null) 'tags': tags, + if (location != null) 'location': location, + if (weather != null) 'weather': weather, + if (mood != null) 'mood': mood, + if (encryptionType != null) 'encryption_type': encryptionType, + if (encryptionArguments != null) + 'encryption_arguments': encryptionArguments, if (createTime != null) 'create_time': createTime, if (lastUpdateTime != null) 'last_update_time': lastUpdateTime, + if (categoryId != null) 'category_id': categoryId, }); } - CategoriesCompanion copyWith( + NotesCompanion copyWith( {Value? id, - Value? name, + Value? type, + Value? format, + Value? title, + Value? content, + Value? abstract, + Value? tags, + Value? location, + Value? weather, + Value? mood, + Value? encryptionType, + Value? encryptionArguments, Value? createTime, - Value? lastUpdateTime}) { - return CategoriesCompanion( + Value? lastUpdateTime, + Value? categoryId}) { + return NotesCompanion( id: id ?? this.id, - name: name ?? this.name, + type: type ?? this.type, + format: format ?? this.format, + title: title ?? this.title, + content: content ?? this.content, + abstract: abstract ?? this.abstract, + tags: tags ?? this.tags, + location: location ?? this.location, + weather: weather ?? this.weather, + mood: mood ?? this.mood, + encryptionType: encryptionType ?? this.encryptionType, + encryptionArguments: encryptionArguments ?? this.encryptionArguments, createTime: createTime ?? this.createTime, lastUpdateTime: lastUpdateTime ?? this.lastUpdateTime, + categoryId: categoryId ?? this.categoryId, ); } @@ -860,8 +992,38 @@ class CategoriesCompanion extends UpdateCompanion { if (id.present) { map['id'] = Variable(id.value); } - if (name.present) { - map['name'] = Variable(name.value); + if (type.present) { + map['type'] = Variable(type.value); + } + if (format.present) { + map['format'] = Variable(format.value); + } + if (title.present) { + map['title'] = Variable(title.value); + } + if (content.present) { + map['content'] = Variable(content.value); + } + if (abstract.present) { + map['abstract'] = Variable(abstract.value); + } + if (tags.present) { + map['tags'] = Variable(tags.value); + } + if (location.present) { + map['location'] = Variable(location.value); + } + if (weather.present) { + map['weather'] = Variable(weather.value); + } + if (mood.present) { + map['mood'] = Variable(mood.value); + } + if (encryptionType.present) { + map['encryption_type'] = Variable(encryptionType.value); + } + if (encryptionArguments.present) { + map['encryption_arguments'] = Variable(encryptionArguments.value); } if (createTime.present) { map['create_time'] = Variable(createTime.value); @@ -869,16 +1031,30 @@ class CategoriesCompanion extends UpdateCompanion { if (lastUpdateTime.present) { map['last_update_time'] = Variable(lastUpdateTime.value); } + if (categoryId.present) { + map['category_id'] = Variable(categoryId.value); + } return map; } @override String toString() { - return (StringBuffer('CategoriesCompanion(') + return (StringBuffer('NotesCompanion(') ..write('id: $id, ') - ..write('name: $name, ') + ..write('type: $type, ') + ..write('format: $format, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('abstract: $abstract, ') + ..write('tags: $tags, ') + ..write('location: $location, ') + ..write('weather: $weather, ') + ..write('mood: $mood, ') + ..write('encryptionType: $encryptionType, ') + ..write('encryptionArguments: $encryptionArguments, ') ..write('createTime: $createTime, ') - ..write('lastUpdateTime: $lastUpdateTime') + ..write('lastUpdateTime: $lastUpdateTime, ') + ..write('categoryId: $categoryId') ..write(')')) .toString(); } @@ -2886,8 +3062,8 @@ class PasswordsCompanion extends UpdateCompanion { abstract class _$AppDb extends GeneratedDatabase { _$AppDb(QueryExecutor e) : super(e); - late final Notes notes = Notes(this); late final Categories categories = Categories(this); + late final Notes notes = Notes(this); late final Files files = Files(this); late final NoteFiles noteFiles = NoteFiles(this); late final Checklists checklists = Checklists(this); @@ -2898,8 +3074,8 @@ abstract class _$AppDb extends GeneratedDatabase { allSchemaEntities.whereType>(); @override List get allSchemaEntities => [ - notes, categories, + notes, files, noteFiles, checklists, diff --git a/editing/lib/database/tables.drift b/editing/lib/database/tables.drift index 5fce369..4aa2b01 100644 --- a/editing/lib/database/tables.drift +++ b/editing/lib/database/tables.drift @@ -4,6 +4,7 @@ CREATE TABLE notes ( format INTEGER NOT NULL, title TEXT NOT NULL, content TEXT NOT NULL, + abstract TEXT, tags TEXT, location TEXT, weather TEXT, @@ -11,12 +12,16 @@ CREATE TABLE notes ( encryption_type INTEGER NOT NULL, encryption_arguments TEXT, create_time TEXT NOT NULL, - last_update_time TEXT NOT NULL + last_update_time TEXT NOT NULL, + category_id INTEGER, + FOREIGN KEY(category_id) REFERENCES categories(id) ) As NoteEntity; CREATE TABLE categories ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, + encryption_type INTEGER NOT NULL, + encryption_arguments TEXT, create_time TEXT NOT NULL, last_update_time TEXT NOT NULL ) As CategoryEntity; diff --git a/editing/lib/ui/journal_edit_screen.dart b/editing/lib/ui/journal_edit_screen.dart index c9da609..f3903cd 100644 --- a/editing/lib/ui/journal_edit_screen.dart +++ b/editing/lib/ui/journal_edit_screen.dart @@ -2,6 +2,7 @@ import 'package:editing/database/database.dart'; import 'package:editing/store/note_list.dart'; import 'package:flutter/material.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; +import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:kdbx/kdbx.dart'; import 'package:logger/logger.dart'; @@ -18,6 +19,24 @@ class JournalEditScreen extends StatefulWidget { } class _JournalEditScreenState extends State { + final _controller = QuillController.basic(); + final _editorFocusNode = FocusNode(); + final _editorScrollController = ScrollController(); + var _isReadOnly = false; + + @override + void initState() { + super.initState(); + } + + @override + void dispose() { + _controller.dispose(); + _editorFocusNode.dispose(); + _editorScrollController.dispose(); + super.dispose(); + } + @override Widget build(BuildContext context) { AppStore _appStore = Provider.of(context); @@ -30,6 +49,8 @@ class _JournalEditScreenState extends State { icon: const Icon(Icons.check_outlined), tooltip: 'Save', onPressed: () async { + final data = _controller.document.toDelta().toJson(); + print(data); await _noteStore.insert(); if (context.mounted) { Navigator.of(context).pop(); @@ -40,17 +61,20 @@ class _JournalEditScreenState extends State { ), body: Column( children: [ + QuillToolbar.simple( + configurations: QuillSimpleToolbarConfigurations( + toolbarIconAlignment: WrapAlignment.start, + controller: _controller, + sharedConfigurations: const QuillSharedConfigurations( + locale: Locale('en'), + ), + ), + ), Expanded( - child: Padding( - padding: const EdgeInsets.all(15.0), - child: TextField( - style: const TextStyle(color: Colors.grey), - expands: true, - autofocus: true, - keyboardType: TextInputType.multiline, - maxLines: null, - maxLength: 1024, - decoration: InputDecoration.collapsed(hintText: '在这里输入文字'), + child: QuillEditor.basic( + configurations: QuillEditorConfigurations( + controller: _controller, + readOnly: _isReadOnly, ), ), ), diff --git a/editing/linux/flutter/generated_plugin_registrant.cc b/editing/linux/flutter/generated_plugin_registrant.cc index f77b5d0..23e0fdd 100644 --- a/editing/linux/flutter/generated_plugin_registrant.cc +++ b/editing/linux/flutter/generated_plugin_registrant.cc @@ -6,17 +6,29 @@ #include "generated_plugin_registrant.h" +#include #include #include +#include +#include #include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) irondash_engine_context_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "IrondashEngineContextPlugin"); + irondash_engine_context_plugin_register_with_registrar(irondash_engine_context_registrar); g_autoptr(FlPluginRegistrar) screen_retriever_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverPlugin"); screen_retriever_plugin_register_with_registrar(screen_retriever_registrar); g_autoptr(FlPluginRegistrar) sqlcipher_flutter_libs_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); sqlite3_flutter_libs_plugin_register_with_registrar(sqlcipher_flutter_libs_registrar); + g_autoptr(FlPluginRegistrar) super_native_extensions_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "SuperNativeExtensionsPlugin"); + super_native_extensions_plugin_register_with_registrar(super_native_extensions_registrar); + g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); + url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); g_autoptr(FlPluginRegistrar) window_manager_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "WindowManagerPlugin"); window_manager_plugin_register_with_registrar(window_manager_registrar); diff --git a/editing/linux/flutter/generated_plugins.cmake b/editing/linux/flutter/generated_plugins.cmake index b0396a6..98b0c19 100644 --- a/editing/linux/flutter/generated_plugins.cmake +++ b/editing/linux/flutter/generated_plugins.cmake @@ -3,8 +3,11 @@ # list(APPEND FLUTTER_PLUGIN_LIST + irondash_engine_context screen_retriever sqlcipher_flutter_libs + super_native_extensions + url_launcher_linux window_manager ) diff --git a/editing/macos/Flutter/GeneratedPluginRegistrant.swift b/editing/macos/Flutter/GeneratedPluginRegistrant.swift index 4727bbe..e53b492 100644 --- a/editing/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/editing/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,16 +5,24 @@ import FlutterMacOS import Foundation +import device_info_plus +import irondash_engine_context import path_provider_foundation import rive_common import screen_retriever import sqlcipher_flutter_libs +import super_native_extensions +import url_launcher_macos import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) + IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin")) ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin")) Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) + SuperNativeExtensionsPlugin.register(with: registry.registrar(forPlugin: "SuperNativeExtensionsPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin")) } diff --git a/editing/macos/Podfile.lock b/editing/macos/Podfile.lock index b713b8d..01bd3ae 100644 --- a/editing/macos/Podfile.lock +++ b/editing/macos/Podfile.lock @@ -1,5 +1,9 @@ PODS: + - device_info_plus (0.0.1): + - FlutterMacOS - FlutterMacOS (1.0.0) + - irondash_engine_context (0.0.1): + - FlutterMacOS - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS @@ -15,15 +19,23 @@ PODS: - sqlcipher_flutter_libs (0.0.1): - FlutterMacOS - SQLCipher (~> 4.5.6) + - super_native_extensions (0.0.1): + - FlutterMacOS + - url_launcher_macos (0.0.1): + - FlutterMacOS - window_manager (0.2.0): - FlutterMacOS DEPENDENCIES: + - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) - FlutterMacOS (from `Flutter/ephemeral`) + - irondash_engine_context (from `Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - rive_common (from `Flutter/ephemeral/.symlinks/plugins/rive_common/macos`) - screen_retriever (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos`) - sqlcipher_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlcipher_flutter_libs/macos`) + - super_native_extensions (from `Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos`) + - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`) SPEC REPOS: @@ -31,8 +43,12 @@ SPEC REPOS: - SQLCipher EXTERNAL SOURCES: + device_info_plus: + :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos FlutterMacOS: :path: Flutter/ephemeral + irondash_engine_context: + :path: Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos path_provider_foundation: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin rive_common: @@ -41,16 +57,24 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos sqlcipher_flutter_libs: :path: Flutter/ephemeral/.symlinks/plugins/sqlcipher_flutter_libs/macos + super_native_extensions: + :path: Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos + url_launcher_macos: + :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos window_manager: :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos SPEC CHECKSUMS: + device_info_plus: ce1b7762849d3ec103d0e0517299f2db7ad60720 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + irondash_engine_context: da62996ee25616d2f01bbeb85dc115d813359478 path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c rive_common: acedcab7802c0ece4b0d838b71d7deb637e1309a screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38 SQLCipher: 838309284f29953a28ad2e81d87d55ea6b7c74fd sqlcipher_flutter_libs: eba6362bc0c24c4db90855bc06507ab25093f6d7 + super_native_extensions: 85efee3a7495b46b04befcfc86ed12069264ebf3 + url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8 PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 diff --git a/editing/pubspec.lock b/editing/pubspec.lock index 7f6807a..bed4104 100644 --- a/editing/pubspec.lock +++ b/editing/pubspec.lock @@ -6,7 +6,7 @@ packages: description: name: _fe_analyzer_shared sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "67.0.0" analyzer: @@ -14,7 +14,7 @@ packages: description: name: analyzer sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "6.4.1" analyzer_plugin: @@ -22,7 +22,7 @@ packages: description: name: analyzer_plugin sha256: "9661b30b13a685efaee9f02e5d01ed9f2b423bd889d28a304d02d704aee69161" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.11.3" archive: @@ -30,7 +30,7 @@ packages: description: name: archive sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.4.10" args: @@ -38,7 +38,7 @@ packages: description: name: args sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.4.2" async: @@ -46,7 +46,7 @@ packages: description: name: async sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.11.0" boolean_selector: @@ -54,7 +54,7 @@ packages: description: name: boolean_selector sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" build: @@ -62,7 +62,7 @@ packages: description: name: build sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.4.1" build_config: @@ -70,7 +70,7 @@ packages: description: name: build_config sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.1" build_daemon: @@ -78,7 +78,7 @@ packages: description: name: build_daemon sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.0.1" build_resolvers: @@ -86,23 +86,23 @@ packages: description: name: build_resolvers sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" - url: "https://pub.dev" + sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.8" + version: "2.4.9" build_runner_core: dependency: transitive description: name: build_runner_core sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "7.3.0" built_collection: @@ -110,7 +110,7 @@ packages: description: name: built_collection sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "5.1.1" built_value: @@ -118,7 +118,7 @@ packages: description: name: built_value sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "8.9.1" characters: @@ -126,7 +126,7 @@ packages: description: name: characters sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.0" charcode: @@ -134,7 +134,7 @@ packages: description: name: charcode sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.1" checked_yaml: @@ -142,7 +142,7 @@ packages: description: name: checked_yaml sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.3" cli_util: @@ -150,7 +150,7 @@ packages: description: name: cli_util sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.1" clock: @@ -158,7 +158,7 @@ packages: description: name: clock sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.1" code_builder: @@ -166,7 +166,7 @@ packages: description: name: code_builder sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.10.0" collection: @@ -174,7 +174,7 @@ packages: description: name: collection sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.18.0" convert: @@ -182,7 +182,7 @@ packages: description: name: convert sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.1" crypto: @@ -190,7 +190,7 @@ packages: description: name: crypto sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.3" csslib: @@ -198,7 +198,7 @@ packages: description: name: csslib sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.17.3" cupertino_icons: @@ -206,31 +206,63 @@ packages: description: name: cupertino_icons sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.6" + dart_quill_delta: + dependency: transitive + description: + name: dart_quill_delta + sha256: fe4266508934a4225ede90347a377636eea8bbee8b4a17a17e4bdd8bb9edd3ed + url: "https://pub.flutter-io.cn" + source: hosted + version: "9.3.5" dart_style: dependency: transitive description: name: dart_style sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.6" + device_info_plus: + dependency: transitive + description: + name: device_info_plus + sha256: "50fb435ed30c6d2525cbfaaa0f46851ea6131315f213c0d921b0e407b34e3b84" + url: "https://pub.flutter-io.cn" + source: hosted + version: "10.0.1" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + url: "https://pub.flutter-io.cn" + source: hosted + version: "7.0.0" + diff_match_patch: + dependency: transitive + description: + name: diff_match_patch + sha256: "2efc9e6e8f449d0abe15be240e2c2a3bcd977c8d126cfd70598aee60af35c0a4" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.4.1" dio: dependency: transitive description: name: dio - sha256: "50fec96118958b97c727d0d8f67255d3683f16cc1f90d9bc917b5d4fe3abeca9" - url: "https://pub.dev" + sha256: "0978e9a3e45305a80a7210dbeaf79d6ee8bee33f70c8e542dc654c952070217f" + url: "https://pub.flutter-io.cn" source: hosted - version: "5.4.2" + version: "5.4.2+1" dots_indicator: dependency: transitive description: name: dots_indicator sha256: f1599baa429936ba87f06ae5f2adc920a367b16d08f74db58c3d0f6e93bcdb5c - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" drift: @@ -238,7 +270,7 @@ packages: description: name: drift sha256: "3b276c838ff7f8e19aac18a51f9b388715268f3534eaaf8047c8455ef3c1738d" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.16.0" drift_dev: @@ -246,7 +278,7 @@ packages: description: name: drift_dev sha256: "66cf3e397448f855523d7b6b7b3789db232b211db96543a42285464d05f3bf72" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.16.0" equatable: @@ -254,7 +286,7 @@ packages: description: name: equatable sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.5" fake_async: @@ -262,7 +294,7 @@ packages: description: name: fake_async sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.1" ffi: @@ -270,7 +302,7 @@ packages: description: name: ffi sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" file: @@ -278,7 +310,7 @@ packages: description: name: file sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "7.0.0" fixnum: @@ -286,7 +318,7 @@ packages: description: name: fixnum sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" fl_chart: @@ -294,7 +326,7 @@ packages: description: name: fl_chart sha256: "00b74ae680df6b1135bdbea00a7d1fc072a9180b7c3f3702e4b19a9943f5ed7d" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.66.2" flutter: @@ -302,6 +334,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_colorpicker: + dependency: transitive + description: + name: flutter_colorpicker + sha256: "458a6ed8ea480eb16ff892aedb4b7092b2804affd7e046591fb03127e8d8ef8b" + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.3" flutter_driver: dependency: transitive description: flutter @@ -312,7 +352,7 @@ packages: description: name: flutter_heatmap_calendar sha256: "0933071844cd604b938e38358984244292ba1ba8f4b4b6f0f091f5927a23e958" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.5" flutter_html: @@ -320,7 +360,7 @@ packages: description: name: flutter_html sha256: "02ad69e813ecfc0728a455e4bf892b9379983e050722b1dce00192ee2e41d1ee" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.0-beta.2" flutter_keyboard_visibility: @@ -328,7 +368,7 @@ packages: description: name: flutter_keyboard_visibility sha256: "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "6.0.0" flutter_keyboard_visibility_linux: @@ -336,7 +376,7 @@ packages: description: name: flutter_keyboard_visibility_linux sha256: "6fba7cd9bb033b6ddd8c2beb4c99ad02d728f1e6e6d9b9446667398b2ac39f08" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" flutter_keyboard_visibility_macos: @@ -344,7 +384,7 @@ packages: description: name: flutter_keyboard_visibility_macos sha256: c5c49b16fff453dfdafdc16f26bdd8fb8d55812a1d50b0ce25fc8d9f2e53d086 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" flutter_keyboard_visibility_platform_interface: @@ -352,7 +392,7 @@ packages: description: name: flutter_keyboard_visibility_platform_interface sha256: e43a89845873f7be10cb3884345ceb9aebf00a659f479d1c8f4293fcb37022a4 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" flutter_keyboard_visibility_web: @@ -360,7 +400,7 @@ packages: description: name: flutter_keyboard_visibility_web sha256: d3771a2e752880c79203f8d80658401d0c998e4183edca05a149f5098ce6e3d1 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" flutter_keyboard_visibility_windows: @@ -368,7 +408,7 @@ packages: description: name: flutter_keyboard_visibility_windows sha256: fc4b0f0b6be9b93ae527f3d527fb56ee2d918cd88bbca438c478af7bcfd0ef73 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" flutter_lints: @@ -376,7 +416,7 @@ packages: description: name: flutter_lints sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.2" flutter_localizations: @@ -388,16 +428,24 @@ packages: dependency: "direct main" description: name: flutter_mobx - sha256: "4a5d062ff85ed3759f4aac6410ff0ffae32e324b2e71ca722ae1b37b32e865f4" - url: "https://pub.dev" + sha256: "859fbf452fa9c2519d2700b125dd7fb14c508bbdd7fb65e26ca8ff6c92280e2e" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.0+2" + version: "2.2.1+1" + flutter_quill: + dependency: "direct main" + description: + name: flutter_quill + sha256: f8bfe2cfcace3a5b7bc2a40d1a9feb3fefb999ddf88a612d4bb5997ce052e7f3 + url: "https://pub.flutter-io.cn" + source: hosted + version: "9.3.5" flutter_svg: dependency: "direct main" description: name: flutter_svg sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.10+1" flutter_test: @@ -414,10 +462,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.flutter-io.cn" source: hosted - version: "3.2.0" + version: "4.0.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -428,7 +476,7 @@ packages: description: name: glob sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" graphs: @@ -436,7 +484,7 @@ packages: description: name: graphs sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.1" html: @@ -444,15 +492,23 @@ packages: description: name: html sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.15.4" + html2md: + dependency: transitive + description: + name: html2md + sha256: "6f50cec926b0a09816aadb66a59e4cda45c91fd00551e5a8298870069729b508" + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.3.1" http: dependency: transitive description: name: http sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.1" http_multi_server: @@ -460,7 +516,7 @@ packages: description: name: http_multi_server sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.2.1" http_parser: @@ -468,7 +524,7 @@ packages: description: name: http_parser sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.0.2" integration_test: @@ -481,7 +537,7 @@ packages: description: name: intl sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.18.1" introduction_screen: @@ -489,7 +545,7 @@ packages: description: name: introduction_screen sha256: "325f26e86fa3c3e86e6ab2bbc1fda860c9e6eae5ff29166fc2a3cab8f710d5b5" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.14" io: @@ -497,15 +553,31 @@ packages: description: name: io sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" + irondash_engine_context: + dependency: transitive + description: + name: irondash_engine_context + sha256: "4f5e2629296430cce08cdff42e47cef07b8f74a64fdbdfb0525d147bc1a969a2" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.5.2" + irondash_message_channel: + dependency: transitive + description: + name: irondash_message_channel + sha256: dd581214215dca054bd9873209d690ec3609288c28774cb509dbd86b21180cf8 + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.6.0" isolates: dependency: transitive description: name: isolates sha256: ce89e4141b27b877326d3715be2dceac7a7ba89f3229785816d2d318a75ddf28 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.3+8" js: @@ -513,7 +585,7 @@ packages: description: name: js sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.7" json_annotation: @@ -521,7 +593,7 @@ packages: description: name: json_annotation sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.8.1" kdbx: @@ -536,7 +608,7 @@ packages: description: name: l10n_flutter sha256: dbff1d3a97837c8d9095239b2b0014608d30723d28cfb6f97074d96d8f0fdd8e - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.7" leak_tracker: @@ -544,7 +616,7 @@ packages: description: name: leak_tracker sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "10.0.0" leak_tracker_flutter_testing: @@ -552,7 +624,7 @@ packages: description: name: leak_tracker_flutter_testing sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1" leak_tracker_testing: @@ -560,7 +632,7 @@ packages: description: name: leak_tracker_testing sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1" lints: @@ -568,7 +640,7 @@ packages: description: name: lints sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.0" list_counter: @@ -576,7 +648,7 @@ packages: description: name: list_counter sha256: c447ae3dfcd1c55f0152867090e67e219d42fe6d4f2807db4bbe8b8d69912237 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.2" logger: @@ -584,7 +656,7 @@ packages: description: name: logger sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.0" logging: @@ -592,7 +664,7 @@ packages: description: name: logging sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" logging_appenders: @@ -600,15 +672,23 @@ packages: description: name: logging_appenders sha256: "1fb8a008c04246f4677a0d034d69779a5975e56e02573a5162240239b247e239" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0+1" + markdown: + dependency: transitive + description: + name: markdown + sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 + url: "https://pub.flutter-io.cn" + source: hosted + version: "7.2.2" matcher: dependency: transitive description: name: matcher sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.12.16+1" material_color_utilities: @@ -616,7 +696,7 @@ packages: description: name: material_color_utilities sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.8.0" meta: @@ -624,7 +704,7 @@ packages: description: name: meta sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.11.0" mime: @@ -632,31 +712,31 @@ packages: description: name: mime sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.5" mobx: dependency: "direct main" description: name: mobx - sha256: "9812e6e8f738c2c9fb5849801681d8a8d4b2d72b72b0141048009a7e4b7a21a4" - url: "https://pub.dev" + sha256: "22f8318756329cc2cf4981f6c3f36fc8a61b2846315caa3d6141cf526ecb4fb8" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.1" + version: "2.3.3+1" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: b26c7f9c20b38f0ea572c1ed3f29d8e027cb265538bbd1aed3ec198642cfca42 - url: "https://pub.dev" + sha256: "8e0d8653a0c720ad933cd8358f6f89f740ce89203657c13f25bea772ef1fff7c" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.6.0+1" + version: "2.6.1" nested: dependency: transitive description: name: nested sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" package_config: @@ -664,7 +744,7 @@ packages: description: name: package_config sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" path: @@ -672,7 +752,7 @@ packages: description: name: path sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.9.0" path_parsing: @@ -680,7 +760,7 @@ packages: description: name: path_parsing sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.1" path_provider: @@ -688,7 +768,7 @@ packages: description: name: path_provider sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" path_provider_android: @@ -696,7 +776,7 @@ packages: description: name: path_provider_android sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.2" path_provider_foundation: @@ -704,7 +784,7 @@ packages: description: name: path_provider_foundation sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.2" path_provider_linux: @@ -712,7 +792,7 @@ packages: description: name: path_provider_linux sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.1" path_provider_platform_interface: @@ -720,7 +800,7 @@ packages: description: name: path_provider_platform_interface sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" path_provider_windows: @@ -728,7 +808,7 @@ packages: description: name: path_provider_windows sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.1" petitparser: @@ -736,15 +816,23 @@ packages: description: name: petitparser sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "6.0.2" + pixel_snap: + dependency: transitive + description: + name: pixel_snap + sha256: "677410ea37b07cd37ecb6d5e6c0d8d7615a7cf3bd92ba406fd1ac57e937d1fb0" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.1.5" platform: dependency: transitive description: name: platform sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.4" plugin_platform_interface: @@ -752,7 +840,7 @@ packages: description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.8" pointycastle: @@ -760,7 +848,7 @@ packages: description: name: pointycastle sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.7.4" pool: @@ -768,7 +856,7 @@ packages: description: name: pool sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.5.1" process: @@ -776,7 +864,7 @@ packages: description: name: process sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "5.0.2" provider: @@ -784,7 +872,7 @@ packages: description: name: provider sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "6.1.2" pub_semver: @@ -792,7 +880,7 @@ packages: description: name: pub_semver sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.4" pubspec_parse: @@ -800,7 +888,7 @@ packages: description: name: pubspec_parse sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.3" quiver: @@ -808,7 +896,7 @@ packages: description: name: quiver sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.2.1" recase: @@ -816,7 +904,7 @@ packages: description: name: recase sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.1.0" rive: @@ -824,7 +912,7 @@ packages: description: name: rive sha256: "166019487e8bfa6525d4537bfd494deb4f306e32f97a7f50ff452b44ab6b72ea" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.11.11" rive_common: @@ -832,7 +920,7 @@ packages: description: name: rive_common sha256: "83af8b500ad4d23930397229c7ed520e266eb851690a8621afa6cbd782aeac87" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.3" screen_retriever: @@ -840,7 +928,7 @@ packages: description: name: screen_retriever sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.9" shelf: @@ -848,7 +936,7 @@ packages: description: name: shelf sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.4.1" shelf_web_socket: @@ -856,7 +944,7 @@ packages: description: name: shelf_web_socket sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" sky_engine: @@ -869,7 +957,7 @@ packages: description: name: source_gen sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.5.0" source_span: @@ -877,7 +965,7 @@ packages: description: name: source_span sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.10.0" sprintf: @@ -885,7 +973,7 @@ packages: description: name: sprintf sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "7.0.0" sqlcipher_flutter_libs: @@ -893,7 +981,7 @@ packages: description: name: sqlcipher_flutter_libs sha256: "60fe3444ff5b1b298a9ca3003c6c7f1f7ee4c90aa6035a8647f3aeaf05a073e2" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.1" sqlite3: @@ -901,7 +989,7 @@ packages: description: name: sqlite3 sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.4.0" sqlparser: @@ -909,7 +997,7 @@ packages: description: name: sqlparser sha256: "7b20045d1ccfb7bc1df7e8f9fee5ae58673fce6ff62cefbb0e0fd7214e90e5a0" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.34.1" stack_trace: @@ -917,7 +1005,7 @@ packages: description: name: stack_trace sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.11.1" stream_channel: @@ -925,7 +1013,7 @@ packages: description: name: stream_channel sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" stream_transform: @@ -933,7 +1021,7 @@ packages: description: name: stream_transform sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" string_scanner: @@ -941,15 +1029,31 @@ packages: description: name: string_scanner sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" + super_clipboard: + dependency: transitive + description: + name: super_clipboard + sha256: "42348119cac72f334c33866515a3bc84350aaf72e5d977f1abd35ab44e529dfc" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.8.10" + super_native_extensions: + dependency: transitive + description: + name: super_native_extensions + sha256: abd3b8cb479ca685132472202c70cc11ebb8f4242080f290130d1377bab7cbc1 + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.8.10" supercharged_dart: dependency: transitive description: name: supercharged_dart sha256: cb95edda32eacd27664089700a750120be41daa84aa6cd2aeded46227c16b867 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" sync_http: @@ -957,7 +1061,7 @@ packages: description: name: sync_http sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.3.1" synchronized: @@ -965,7 +1069,7 @@ packages: description: name: synchronized sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.0+1" term_glyph: @@ -973,7 +1077,7 @@ packages: description: name: term_glyph sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.1" test_api: @@ -981,7 +1085,7 @@ packages: description: name: test_api sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.1" timing: @@ -989,7 +1093,7 @@ packages: description: name: timing sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.1" typed_data: @@ -997,15 +1101,79 @@ packages: description: name: typed_data sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.2" + url_launcher: + dependency: transitive + description: + name: url_launcher + sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.2.5" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.3.0" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.2.5" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.1.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.1.0" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.3.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.3.0" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.1.1" uuid: dependency: "direct main" description: name: uuid sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.3.3" vector_graphics: @@ -1013,7 +1181,7 @@ packages: description: name: vector_graphics sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.11+1" vector_graphics_codec: @@ -1021,7 +1189,7 @@ packages: description: name: vector_graphics_codec sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.11+1" vector_graphics_compiler: @@ -1029,7 +1197,7 @@ packages: description: name: vector_graphics_compiler sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.11+1" vector_math: @@ -1037,7 +1205,7 @@ packages: description: name: vector_math sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.4" vm_service: @@ -1045,7 +1213,7 @@ packages: description: name: vm_service sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "13.0.0" watcher: @@ -1053,7 +1221,7 @@ packages: description: name: watcher sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" web: @@ -1061,7 +1229,7 @@ packages: description: name: web sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.5.1" web_socket_channel: @@ -1069,7 +1237,7 @@ packages: description: name: web_socket_channel sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.4.4" webdriver: @@ -1077,7 +1245,7 @@ packages: description: name: webdriver sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.3" win32: @@ -1085,15 +1253,23 @@ packages: description: name: win32 sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "5.3.0" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a" + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.1.2" window_manager: dependency: "direct main" description: name: window_manager sha256: b3c895bdf936c77b83c5254bec2e6b3f066710c1f89c38b20b8acc382b525494 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "0.3.8" xdg_directories: @@ -1101,7 +1277,7 @@ packages: description: name: xdg_directories sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" xml: @@ -1109,7 +1285,7 @@ packages: description: name: xml sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "6.5.0" yaml: @@ -1117,9 +1293,9 @@ packages: description: name: yaml sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.2" sdks: dart: ">=3.3.0 <4.0.0" - flutter: ">=3.16.0" + flutter: ">=3.19.0" diff --git a/editing/pubspec.yaml b/editing/pubspec.yaml index 21cf947..f651d5b 100644 --- a/editing/pubspec.yaml +++ b/editing/pubspec.yaml @@ -61,6 +61,7 @@ dependencies: pointycastle: ^3.7.4 rive: 0.11.11 window_manager: ^0.3.8 + flutter_quill: ^9.3.5 dev_dependencies: flutter_test: sdk: flutter diff --git a/editing/windows/flutter/generated_plugin_registrant.cc b/editing/windows/flutter/generated_plugin_registrant.cc index d591812..cd61222 100644 --- a/editing/windows/flutter/generated_plugin_registrant.cc +++ b/editing/windows/flutter/generated_plugin_registrant.cc @@ -6,18 +6,27 @@ #include "generated_plugin_registrant.h" +#include #include #include #include +#include +#include #include void RegisterPlugins(flutter::PluginRegistry* registry) { + IrondashEngineContextPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("IrondashEngineContextPluginCApi")); RivePluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("RivePlugin")); ScreenRetrieverPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ScreenRetrieverPlugin")); Sqlite3FlutterLibsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); + SuperNativeExtensionsPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("SuperNativeExtensionsPluginCApi")); + UrlLauncherWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UrlLauncherWindows")); WindowManagerPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("WindowManagerPlugin")); } diff --git a/editing/windows/flutter/generated_plugins.cmake b/editing/windows/flutter/generated_plugins.cmake index 3aa3991..4efc4e4 100644 --- a/editing/windows/flutter/generated_plugins.cmake +++ b/editing/windows/flutter/generated_plugins.cmake @@ -3,9 +3,12 @@ # list(APPEND FLUTTER_PLUGIN_LIST + irondash_engine_context rive_common screen_retriever sqlcipher_flutter_libs + super_native_extensions + url_launcher_windows window_manager )