mirror of
https://github.com/wgh136/pixes.git
synced 2025-09-27 04:57:23 +00:00
theme and language
This commit is contained in:
@@ -2,6 +2,7 @@ import 'dart:io';
|
||||
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:photo_view/photo_view_gallery.dart';
|
||||
import 'package:pixes/components/grid.dart';
|
||||
import 'package:pixes/components/md.dart';
|
||||
@@ -266,11 +267,13 @@ class _DownloadedIllustViewPageState extends State<_DownloadedIllustViewPage> wi
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ScaffoldPage(
|
||||
return Container(
|
||||
padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
|
||||
content: Listener(
|
||||
color: FluentTheme.of(context).micaBackgroundColor,
|
||||
child: Listener(
|
||||
onPointerSignal: (event) {
|
||||
if(event is PointerScrollEvent) {
|
||||
if(event is PointerScrollEvent &&
|
||||
!HardwareKeyboard.instance.isControlPressed) {
|
||||
if(event.scrollDelta.dy > 0
|
||||
&& controller.page!.toInt() < widget.imagePaths.length - 1) {
|
||||
controller.jumpToPage(controller.page!.toInt() + 1);
|
||||
@@ -286,8 +289,8 @@ class _DownloadedIllustViewPageState extends State<_DownloadedIllustViewPage> wi
|
||||
children: [
|
||||
Positioned.fill(child: PhotoViewGallery.builder(
|
||||
pageController: controller,
|
||||
backgroundDecoration: BoxDecoration(
|
||||
color: FluentTheme.of(context).micaBackgroundColor
|
||||
backgroundDecoration: const BoxDecoration(
|
||||
color: Colors.transparent
|
||||
),
|
||||
itemCount: widget.imagePaths.length,
|
||||
builder: (context, index) {
|
||||
|
@@ -35,6 +35,8 @@ class _SettingsPageState extends State<SettingsPage> {
|
||||
buildBrowse(),
|
||||
buildHeader("Download".tl),
|
||||
buildDownload(),
|
||||
buildHeader("Appearance".tl),
|
||||
buildAppearance(),
|
||||
buildHeader("About".tl),
|
||||
buildAbout(),
|
||||
SliverPadding(
|
||||
@@ -221,6 +223,76 @@ class _SettingsPageState extends State<SettingsPage> {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget buildAppearance() {
|
||||
return SliverToBoxAdapter(
|
||||
child: Column(
|
||||
children: [
|
||||
buildItem(
|
||||
title: "Theme".tl,
|
||||
action: DropDownButton(
|
||||
title: Text(appdata.settings["theme"] ?? "System".tl),
|
||||
items: [
|
||||
MenuFlyoutItem(text: Text("System".tl), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["theme"] = "System";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
MenuFlyoutItem(text: Text("light".tl), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["theme"] = "Light";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
MenuFlyoutItem(text: Text("dark".tl), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["theme"] = "Dark";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
])),
|
||||
buildItem(
|
||||
title: "Language".tl,
|
||||
action: DropDownButton(
|
||||
title: Text(appdata.settings["language"] ?? "System"),
|
||||
items: [
|
||||
MenuFlyoutItem(text: const Text("System"), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["language"] = "System";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
MenuFlyoutItem(text: const Text("English"), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["language"] = "English";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
MenuFlyoutItem(text: const Text("简体中文"), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["language"] = "简体中文";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
MenuFlyoutItem(text: const Text("繁體中文"), onPressed: () {
|
||||
setState(() {
|
||||
appdata.settings["language"] = "繁體中文";
|
||||
});
|
||||
appdata.writeData();
|
||||
StateController.findOrNull(tag: "MyApp")?.update();
|
||||
}),
|
||||
])),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _SetSingleFieldPage extends StatefulWidget {
|
||||
|
Reference in New Issue
Block a user