mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2026-02-23 16:45:27 +01:00
opt.
This commit is contained in:
@@ -41,6 +41,13 @@ class _ConvertPageState extends State<ConvertPage>
|
||||
_s = S.of(context)!;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_textEditingController.dispose();
|
||||
_textEditingControllerResult.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
super.build(context);
|
||||
|
||||
@@ -41,6 +41,7 @@ class _DockerManagePageState extends State<DockerManagePage> {
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_docker.clear();
|
||||
_textController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -54,8 +55,6 @@ class _DockerManagePageState extends State<DockerManagePage> {
|
||||
super.initState();
|
||||
final client = locator<ServerProvider>().servers[widget.spi.id]?.client;
|
||||
if (client == null) {
|
||||
showSnackBar(context, Text(_s.noClient));
|
||||
context.pop();
|
||||
return;
|
||||
}
|
||||
_docker.init(client, widget.spi.user, onPwdRequest, widget.spi.id);
|
||||
|
||||
@@ -63,6 +63,7 @@ class _FullScreenPageState extends State<FullScreenPage> with AfterLayoutMixin {
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_timer.cancel();
|
||||
_pageController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -75,6 +75,7 @@ class _HomePageState extends State<HomePage>
|
||||
super.dispose();
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
_serverProvider.closeServer();
|
||||
_pageController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -48,6 +48,13 @@ class _PingPageState extends State<PingPage>
|
||||
_s = S.of(context)!;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_textEditingController.dispose();
|
||||
_results.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
super.build(context);
|
||||
|
||||
@@ -45,18 +45,17 @@ class _PkgManagePageState extends State<PkgManagePage>
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_pkgProvider.clear();
|
||||
_textController.dispose();
|
||||
_scrollController.dispose();
|
||||
_scrollControllerUpdate.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
final si = locator<ServerProvider>().servers[widget.spi.id];
|
||||
if (si == null || si.client == null) {
|
||||
showSnackBar(context, Text(_s.waitConnection));
|
||||
context.pop();
|
||||
return;
|
||||
}
|
||||
|
||||
if (si == null) return;
|
||||
_pkgProvider.init(
|
||||
si.client!,
|
||||
si.status.sysVer.dist,
|
||||
|
||||
@@ -51,6 +51,17 @@ class _PrivateKeyEditPageState extends State<PrivateKeyEditPage>
|
||||
_provider = locator<PrivateKeyProvider>();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_nameController.dispose();
|
||||
_keyController.dispose();
|
||||
_pwdController.dispose();
|
||||
_nameNode.dispose();
|
||||
_keyNode.dispose();
|
||||
_pwdNode.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
|
||||
@@ -41,10 +41,6 @@ class _ProcessPageState extends State<ProcessPage> {
|
||||
void initState() {
|
||||
super.initState();
|
||||
_client = _serverProvider.servers[widget.spi.id]?.client;
|
||||
if (_client == null) {
|
||||
showSnackBar(context, Text(_s.noClient));
|
||||
return;
|
||||
}
|
||||
_timer = Timer.periodic(const Duration(seconds: 3), (_) => _refresh());
|
||||
}
|
||||
|
||||
|
||||
@@ -55,6 +55,22 @@ class _ServerEditPageState extends State<ServerEditPage> with AfterLayoutMixin {
|
||||
_serverProvider = locator<ServerProvider>();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_nameController.dispose();
|
||||
_ipController.dispose();
|
||||
_alterUrlController.dispose();
|
||||
_portController.dispose();
|
||||
_usernameController.dispose();
|
||||
_passwordController.dispose();
|
||||
_nameFocus.dispose();
|
||||
_ipFocus.dispose();
|
||||
_alterUrlFocus.dispose();
|
||||
_portFocus.dispose();
|
||||
_usernameFocus.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
|
||||
@@ -150,12 +150,12 @@ class _ServerPageState extends State<ServerPage>
|
||||
return GestureDetector(
|
||||
key: Key(si.spi.id + (_tag ?? '')),
|
||||
onTap: () {
|
||||
if (si.state == ServerState.connected) {
|
||||
if (si.state.canViewDetails) {
|
||||
AppRoute(
|
||||
ServerDetailPage(si.spi.id),
|
||||
'server detail page',
|
||||
).go(context);
|
||||
} else {
|
||||
} else if (si.status.failedInfo != null) {
|
||||
_showFailReason(si.status);
|
||||
}
|
||||
},
|
||||
@@ -176,7 +176,7 @@ class _ServerPageState extends State<ServerPage>
|
||||
final rootDisk = findRootDisk(ss.disk);
|
||||
late final List<Widget> children;
|
||||
var height = 23.0;
|
||||
if (cs != ServerState.connected) {
|
||||
if (cs != ServerState.finished) {
|
||||
children = [
|
||||
_buildServerCardTitle(ss, cs, spi),
|
||||
];
|
||||
@@ -286,7 +286,7 @@ class _ServerPageState extends State<ServerPage>
|
||||
context: context,
|
||||
title: Text(_s.error),
|
||||
child: SingleChildScrollView(
|
||||
child: Text(ss.failedInfo!),
|
||||
child: Text(ss.failedInfo ?? _s.unknownError),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
@@ -393,12 +393,16 @@ class _ServerPageState extends State<ServerPage>
|
||||
switch (cs) {
|
||||
case ServerState.disconnected:
|
||||
return _s.disconnected;
|
||||
case ServerState.connected:
|
||||
case ServerState.finished:
|
||||
final tempStr = temp == null ? '' : '${temp.toStringAsFixed(1)}°C';
|
||||
final items = [tempStr, upTime];
|
||||
final str = items.where((element) => element.isNotEmpty).join(' | ');
|
||||
if (str.isEmpty) return _s.serverTabLoading;
|
||||
if (str.isEmpty) return _s.noResult;
|
||||
return str;
|
||||
case ServerState.loading:
|
||||
return _s.serverTabLoading;
|
||||
case ServerState.connected:
|
||||
return _s.connected;
|
||||
case ServerState.connecting:
|
||||
return _s.serverTabConnecting;
|
||||
case ServerState.failed:
|
||||
@@ -409,8 +413,6 @@ class _ServerPageState extends State<ServerPage>
|
||||
return _s.serverTabPlzSave;
|
||||
}
|
||||
return failedInfo;
|
||||
default:
|
||||
return _s.serverTabUnkown;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,14 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
_provider = locator<SnippetProvider>();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_nameController.dispose();
|
||||
_scriptController.dispose();
|
||||
_scriptNode.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
|
||||
@@ -68,6 +68,18 @@ class _SSHPageState extends State<SSHPage> {
|
||||
_initVirtKeys();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_virtKeyLongPressTimer?.cancel();
|
||||
_terminalController.dispose();
|
||||
_client?.close();
|
||||
// ignore: unnecessary_null_comparison
|
||||
if (_session != null) {
|
||||
_session.close();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
@@ -80,12 +92,6 @@ class _SSHPageState extends State<SSHPage> {
|
||||
_virtKeysHeight = _media.size.height * 0.043 * _virtKeysList.length;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_client?.close();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
Widget child = Scaffold(
|
||||
|
||||
@@ -49,7 +49,6 @@ class SftpPage extends StatefulWidget {
|
||||
|
||||
class _SftpPageState extends State<SftpPage> {
|
||||
final SftpBrowserStatus _status = SftpBrowserStatus();
|
||||
final ScrollController _scrollController = ScrollController();
|
||||
|
||||
final _sftp = locator<SftpProvider>();
|
||||
|
||||
@@ -297,7 +296,6 @@ class _SftpPageState extends State<SftpPage> {
|
||||
key: Key(widget.spi.name + _status.path!.path),
|
||||
child: ListView.builder(
|
||||
itemCount: _status.files!.length,
|
||||
controller: _scrollController,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 7, vertical: 3),
|
||||
itemBuilder: (_, index) => _buildItem(_status.files![index]),
|
||||
),
|
||||
@@ -458,9 +456,7 @@ class _SftpPageState extends State<SftpPage> {
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
context.pop();
|
||||
showLoadingDialog(
|
||||
context
|
||||
);
|
||||
showLoadingDialog(context);
|
||||
final remotePath = _getRemotePath(file);
|
||||
try {
|
||||
if (file.attr.isDirectory) {
|
||||
|
||||
Reference in New Issue
Block a user