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