wip: add provider generator.

This commit is contained in:
2021-09-18 18:28:35 +08:00
parent 1efc737284
commit 9fa94e38a7
14 changed files with 228 additions and 78 deletions
+16 -1
View File
@@ -1,2 +1,17 @@
import 'package:shared_preferences/shared_preferences.dart';
class H {
}
H._();
static final _h = H._();
factory H() => _h;
late SharedPreferences _sp;
SharedPreferences get sp => _sp;
initSharedPreference() async {
_sp = await SharedPreferences.getInstance();
}
}
+1
View File
@@ -0,0 +1 @@
export 'init_web.dart' if (dart.library.io) 'init_linux.dart';
+34
View File
@@ -0,0 +1,34 @@
import 'package:dde_gesture_manager/utils/helper.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:gsettings/gsettings.dart';
import 'package:provider/provider.dart';
import 'package:window_manager/window_manager.dart';
import 'package:dde_gesture_manager/models/settings.provider.dart';
Future<void> initEvents(BuildContext context) async {
var isDark = MediaQuery.of(context).platformBrightness == Brightness.dark;
if (isDark) {
context.read<SettingsProvider>().setProps(isDarkMode: isDark);
} else {
var xsettings = GSettings('com.deepin.xsettings');
xsettings.get('theme-name').then((value) {
Future.delayed(
Duration(seconds: 1),
() => context.read<SettingsProvider>().setProps(isDarkMode: value.toString().contains('dark')),
);
});
xsettings.keysChanged.listen((event) {
xsettings.get('theme-name').then((value) {
context.read<SettingsProvider>().setProps(isDarkMode: value.toString().contains('dark'));
});
});
}
}
Future<void> initConfigs() async {
await H().initSharedPreference();
var windowManager = WindowManager.instance;
windowManager.setTitle('Gesture Manager For DDE');
windowManager.setMinimumSize(const Size(800, 600));
}
+13
View File
@@ -0,0 +1,13 @@
import 'package:dde_gesture_manager/models/settings.provider.dart';
import 'package:dde_gesture_manager/utils/helper.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
Future<void> initEvents(BuildContext context) async {
var isDark = MediaQuery.of(context).platformBrightness == Brightness.dark;
context.read<SettingsProvider>().setProps(isDarkMode: isDark);
}
Future<void> initConfigs() async {
await H().initSharedPreference();
}