mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-02 00:58:19 +08:00
committed by
GitHub
parent
d4d9fc3405
commit
b3e2dcf2c5
@@ -1,6 +1,5 @@
|
||||
import 'dart:async' show FutureOr;
|
||||
import 'dart:convert' show utf8, jsonDecode;
|
||||
import 'dart:io' show File;
|
||||
|
||||
import 'package:PiliPlus/common/style.dart';
|
||||
import 'package:PiliPlus/utils/extension/theme_ext.dart';
|
||||
@@ -122,8 +121,7 @@ Future<void> importFromLocalFile<T>({
|
||||
allowedExtensions: const ['json', 'txt'],
|
||||
);
|
||||
if (result != null) {
|
||||
final path = result.xFile.path;
|
||||
final data = await File(path).readAsString();
|
||||
final data = await result.xFile.readAsString();
|
||||
final T json;
|
||||
try {
|
||||
json = jsonDecode(data);
|
||||
@@ -179,7 +177,7 @@ void importFromInput<T>(
|
||||
child: Text(
|
||||
'取消',
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.outline,
|
||||
color: ColorScheme.of(context).outline,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -10,9 +10,9 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
|
||||
class CachedNetworkSVGImage extends StatefulWidget {
|
||||
CachedNetworkSVGImage(
|
||||
String url, {
|
||||
this._url, {
|
||||
Key? key,
|
||||
String? cacheKey,
|
||||
this._cacheKey,
|
||||
this._placeholder,
|
||||
this._errorBuilder,
|
||||
this._width,
|
||||
@@ -28,10 +28,8 @@ class CachedNetworkSVGImage extends StatefulWidget {
|
||||
this._colorFilter,
|
||||
this._placeholderBuilder,
|
||||
BaseCacheManager? cacheManager,
|
||||
}) : _url = url,
|
||||
_cacheKey = cacheKey,
|
||||
_cacheManager = cacheManager ?? DefaultCacheManager(),
|
||||
super(key: key ?? ValueKey(cacheKey ?? url));
|
||||
}) : _cacheManager = cacheManager ?? DefaultCacheManager(),
|
||||
super(key: key ?? ValueKey(_cacheKey ?? _url));
|
||||
|
||||
final String _url;
|
||||
final String? _cacheKey;
|
||||
|
||||
@@ -87,9 +87,7 @@ Widget videoSeasonWidget(
|
||||
Colors.black54,
|
||||
],
|
||||
),
|
||||
borderRadius: BorderRadius.vertical(
|
||||
bottom: Style.imgRadius,
|
||||
),
|
||||
borderRadius: .vertical(bottom: Style.imgRadius),
|
||||
),
|
||||
child: DefaultTextStyle.merge(
|
||||
style: TextStyle(
|
||||
@@ -103,22 +101,16 @@ Widget videoSeasonWidget(
|
||||
DecoratedBox(
|
||||
decoration: const BoxDecoration(
|
||||
color: Colors.black45,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(4),
|
||||
),
|
||||
borderRadius: .all(.circular(4)),
|
||||
),
|
||||
child: Text(' $durationText '),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
],
|
||||
if (video.stat case final stat?) ...[
|
||||
Text(
|
||||
'${NumUtils.numFormat(stat.play)}播放',
|
||||
),
|
||||
Text('${NumUtils.numFormat(stat.play)}播放'),
|
||||
const SizedBox(width: 6),
|
||||
Text(
|
||||
'${NumUtils.numFormat(stat.danmu)}弹幕',
|
||||
),
|
||||
Text('${NumUtils.numFormat(stat.danmu)}弹幕'),
|
||||
],
|
||||
const Spacer(),
|
||||
Image.asset(
|
||||
|
||||
@@ -26,6 +26,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tray_manager/tray_manager.dart';
|
||||
import 'package:win32/win32.dart' as kernel32;
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
|
||||
class MainApp extends StatefulWidget {
|
||||
@@ -168,7 +169,11 @@ class _MainAppState extends PopScopeState<MainApp>
|
||||
await GStorage.close();
|
||||
await trayManager.destroy();
|
||||
if (Platform.isWindows) {
|
||||
const MethodChannel('window_control').invokeMethod('closeWindow');
|
||||
// flutter_inappwebview
|
||||
// 6.2.0-beta.2+ https://github.com/pichillilorenzo/flutter_inappwebview/issues/2482
|
||||
// 6.1.5 https://github.com/pichillilorenzo/flutter_inappwebview/issues/2512#issuecomment-3031039587
|
||||
final hProcess = kernel32.GetCurrentProcess();
|
||||
kernel32.TerminateProcess(hProcess, 0);
|
||||
} else {
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@@ -2003,7 +2003,7 @@ packages:
|
||||
source: git
|
||||
version: "1.2.2"
|
||||
win32:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: win32
|
||||
sha256: ba6f4bba816c8d7e3c1580e170f3786d216951cc6b94babc3b814c08d2cb2738
|
||||
|
||||
@@ -164,6 +164,7 @@ dependencies:
|
||||
git:
|
||||
url: https://github.com/wgh136/webdav_client.git
|
||||
ref: main
|
||||
win32: ^6.3.0
|
||||
window_manager:
|
||||
git:
|
||||
url: https://github.com/bggRGjQaUbCoE/window_manager.git
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
#include "flutter/generated_plugin_registrant.h"
|
||||
|
||||
#include <flutter/method_channel.h>
|
||||
#include <flutter/standard_method_codec.h>
|
||||
|
||||
FlutterWindow::FlutterWindow(const flutter::DartProject& project)
|
||||
: project_(project) {}
|
||||
|
||||
@@ -29,24 +26,6 @@ bool FlutterWindow::OnCreate() {
|
||||
}
|
||||
RegisterPlugins(flutter_controller_->engine());
|
||||
|
||||
// flutter_inappwebview
|
||||
// 6.2.0-beta.2+ https://github.com/pichillilorenzo/flutter_inappwebview/issues/2482
|
||||
// 6.1.5 https://github.com/pichillilorenzo/flutter_inappwebview/issues/2512#issuecomment-3031039587
|
||||
flutter::MethodChannel<> channel(
|
||||
flutter_controller_->engine()->messenger(), "window_control",
|
||||
&flutter::StandardMethodCodec::GetInstance());
|
||||
channel.SetMethodCallHandler(
|
||||
[](const flutter::MethodCall<>& call,
|
||||
std::unique_ptr<flutter::MethodResult<>> result) {
|
||||
if (call.method_name().compare("closeWindow") == 0) {
|
||||
HANDLE hProcess = GetCurrentProcess();
|
||||
TerminateProcess(hProcess, 0);
|
||||
result->Success();
|
||||
} else {
|
||||
result->NotImplemented();
|
||||
}
|
||||
});
|
||||
|
||||
SetChildContent(flutter_controller_->view()->GetNativeWindow());
|
||||
|
||||
// flutter_controller_->engine()->SetNextFrameCallback([&]() {
|
||||
|
||||
Reference in New Issue
Block a user