mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
new: detail page net sort
This commit is contained in:
@@ -1190,6 +1190,12 @@ abstract class S {
|
||||
/// **'s'**
|
||||
String get second;
|
||||
|
||||
/// No description provided for @sequence.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sequence'**
|
||||
String get sequence;
|
||||
|
||||
/// No description provided for @server.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -576,6 +576,9 @@ class SDe extends S {
|
||||
@override
|
||||
String get second => 's';
|
||||
|
||||
@override
|
||||
String get sequence => 'Sequenz';
|
||||
|
||||
@override
|
||||
String get server => 'Server';
|
||||
|
||||
|
||||
@@ -576,6 +576,9 @@ class SEn extends S {
|
||||
@override
|
||||
String get second => 's';
|
||||
|
||||
@override
|
||||
String get sequence => 'Sequence';
|
||||
|
||||
@override
|
||||
String get server => 'Server';
|
||||
|
||||
|
||||
@@ -576,6 +576,9 @@ class SId extends S {
|
||||
@override
|
||||
String get second => 'S';
|
||||
|
||||
@override
|
||||
String get sequence => 'Urutan';
|
||||
|
||||
@override
|
||||
String get server => 'Server';
|
||||
|
||||
|
||||
@@ -576,6 +576,9 @@ class SZh extends S {
|
||||
@override
|
||||
String get second => '秒';
|
||||
|
||||
@override
|
||||
String get sequence => '顺序';
|
||||
|
||||
@override
|
||||
String get server => '服务器';
|
||||
|
||||
@@ -1347,6 +1350,9 @@ class SZhTw extends SZh {
|
||||
@override
|
||||
String get second => '秒';
|
||||
|
||||
@override
|
||||
String get sequence => '順序';
|
||||
|
||||
@override
|
||||
String get server => '服務器';
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ class Defaults {
|
||||
'overlay',
|
||||
'run',
|
||||
'none',
|
||||
'shm',
|
||||
];
|
||||
|
||||
static const sshVirtKeys = [
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
"save": "Speichern",
|
||||
"saved": "Gerettet",
|
||||
"second": "s",
|
||||
"sequence": "Sequenz",
|
||||
"server": "Server",
|
||||
"serverDetailOrder": "Reihenfolge der Widgets auf der Detailseite",
|
||||
"serverOrder": "Server-Bestellung",
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
"save": "Save",
|
||||
"saved": "Saved",
|
||||
"second": "s",
|
||||
"sequence": "Sequence",
|
||||
"server": "Server",
|
||||
"serverDetailOrder": "Detail page widget order",
|
||||
"serverOrder": "Server order",
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
"save": "Menyimpan",
|
||||
"saved": "Diselamatkan",
|
||||
"second": "S",
|
||||
"sequence": "Urutan",
|
||||
"server": "Server",
|
||||
"serverDetailOrder": "Detail pesanan widget halaman",
|
||||
"serverOrder": "Pesanan server",
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
"save": "保存",
|
||||
"saved": "已保存",
|
||||
"second": "秒",
|
||||
"sequence": "顺序",
|
||||
"server": "服务器",
|
||||
"serverDetailOrder": "详情页部件顺序",
|
||||
"serverOrder": "服务器顺序",
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
"save": "保存",
|
||||
"saved": "已保存",
|
||||
"second": "秒",
|
||||
"sequence": "順序",
|
||||
"server": "服務器",
|
||||
"serverDetailOrder": "詳情頁部件順序",
|
||||
"serverOrder": "服務器順序",
|
||||
|
||||
@@ -329,6 +329,11 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
||||
|
||||
Widget _buildDiskItem(Disk disk, ServerStatus ss) {
|
||||
final (read, write) = ss.diskIO.getReadSpeed(disk.dev);
|
||||
final text = () {
|
||||
final use = '${disk.usedPercent}% of ${disk.size}';
|
||||
if (read == null || write == null) return use;
|
||||
return '$use\n↑ $read | ↓ $write';
|
||||
}();
|
||||
return ListTile(
|
||||
title: Text(
|
||||
disk.dev,
|
||||
@@ -337,7 +342,7 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
||||
),
|
||||
contentPadding: const EdgeInsets.symmetric(vertical: 3, horizontal: 17),
|
||||
subtitle: Text(
|
||||
'${disk.usedPercent}% of ${disk.size}\n↑ $read | ↓ $write',
|
||||
text,
|
||||
style: UIs.textSize11,
|
||||
textScaleFactor: _textFactor,
|
||||
),
|
||||
@@ -374,7 +379,27 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
||||
build: () {
|
||||
return CardX(
|
||||
ExpandTile(
|
||||
title: Text(l10n.net),
|
||||
title: Row(
|
||||
children: [
|
||||
Text(l10n.net),
|
||||
UIs.width13,
|
||||
InkWell(
|
||||
onTap: () {
|
||||
_netSortType.value = _netSortType.value.next;
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
const Icon(Icons.sort, size: 17),
|
||||
UIs.width7,
|
||||
Text(
|
||||
_netSortType.value.name,
|
||||
style: UIs.textSize11Grey,
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
leading: const Icon(Icons.device_hub, size: 17),
|
||||
initiallyExpanded: children.length <= 7,
|
||||
children: children,
|
||||
@@ -458,6 +483,17 @@ enum _NetSortType {
|
||||
bool get isIn => this == _NetSortType.recv;
|
||||
bool get isOut => this == _NetSortType.trans;
|
||||
|
||||
_NetSortType get next {
|
||||
switch (this) {
|
||||
case device:
|
||||
return trans;
|
||||
case _NetSortType.trans:
|
||||
return recv;
|
||||
case recv:
|
||||
return device;
|
||||
}
|
||||
}
|
||||
|
||||
int Function(String, String) getSortFunc(NetSpeed ns) {
|
||||
switch (this) {
|
||||
case _NetSortType.device:
|
||||
|
||||
@@ -212,7 +212,7 @@ class _SettingPageState extends State<SettingPage> {
|
||||
return Column(
|
||||
children: [
|
||||
_buildMoveOutServerFuncBtns(),
|
||||
_buildServerOrder(),
|
||||
_buildSequence(),
|
||||
_buildNetViewType(),
|
||||
_buildUpdateInterval(),
|
||||
_buildMaxRetry(),
|
||||
@@ -934,11 +934,11 @@ class _SettingPageState extends State<SettingPage> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildServerOrder() {
|
||||
Widget _buildSequence() {
|
||||
return ExpandTile(
|
||||
title: Text(l10n.serverOrder),
|
||||
title: Text(l10n.sequence),
|
||||
subtitle: Text(
|
||||
'${l10n.serverOrder} / ${l10n.serverDetailOrder}',
|
||||
'${l10n.serverOrder} / ${l10n.serverDetailOrder} ...',
|
||||
style: UIs.textGrey,
|
||||
),
|
||||
children: [
|
||||
|
||||
Reference in New Issue
Block a user