- add help for ssh virt keys
- rm unused lib
This commit is contained in:
lollipopkit
2023-07-29 16:24:47 +08:00
parent 1163f2e418
commit 7f4dcc1357
31 changed files with 159 additions and 172 deletions

View File

@@ -17,7 +17,7 @@ class TryLimiter {
return true;
}
void resetTryTimes(String id) {
void reset(String id) {
_triedTimes[id] = 0;
}

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:xterm/core.dart';
@@ -17,7 +18,7 @@ enum VirtKey {
@HiveField(4)
end,
@HiveField(5)
file,
sftp,
@HiveField(6)
snippet,
@HiveField(7)
@@ -31,7 +32,7 @@ enum VirtKey {
@HiveField(11)
right,
@HiveField(12)
paste,
clipboard,
@HiveField(13)
ime,
@HiveField(14)
@@ -94,11 +95,11 @@ enum VirtKey {
return Icons.arrow_downward;
case VirtKey.right:
return Icons.arrow_forward;
case VirtKey.file:
case VirtKey.sftp:
return Icons.file_open;
case VirtKey.snippet:
return Icons.code;
case VirtKey.paste:
case VirtKey.clipboard:
return Icons.paste;
case VirtKey.ime:
return Icons.keyboard_hide;
@@ -112,12 +113,12 @@ enum VirtKey {
// and make sure all [VirtualKeyFunc] are handled
VirtualKeyFunc? get func {
switch (this) {
case VirtKey.file:
case VirtKey.sftp:
return VirtualKeyFunc.file;
case VirtKey.snippet:
return VirtualKeyFunc.snippet;
case VirtKey.paste:
return VirtualKeyFunc.paste;
case VirtKey.clipboard:
return VirtualKeyFunc.clipboard;
case VirtKey.ime:
return VirtualKeyFunc.toggleIME;
default:
@@ -146,6 +147,17 @@ enum VirtKey {
return false;
}
}
String? help(S s) {
switch (this) {
case VirtKey.sftp:
return s.virtKeyHelpSFTP;
case VirtKey.clipboard:
return s.virtKeyHelpClipboard;
default:
return null;
}
}
}
enum VirtualKeyFunc { toggleIME, backspace, copy, paste, snippet, file }
enum VirtualKeyFunc { toggleIME, backspace, clipboard, snippet, file }

View File

@@ -24,7 +24,7 @@ class VirtKeyAdapter extends TypeAdapter<VirtKey> {
case 4:
return VirtKey.end;
case 5:
return VirtKey.file;
return VirtKey.sftp;
case 6:
return VirtKey.snippet;
case 7:
@@ -38,7 +38,7 @@ class VirtKeyAdapter extends TypeAdapter<VirtKey> {
case 11:
return VirtKey.right;
case 12:
return VirtKey.paste;
return VirtKey.clipboard;
case 13:
return VirtKey.ime;
case 14:
@@ -68,7 +68,7 @@ class VirtKeyAdapter extends TypeAdapter<VirtKey> {
case VirtKey.end:
writer.writeByte(4);
break;
case VirtKey.file:
case VirtKey.sftp:
writer.writeByte(5);
break;
case VirtKey.snippet:
@@ -89,7 +89,7 @@ class VirtKeyAdapter extends TypeAdapter<VirtKey> {
case VirtKey.right:
writer.writeByte(11);
break;
case VirtKey.paste:
case VirtKey.clipboard:
writer.writeByte(12);
break;
case VirtKey.ime:

View File

@@ -101,7 +101,7 @@ class ServerProvider extends BusyProvider {
await Future.wait(_servers.values.map((s) async {
if (onlyFailed) {
if (s.state != ServerState.failed) return;
_limiter.resetTryTimes(s.spi.id);
_limiter.reset(s.spi.id);
}
return await _getData(s.spi);
}));
@@ -109,8 +109,8 @@ class ServerProvider extends BusyProvider {
Future<void> startAutoRefresh() async {
final duration = _settingStore.serverStatusUpdateInterval.fetch()!;
if (duration == 0) return;
stopAutoRefresh();
if (duration == 0) return;
_timer = Timer.periodic(Duration(seconds: duration), (_) async {
await refreshData();
});
@@ -240,7 +240,7 @@ class ServerProvider extends BusyProvider {
throw Exception(writeResult);
}
// reset try times if connected successfully
_limiter.resetTryTimes(sid);
_limiter.reset(sid);
}
if (s.client == null) return;

View File

@@ -2,8 +2,8 @@
class BuildData {
static const String name = "ServerBox";
static const int build = 396;
static const int build = 397;
static const String engine = "3.10.6";
static const String buildAt = "2023-07-28 19:15:52.944462";
static const int modifications = 5;
static const String buildAt = "2023-07-28 20:51:35.807892";
static const int modifications = 6;
}

View File

@@ -28,14 +28,14 @@ const defaultSSHVirtKeys = [
VirtKey.home,
VirtKey.up,
VirtKey.end,
VirtKey.file,
VirtKey.sftp,
VirtKey.snippet,
VirtKey.tab,
VirtKey.ctrl,
VirtKey.left,
VirtKey.down,
VirtKey.right,
VirtKey.paste,
VirtKey.clipboard,
VirtKey.ime,
];