v1.5.10
This commit is contained in:
parent
8ea16f4573
commit
76b05da228
|
@ -61,7 +61,7 @@ jobs:
|
||||||
flutter_version: '2.10.3'
|
flutter_version: '2.10.3'
|
||||||
- target: ios
|
- target: ios
|
||||||
host: macos-latest
|
host: macos-latest
|
||||||
flutter_version: '3.0.5'
|
flutter_version: '3.3.0'
|
||||||
- target: android-arm32
|
- target: android-arm32
|
||||||
host: ubuntu-latest
|
host: ubuntu-latest
|
||||||
flutter_version: '2.10.5'
|
flutter_version: '2.10.5'
|
||||||
|
@ -73,13 +73,13 @@ jobs:
|
||||||
flutter_version: '2.10.5'
|
flutter_version: '2.10.5'
|
||||||
- target: android-arm32
|
- target: android-arm32
|
||||||
host: ubuntu-latest
|
host: ubuntu-latest
|
||||||
flutter_version: '3.0.5'
|
flutter_version: '3.3.0'
|
||||||
- target: android-arm64
|
- target: android-arm64
|
||||||
host: ubuntu-latest
|
host: ubuntu-latest
|
||||||
flutter_version: '3.0.5'
|
flutter_version: '3.3.0'
|
||||||
- target: android-x86_64
|
- target: android-x86_64
|
||||||
host: ubuntu-latest
|
host: ubuntu-latest
|
||||||
flutter_version: '3.0.5'
|
flutter_version: '3.3.0'
|
||||||
|
|
||||||
runs-on: ${{ matrix.config.host }}
|
runs-on: ${{ matrix.config.host }}
|
||||||
|
|
||||||
|
@ -158,6 +158,24 @@ jobs:
|
||||||
path: /opt/hostedtoolcache/flutter
|
path: /opt/hostedtoolcache/flutter
|
||||||
key: ${{ runner.os }}-flutter
|
key: ${{ runner.os }}-flutter
|
||||||
|
|
||||||
|
- name: Cache Flutter dependencies (Mac host)
|
||||||
|
if: steps.check_asset.outputs.skip_build != 'true' && ( matrix.config.target == 'ios' || matrix.config.target == 'macos' )
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: /Users/runner/hostedtoolcache/flutter
|
||||||
|
key: ${{ runner.os }}-flutter
|
||||||
|
|
||||||
|
- name: Cache Gradle dependencies (Android)
|
||||||
|
if: steps.check_asset.outputs.skip_build != 'true' && ( matrix.config.target == 'android-arm32' || matrix.config.target == 'android-arm64' || matrix.config.target == 'android-x86_64' )
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
|
||||||
- name: Setup java (Android)
|
- name: Setup java (Android)
|
||||||
if: steps.check_asset.outputs.skip_build != 'true' && ( matrix.config.target == 'android-arm32' || matrix.config.target == 'android-arm64' || matrix.config.target == 'android-x86_64' )
|
if: steps.check_asset.outputs.skip_build != 'true' && ( matrix.config.target == 'android-arm32' || matrix.config.target == 'android-arm64' || matrix.config.target == 'android-x86_64' )
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
v1.5.9
|
v1.5.10
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
v1.5.9
|
v1.5.10
|
||||||
- [x] 下载漫画中显示评论区(设置中寻找)
|
|
||||||
|
|
||||||
v1.5.8
|
- [x] 升级flutter到3.3.0
|
||||||
- [x] 解决历史记录图片不刷新的问题
|
- [x] 可以设置分类列数
|
||||||
- [x] 增加退出是增加提示的选项(设置中寻找)
|
- [x] 升级提示
|
||||||
|
- [x] 静态加载动画
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
/// 多线程下载并发数
|
||||||
|
|
||||||
|
import 'package:event/event.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:pikapika/basic/Common.dart';
|
||||||
|
import 'package:pikapika/basic/Method.dart';
|
||||||
|
|
||||||
|
String _propertyName = "categoriesColumnCount";
|
||||||
|
late int categoriesColumnCount;
|
||||||
|
|
||||||
|
Event categoriesColumnCountEvent = Event();
|
||||||
|
|
||||||
|
Future initCategoriesColumnCount() async {
|
||||||
|
categoriesColumnCount =
|
||||||
|
int.parse(await method.loadProperty(_propertyName, "0"));
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget categoriesColumnCountSetting() {
|
||||||
|
return StatefulBuilder(
|
||||||
|
builder: (BuildContext context, void Function(void Function()) setState) {
|
||||||
|
return ListTile(
|
||||||
|
title: const Text(
|
||||||
|
"首页分类列数",
|
||||||
|
),
|
||||||
|
subtitle: Text("$categoriesColumnCount"),
|
||||||
|
onTap: () async {
|
||||||
|
int? value = await chooseMapDialog(
|
||||||
|
context,
|
||||||
|
{
|
||||||
|
"自动": 0,
|
||||||
|
"2": 2,
|
||||||
|
"3": 3,
|
||||||
|
"4": 4,
|
||||||
|
"5": 5,
|
||||||
|
},
|
||||||
|
"选择首页分类列数");
|
||||||
|
if (value != null) {
|
||||||
|
await method.saveProperty(_propertyName, "$categoriesColumnCount");
|
||||||
|
categoriesColumnCount = value;
|
||||||
|
setState(() {});
|
||||||
|
categoriesColumnCountEvent.broadcast();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ import 'package:pikapika/screens/RankingsScreen.dart';
|
||||||
import 'package:pikapika/screens/SearchScreen.dart';
|
import 'package:pikapika/screens/SearchScreen.dart';
|
||||||
import 'package:pikapika/screens/components/ContentError.dart';
|
import 'package:pikapika/screens/components/ContentError.dart';
|
||||||
import 'package:pikapika/basic/Method.dart';
|
import 'package:pikapika/basic/Method.dart';
|
||||||
|
import '../basic/config/CategoriesColumnCount.dart';
|
||||||
import 'ComicsScreen.dart';
|
import 'ComicsScreen.dart';
|
||||||
import 'GamesScreen.dart';
|
import 'GamesScreen.dart';
|
||||||
import 'RandomComicsScreen.dart';
|
import 'RandomComicsScreen.dart';
|
||||||
|
@ -73,12 +74,14 @@ class _CategoriesScreenState extends State<CategoriesScreen> {
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
shadowCategoriesEvent.subscribe(_onShadowChange);
|
shadowCategoriesEvent.subscribe(_onShadowChange);
|
||||||
|
categoriesColumnCountEvent.subscribe(_setState);
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
shadowCategoriesEvent.unsubscribe(_onShadowChange);
|
shadowCategoriesEvent.unsubscribe(_onShadowChange);
|
||||||
|
categoriesColumnCountEvent.unsubscribe(_setState);
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +89,10 @@ class _CategoriesScreenState extends State<CategoriesScreen> {
|
||||||
_reloadCategories();
|
_reloadCategories();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_setState(_) {
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
var theme = Theme.of(context);
|
var theme = Theme.of(context);
|
||||||
|
@ -140,11 +147,22 @@ class _CategoriesScreenState extends State<CategoriesScreen> {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Widget> _buildCategories(List<Category> cList) {
|
List<Widget> _buildCategories(List<Category> cList) {
|
||||||
var size = MediaQuery.of(context).size;
|
late double blockSize;
|
||||||
var min = size.width < size.height ? size.width : size.height;
|
late double imageSize;
|
||||||
var blockSize = min / 3;
|
late double imageRs;
|
||||||
var imageSize = blockSize - 15;
|
|
||||||
var imageRs = imageSize / 10;
|
if (categoriesColumnCount == 0) {
|
||||||
|
var size = MediaQuery.of(context).size;
|
||||||
|
var min = size.width < size.height ? size.width : size.height;
|
||||||
|
blockSize = min / 3;
|
||||||
|
} else {
|
||||||
|
var size = MediaQuery.of(context).size;
|
||||||
|
var min = size.width;
|
||||||
|
blockSize = min / categoriesColumnCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
imageSize = blockSize - 15;
|
||||||
|
imageRs = imageSize / 10;
|
||||||
|
|
||||||
List<Widget> list = [];
|
List<Widget> list = [];
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ import 'package:pikapika/screens/components/NetworkSetting.dart';
|
||||||
import 'package:pikapika/screens/components/RightClickPop.dart';
|
import 'package:pikapika/screens/components/RightClickPop.dart';
|
||||||
|
|
||||||
import '../basic/config/Authentication.dart';
|
import '../basic/config/Authentication.dart';
|
||||||
|
import '../basic/config/CategoriesColumnCount.dart';
|
||||||
import '../basic/config/UsingRightClickPop.dart';
|
import '../basic/config/UsingRightClickPop.dart';
|
||||||
import '../basic/config/WillPopNotice.dart';
|
import '../basic/config/WillPopNotice.dart';
|
||||||
import 'CleanScreen.dart';
|
import 'CleanScreen.dart';
|
||||||
|
@ -90,6 +91,7 @@ class SettingsScreen extends StatelessWidget {
|
||||||
keyboardControllerSetting(),
|
keyboardControllerSetting(),
|
||||||
noAnimationSetting(),
|
noAnimationSetting(),
|
||||||
iconLoadingSetting(),
|
iconLoadingSetting(),
|
||||||
|
categoriesColumnCountSetting(),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
fullScreenUISetting(),
|
fullScreenUISetting(),
|
||||||
willPopNoticeSetting(),
|
willPopNoticeSetting(),
|
||||||
|
|
|
@ -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.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 1.5.8+4
|
version: 1.5.10+5
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.12.0 <3.0.0"
|
sdk: ">=2.12.0 <3.0.0"
|
||||||
|
|
Loading…
Reference in New Issue