:sparkless: Hidden fd icon setting
This commit is contained in:
parent
4a2489dcf4
commit
a898bbc438
|
@ -1 +1 @@
|
|||
v1.7.2
|
||||
v1.7.3
|
|
@ -1,6 +1,2 @@
|
|||
v1.7.2
|
||||
- [x] 🐛 修复安卓13导入导出的问题
|
||||
- [x] 🐛 修复测速不好用的问题
|
||||
- [x] ♻️ 梳理一些权限
|
||||
- [x] ✨ 增加批量下载功能
|
||||
- [x] ✨ 增加PAT入会发电
|
||||
v1.7.3
|
||||
- [x] ✨ 可以隐藏发电图标
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
import 'package:event/event.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../Method.dart';
|
||||
|
||||
const _propertyName = "hiddenFdIcon";
|
||||
|
||||
late bool _hiddenFdIcon;
|
||||
|
||||
bool get hiddenFdIcon => _hiddenFdIcon;
|
||||
|
||||
var hiddenFdIconEvent = Event<EventArgs>();
|
||||
|
||||
Future initHiddenFdIcon() async {
|
||||
_hiddenFdIcon = (await method.loadProperty(_propertyName, "false")) == "true";
|
||||
}
|
||||
|
||||
Widget hiddenFdIconSetting() {
|
||||
return StatefulBuilder(
|
||||
builder: (BuildContext context, void Function(void Function()) setState) {
|
||||
return SwitchListTile(
|
||||
title: const Text("隐藏个人空间的发电图标"),
|
||||
subtitle: Text(_hiddenFdIcon ? "是" : "否"),
|
||||
value: _hiddenFdIcon,
|
||||
onChanged: (value) async {
|
||||
await method.saveProperty(_propertyName, "$value");
|
||||
_hiddenFdIcon = value;
|
||||
setState(() {});
|
||||
hiddenFdIconEvent.broadcast();
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
|
@ -1,6 +1,4 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../Common.dart';
|
||||
import '../Method.dart';
|
||||
|
||||
const _propertyName = "willPopNotice";
|
||||
|
@ -15,24 +13,16 @@ bool willPopNotice() {
|
|||
return _willPopNotice;
|
||||
}
|
||||
|
||||
Future<void> _chooseWillPopNotice(BuildContext context) async {
|
||||
String? result =
|
||||
await chooseListDialog<String>(context, "退出APP的提示", ["是", "否"]);
|
||||
if (result != null) {
|
||||
var target = result == "是";
|
||||
await method.saveProperty(_propertyName, "$target");
|
||||
_willPopNotice = target;
|
||||
}
|
||||
}
|
||||
|
||||
Widget willPopNoticeSetting() {
|
||||
return StatefulBuilder(
|
||||
builder: (BuildContext context, void Function(void Function()) setState) {
|
||||
return ListTile(
|
||||
return SwitchListTile(
|
||||
title: const Text("退出APP的提示"),
|
||||
subtitle: Text(_willPopNotice ? "是" : "否"),
|
||||
onTap: () async {
|
||||
await _chooseWillPopNotice(context);
|
||||
value: _willPopNotice,
|
||||
onChanged: (value) async {
|
||||
await method.saveProperty(_propertyName, "$value");
|
||||
_willPopNotice = value;
|
||||
setState(() {});
|
||||
},
|
||||
);
|
||||
|
|
|
@ -45,6 +45,7 @@ import 'package:uri_to_file/uri_to_file.dart';
|
|||
import '../basic/config/DownloadCachePath.dart';
|
||||
import '../basic/config/ExportPath.dart';
|
||||
import '../basic/config/ExportRename.dart';
|
||||
import '../basic/config/HiddenFdIcon.dart';
|
||||
import '../basic/config/IconLoading.dart';
|
||||
import '../basic/config/IsPro.dart';
|
||||
import '../basic/config/WebDav.dart';
|
||||
|
@ -109,6 +110,7 @@ class _InitScreenState extends State<InitScreen> {
|
|||
await reloadIsPro();
|
||||
autoCheckNewVersion();
|
||||
await initWillPopNotice();
|
||||
await initHiddenFdIcon();
|
||||
await initShowCommentAtDownload();
|
||||
await initDownloadCachePath();
|
||||
await initUseApiLoadImage();
|
||||
|
|
|
@ -67,14 +67,10 @@ class _ProScreenState extends State<ProScreen> {
|
|||
const Padding(
|
||||
padding: EdgeInsets.all(20),
|
||||
child: Text(
|
||||
"去\"关于\"界面找到维护地址可获得发电指引\n\n"
|
||||
"1. \"签到/游戏/兑换\" \n"
|
||||
" (1). \"我曾经发过电\"可同步相应发电状态\n"
|
||||
" (2). \"我刚才发了电\"兑换作者给您的礼物卡\n"
|
||||
"\n"
|
||||
"2. \"PAT入会\"\n"
|
||||
" 🔗将社区账号链接到软件, 同步成员状态, 订阅式发电"
|
||||
"",
|
||||
"去\"关于\"界面找到维护地址可获得发电指引\n"
|
||||
"\n \"我曾经发过电\"可同步相应发电状态"
|
||||
"\n \"我刚才发了电\"兑换神秘代码"
|
||||
"\n\n发电小功能: 多线程下载 / 批量导入导出下载",
|
||||
),
|
||||
),
|
||||
const Divider(),
|
||||
|
@ -120,16 +116,6 @@ class _ProScreenState extends State<ProScreen> {
|
|||
const Divider(),
|
||||
...patPro(),
|
||||
const Divider(),
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(20),
|
||||
child: Text(
|
||||
"发电小功能 \n"
|
||||
" 多线程下载\n"
|
||||
" 批量导入导出\n"
|
||||
" 跳页",
|
||||
),
|
||||
),
|
||||
const Divider(),
|
||||
const Divider(),
|
||||
],
|
||||
),
|
||||
|
|
|
@ -34,6 +34,7 @@ import 'package:pikapika/screens/components/RightClickPop.dart';
|
|||
import '../basic/config/Authentication.dart';
|
||||
import '../basic/config/CategoriesColumnCount.dart';
|
||||
import '../basic/config/DownloadCachePath.dart';
|
||||
import '../basic/config/HiddenFdIcon.dart';
|
||||
import '../basic/config/UsingRightClickPop.dart';
|
||||
import '../basic/config/WebDav.dart';
|
||||
import '../basic/config/WillPopNotice.dart';
|
||||
|
@ -123,6 +124,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
|||
iconLoadingSetting(),
|
||||
categoriesColumnCountSetting(),
|
||||
willPopNoticeSetting(),
|
||||
hiddenFdIconSetting(),
|
||||
pagerActionSetting(),
|
||||
contentFailedReloadActionSetting(),
|
||||
timeZoneSetting(),
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:pikapika/basic/Common.dart';
|
||||
import 'package:pikapika/basic/config/HiddenFdIcon.dart';
|
||||
import 'package:pikapika/basic/config/Version.dart';
|
||||
import 'package:pikapika/screens/AboutScreen.dart';
|
||||
import 'package:pikapika/screens/AccountScreen.dart';
|
||||
|
@ -30,6 +31,7 @@ class _SpaceScreenState extends State<SpaceScreen> {
|
|||
void initState() {
|
||||
versionEvent.subscribe(_onEvent);
|
||||
proEvent.subscribe(_onEvent);
|
||||
hiddenFdIconEvent.subscribe(_onEvent);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
|
@ -37,6 +39,7 @@ class _SpaceScreenState extends State<SpaceScreen> {
|
|||
void dispose() {
|
||||
versionEvent.unsubscribe(_onEvent);
|
||||
proEvent.unsubscribe(_onEvent);
|
||||
hiddenFdIconEvent.unsubscribe(_onEvent);
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
|
@ -53,14 +56,13 @@ class _SpaceScreenState extends State<SpaceScreen> {
|
|||
IconButton(
|
||||
onPressed: () async {
|
||||
bool result =
|
||||
await confirmDialog(context, '退出登录', '您确认要退出当前账号吗?');
|
||||
await confirmDialog(context, '退出登录', '您确认要退出当前账号吗?');
|
||||
if (result) {
|
||||
await method.clearToken();
|
||||
await method.setPassword("");
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
mixRoute(
|
||||
builder: (context) => const AccountScreen()),
|
||||
mixRoute(builder: (context) => const AccountScreen()),
|
||||
);
|
||||
}
|
||||
},
|
||||
|
@ -78,17 +80,21 @@ class _SpaceScreenState extends State<SpaceScreen> {
|
|||
badge: latestVersion() == null ? null : "1",
|
||||
),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
Navigator.of(context)
|
||||
.push(mixRoute(builder: (BuildContext context) {
|
||||
return const ProScreen();
|
||||
}));
|
||||
},
|
||||
icon: Icon(
|
||||
isPro ? Icons.offline_bolt : Icons.offline_bolt_outlined,
|
||||
),
|
||||
),
|
||||
...hiddenFdIcon
|
||||
? []
|
||||
: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
Navigator.of(context)
|
||||
.push(mixRoute(builder: (BuildContext context) {
|
||||
return const ProScreen();
|
||||
}));
|
||||
},
|
||||
icon: Icon(
|
||||
isPro ? Icons.offline_bolt : Icons.offline_bolt_outlined,
|
||||
),
|
||||
),
|
||||
],
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
|
@ -109,8 +115,7 @@ class _SpaceScreenState extends State<SpaceScreen> {
|
|||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
mixRoute(
|
||||
builder: (context) => const FavouritePaperScreen()),
|
||||
mixRoute(builder: (context) => const FavouritePaperScreen()),
|
||||
);
|
||||
},
|
||||
title: const Text('我的收藏'),
|
||||
|
@ -130,8 +135,7 @@ class _SpaceScreenState extends State<SpaceScreen> {
|
|||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
mixRoute(
|
||||
builder: (context) => const DownloadListScreen()),
|
||||
mixRoute(builder: (context) => const DownloadListScreen()),
|
||||
);
|
||||
},
|
||||
title: const Text('我的下载'),
|
||||
|
|
|
@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||
# Read more about iOS versioning at
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
version: 1.7.1+17
|
||||
version: 1.7.3+18
|
||||
|
||||
environment:
|
||||
sdk: ">=2.12.0 <3.0.0"
|
||||
|
|
Loading…
Reference in New Issue