feat: add default scheme to local manager.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
export 'local_schemes_web.dart' if (dart.library.io) 'local_schemes_linux.dart';
|
|
||||||
|
|
||||||
import 'package:dde_gesture_manager/models/scheme.dart';
|
import 'package:dde_gesture_manager/models/scheme.dart';
|
||||||
|
|
||||||
|
export 'local_schemes_web.dart' if (dart.library.io) 'local_schemes_linux.dart';
|
||||||
|
|
||||||
abstract class LocalSchemeEntry {
|
abstract class LocalSchemeEntry {
|
||||||
Scheme scheme;
|
Scheme scheme;
|
||||||
DateTime lastModifyTime;
|
DateTime lastModifyTime;
|
||||||
@@ -13,6 +13,13 @@ abstract class LocalSchemeEntry {
|
|||||||
required this.lastModifyTime,
|
required this.lastModifyTime,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
LocalSchemeEntry.systemDefault()
|
||||||
|
: this.path = '',
|
||||||
|
this.scheme = Scheme.systemDefault(),
|
||||||
|
|
||||||
|
/// max value of DateTime 
|
||||||
|
this.lastModifyTime = DateTime.fromMillisecondsSinceEpoch(8640000000000000);
|
||||||
|
|
||||||
save();
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export 'local_schemes.dart';
|
|||||||
@ProviderModel()
|
@ProviderModel()
|
||||||
class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryLinux> {
|
class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryLinux> {
|
||||||
LocalSchemes() {
|
LocalSchemes() {
|
||||||
schemeEntries.then((value) => schemes = value);
|
schemeEntries.then((value) => schemes = [LocalSchemeEntryLinux.systemDefault(), ...value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -60,6 +60,13 @@ class LocalSchemeEntryLinux implements LocalSchemeEntry {
|
|||||||
required this.lastModifyTime,
|
required this.lastModifyTime,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
LocalSchemeEntryLinux.systemDefault()
|
||||||
|
: this.path = '',
|
||||||
|
this.scheme = Scheme.systemDefault(),
|
||||||
|
|
||||||
|
/// max value of DateTime 
|
||||||
|
this.lastModifyTime = DateTime.fromMillisecondsSinceEpoch(8640000000000000);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
save() {
|
save() {
|
||||||
// TODO: implement save
|
// TODO: implement save
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
|
|
||||||
import 'package:dde_gesture_manager/models/scheme.dart';
|
|
||||||
import 'package:dde_gesture_manager/extensions.dart';
|
|
||||||
import 'dart:html';
|
import 'dart:html';
|
||||||
|
|
||||||
|
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
|
||||||
|
import 'package:dde_gesture_manager/extensions.dart';
|
||||||
|
import 'package:dde_gesture_manager/models/scheme.dart';
|
||||||
|
|
||||||
import 'local_schemes.dart';
|
import 'local_schemes.dart';
|
||||||
|
|
||||||
export 'local_schemes.dart';
|
export 'local_schemes.dart';
|
||||||
|
|
||||||
@ProviderModel()
|
@ProviderModel()
|
||||||
class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryWeb> {
|
class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryWeb> {
|
||||||
LocalSchemes() {
|
LocalSchemes() {
|
||||||
schemeEntries.then((value) => schemes = value);
|
schemeEntries.then((value) => schemes = [LocalSchemeEntryWeb.systemDefault(), ...value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -59,6 +60,13 @@ class LocalSchemeEntryWeb implements LocalSchemeEntry {
|
|||||||
required this.lastModifyTime,
|
required this.lastModifyTime,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
LocalSchemeEntryWeb.systemDefault()
|
||||||
|
: this.path = '',
|
||||||
|
this.scheme = Scheme.systemDefault(),
|
||||||
|
|
||||||
|
/// max value of DateTime 
|
||||||
|
this.lastModifyTime = DateTime.fromMillisecondsSinceEpoch(8640000000000000);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
save() {
|
save() {
|
||||||
// TODO: implement save
|
// TODO: implement save
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
|
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
|
||||||
|
import 'package:dde_gesture_manager/extensions.dart';
|
||||||
import 'package:dde_gesture_manager/utils/helper.dart';
|
import 'package:dde_gesture_manager/utils/helper.dart';
|
||||||
|
|
||||||
@ProviderModel(copyable: true)
|
@ProviderModel(copyable: true)
|
||||||
@@ -21,6 +22,12 @@ class Scheme {
|
|||||||
description = scheme['desc'];
|
description = scheme['desc'];
|
||||||
gestures = (scheme['gestures'] as List? ?? []).map<GestureProp>((ele) => GestureProp.parse(ele)).toList();
|
gestures = (scheme['gestures'] as List? ?? []).map<GestureProp>((ele) => GestureProp.parse(ele)).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Scheme.systemDefault() {
|
||||||
|
this.name = LocaleKeys.local_manager_default_scheme_label.tr();
|
||||||
|
this.description = LocaleKeys.local_manager_default_scheme_description.tr();
|
||||||
|
this.gestures = [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Gesture {
|
enum Gesture {
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class _LocalManagerState extends State<LocalManager> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
var isOpen = context.watch<ContentLayoutProvider>().localManagerOpened == true;
|
var isOpen = context.watch<ContentLayoutProvider>().localManagerOpened == true;
|
||||||
var localschemes = context.watch<LocalSchemesProvider>().schemes ?? [];
|
var localSchemes = context.watch<LocalSchemesProvider>().schemes ?? [];
|
||||||
return AnimatedContainer(
|
return AnimatedContainer(
|
||||||
duration: mediumDuration,
|
duration: mediumDuration,
|
||||||
curve: Curves.easeInOut,
|
curve: Curves.easeInOut,
|
||||||
@@ -91,7 +91,7 @@ class _LocalManagerState extends State<LocalManager> {
|
|||||||
controller: _scrollController,
|
controller: _scrollController,
|
||||||
itemBuilder: (context, index) => GestureDetector(
|
itemBuilder: (context, index) => GestureDetector(
|
||||||
onDoubleTap: () {
|
onDoubleTap: () {
|
||||||
context.read<SchemeProvider>().copyFrom(localschemes[index].scheme);
|
context.read<SchemeProvider>().copyFrom(localSchemes[index].scheme);
|
||||||
setState(() {
|
setState(() {
|
||||||
_selectedIndex = index;
|
_selectedIndex = index;
|
||||||
});
|
});
|
||||||
@@ -115,7 +115,7 @@ class _LocalManagerState extends State<LocalManager> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text(localschemes[index].scheme.name ?? ''),
|
Text(localSchemes[index].scheme.name ?? ''),
|
||||||
Text('456'),
|
Text('456'),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -123,7 +123,7 @@ class _LocalManagerState extends State<LocalManager> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
itemCount: localschemes.length,
|
itemCount: localSchemes.length,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
|
|||||||
@@ -23,7 +23,11 @@
|
|||||||
"title": "Scheme market"
|
"title": "Scheme market"
|
||||||
},
|
},
|
||||||
"local_manager": {
|
"local_manager": {
|
||||||
"title": "Local scheme management"
|
"title": "Local scheme management",
|
||||||
|
"default_scheme": {
|
||||||
|
"label": "System default scheme",
|
||||||
|
"description": "System default gesture scheme, cannot be modified. (Secretly telling you that there is no actual content in this scheme, just when applying the scheme, it is achieved by deleting a custom configuration scheme."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"gesture_editor": {
|
"gesture_editor": {
|
||||||
"label": "Gesture scheme editing",
|
"label": "Gesture scheme editing",
|
||||||
|
|||||||
@@ -23,7 +23,11 @@
|
|||||||
"title": "方案市场"
|
"title": "方案市场"
|
||||||
},
|
},
|
||||||
"local_manager": {
|
"local_manager": {
|
||||||
"title": "本地方案管理"
|
"title": "本地方案管理",
|
||||||
|
"default_scheme": {
|
||||||
|
"label": "系统默认方案",
|
||||||
|
"description": "系统默认的手势方案,不可修改。(偷偷告诉你,这个这个方案里没有任何实际内容,应用该方案时不过是通过删除自定义配置方案的方式来实现恢复系统默认方案~)"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"gesture_editor": {
|
"gesture_editor": {
|
||||||
"label": "手势方案编辑",
|
"label": "手势方案编辑",
|
||||||
|
|||||||
Reference in New Issue
Block a user