diff --git a/flutter/assets/transfer.svg b/flutter/assets/transfer.svg
new file mode 100644
index 00000000..24149bf5
--- /dev/null
+++ b/flutter/assets/transfer.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/flutter/lib/desktop/pages/file_manager_page.dart b/flutter/lib/desktop/pages/file_manager_page.dart
index c8cb7c93..badb68a8 100644
--- a/flutter/lib/desktop/pages/file_manager_page.dart
+++ b/flutter/lib/desktop/pages/file_manager_page.dart
@@ -567,161 +567,187 @@ class _FileManagerPageState extends State
return false;
}
+ Widget generateCard(Widget child) {
+ return Container(
+ decoration: BoxDecoration(
+ color: Theme.of(context).cardColor,
+ borderRadius: BorderRadius.all(
+ Radius.circular(15.0),
+ ),
+ ),
+ child: child,
+ );
+ }
+
/// transfer status list
/// watch transfer status
Widget statusList() {
return PreferredSize(
- preferredSize: const Size(200, double.infinity),
+ preferredSize: const Size(200, double.infinity),
+ child: Container(
+ margin: const EdgeInsets.only(top: 16.0, bottom: 16.0, right: 16.0),
+ padding: const EdgeInsets.all(8.0),
child: model.jobTable.isEmpty
- ? Center(child: Text(translate("Empty")))
- : Container(
- margin:
- const EdgeInsets.only(top: 16.0, bottom: 16.0, right: 16.0),
- padding: const EdgeInsets.all(8.0),
- child: Obx(
- () => ListView.builder(
- controller: ScrollController(),
- itemBuilder: (BuildContext context, int index) {
- final item = model.jobTable[index];
- return Padding(
- padding: const EdgeInsets.only(bottom: 5),
- child: Container(
- decoration: BoxDecoration(
- color: Theme.of(context).cardColor,
- borderRadius: BorderRadius.all(
- Radius.circular(15.0),
- ),
- ),
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: [
- Row(
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- Transform.rotate(
- angle: item.isRemote ? pi : 0,
- child: SvgPicture.asset(
- "assets/arrow.svg",
- color: Theme.of(context)
- .tabBarTheme
- .labelColor,
- ),
- ).paddingOnly(left: 15),
- const SizedBox(
- width: 16.0,
+ ? generateCard(
+ Center(
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ SvgPicture.asset(
+ "assets/transfer.svg",
+ color: Theme.of(context).tabBarTheme.labelColor,
+ height: 40,
+ ).paddingOnly(bottom: 10),
+ Text(
+ translate("No transfers in progress"),
+ textAlign: TextAlign.center,
+ textScaleFactor: 1.20,
+ style: TextStyle(
+ color: Theme.of(context).tabBarTheme.labelColor),
+ ),
+ ],
+ ),
+ ),
+ )
+ : Obx(
+ () => ListView.builder(
+ controller: ScrollController(),
+ itemBuilder: (BuildContext context, int index) {
+ final item = model.jobTable[index];
+ return Padding(
+ padding: const EdgeInsets.only(bottom: 5),
+ child: generateCard(
+ Column(
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ Transform.rotate(
+ angle: item.isRemote ? pi : 0,
+ child: SvgPicture.asset(
+ "assets/arrow.svg",
+ color: Theme.of(context)
+ .tabBarTheme
+ .labelColor,
),
- Expanded(
- child: Column(
- mainAxisSize: MainAxisSize.min,
- crossAxisAlignment:
- CrossAxisAlignment.start,
- children: [
- Tooltip(
- waitDuration:
- Duration(milliseconds: 500),
- message: item.jobName,
- child: Text(
- item.jobName,
- maxLines: 1,
- overflow: TextOverflow.ellipsis,
- ).paddingSymmetric(vertical: 10),
+ ).paddingOnly(left: 15),
+ const SizedBox(
+ width: 16.0,
+ ),
+ Expanded(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment:
+ CrossAxisAlignment.start,
+ children: [
+ Tooltip(
+ waitDuration:
+ Duration(milliseconds: 500),
+ message: item.jobName,
+ child: Text(
+ item.jobName,
+ maxLines: 1,
+ overflow: TextOverflow.ellipsis,
+ ).paddingSymmetric(vertical: 10),
+ ),
+ Text(
+ '${translate("Total")} ${readableFileSize(item.totalSize.toDouble())}',
+ style: TextStyle(
+ fontSize: 12,
+ color: MyTheme.darkGray,
),
- Text(
- '${translate("Total")} ${readableFileSize(item.totalSize.toDouble())}',
+ ),
+ Offstage(
+ offstage:
+ item.state != JobState.inProgress,
+ child: Text(
+ '${translate("Speed")} ${readableFileSize(item.speed)}/s',
style: TextStyle(
fontSize: 12,
color: MyTheme.darkGray,
),
),
- Offstage(
- offstage:
- item.state != JobState.inProgress,
- child: Text(
- '${translate("Speed")} ${readableFileSize(item.speed)}/s',
- style: TextStyle(
- fontSize: 12,
- color: MyTheme.darkGray,
- ),
- ),
- ),
- Offstage(
- offstage:
- item.state == JobState.inProgress,
- child: Text(
- translate(
- item.display(),
- ),
- style: TextStyle(
- fontSize: 12,
- color: MyTheme.darkGray,
- ),
- ),
- ),
- Offstage(
- offstage:
- item.state != JobState.inProgress,
- child: LinearPercentIndicator(
- padding: EdgeInsets.only(right: 15),
- animateFromLastPercent: true,
- center: Text(
- '${(item.finishedSize / item.totalSize * 100).toStringAsFixed(0)}%',
- ),
- barRadius: Radius.circular(15),
- percent: item.finishedSize /
- item.totalSize,
- progressColor: MyTheme.accent,
- backgroundColor:
- Theme.of(context).hoverColor,
- lineHeight:
- kDesktopFileTransferRowHeight,
- ).paddingSymmetric(vertical: 15),
- ),
- ],
- ),
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
+ ),
Offstage(
- offstage: item.state != JobState.paused,
- child: MenuButton(
- onPressed: () {
- model.resumeJob(item.id);
- },
- child: SvgPicture.asset(
- "assets/refresh.svg",
- color: Colors.white,
+ offstage:
+ item.state == JobState.inProgress,
+ child: Text(
+ translate(
+ item.display(),
+ ),
+ style: TextStyle(
+ fontSize: 12,
+ color: MyTheme.darkGray,
),
- color: MyTheme.accent,
- hoverColor: MyTheme.accent80,
),
),
- MenuButton(
- padding: EdgeInsets.only(right: 15),
- child: SvgPicture.asset(
- "assets/close.svg",
- color: Colors.white,
- ),
- onPressed: () {
- model.jobTable.removeAt(index);
- model.cancelJob(item.id);
- },
- color: MyTheme.accent,
- hoverColor: MyTheme.accent80,
+ Offstage(
+ offstage:
+ item.state != JobState.inProgress,
+ child: LinearPercentIndicator(
+ padding: EdgeInsets.only(right: 15),
+ animateFromLastPercent: true,
+ center: Text(
+ '${(item.finishedSize / item.totalSize * 100).toStringAsFixed(0)}%',
+ ),
+ barRadius: Radius.circular(15),
+ percent: item.finishedSize /
+ item.totalSize,
+ progressColor: MyTheme.accent,
+ backgroundColor:
+ Theme.of(context).hoverColor,
+ lineHeight:
+ kDesktopFileTransferRowHeight,
+ ).paddingSymmetric(vertical: 15),
),
],
),
- ],
- ),
- ],
- ).paddingSymmetric(vertical: 10),
- ),
- );
- },
- itemCount: model.jobTable.length,
- ),
+ ),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ Offstage(
+ offstage: item.state != JobState.paused,
+ child: MenuButton(
+ onPressed: () {
+ model.resumeJob(item.id);
+ },
+ child: SvgPicture.asset(
+ "assets/refresh.svg",
+ color: Colors.white,
+ ),
+ color: MyTheme.accent,
+ hoverColor: MyTheme.accent80,
+ ),
+ ),
+ MenuButton(
+ padding: EdgeInsets.only(right: 15),
+ child: SvgPicture.asset(
+ "assets/close.svg",
+ color: Colors.white,
+ ),
+ onPressed: () {
+ model.jobTable.removeAt(index);
+ model.cancelJob(item.id);
+ },
+ color: MyTheme.accent,
+ hoverColor: MyTheme.accent80,
+ ),
+ ],
+ ),
+ ],
+ ),
+ ],
+ ).paddingSymmetric(vertical: 10),
+ ),
+ );
+ },
+ itemCount: model.jobTable.length,
),
- ));
+ ),
+ ),
+ );
}
Widget headTools(bool isLocal) {
@@ -1028,7 +1054,9 @@ class _FileManagerPageState extends State
textAlign: TextAlign.right,
style: TextStyle(
color: selectedItems.length == 0
- ? MyTheme.darkGray
+ ? Theme.of(context).brightness == Brightness.light
+ ? MyTheme.grayBg
+ : MyTheme.darkGray
: Colors.white,
),
)
@@ -1037,7 +1065,9 @@ class _FileManagerPageState extends State
child: SvgPicture.asset(
"assets/arrow.svg",
color: selectedItems.length == 0
- ? MyTheme.darkGray
+ ? Theme.of(context).brightness == Brightness.light
+ ? MyTheme.grayBg
+ : MyTheme.darkGray
: Colors.white,
alignment: Alignment.bottomRight,
),
@@ -1046,14 +1076,18 @@ class _FileManagerPageState extends State
? SvgPicture.asset(
"assets/arrow.svg",
color: selectedItems.length == 0
- ? MyTheme.darkGray
+ ? Theme.of(context).brightness == Brightness.light
+ ? MyTheme.grayBg
+ : MyTheme.darkGray
: Colors.white,
)
: Text(
translate('Receive'),
style: TextStyle(
color: selectedItems.length == 0
- ? MyTheme.darkGray
+ ? Theme.of(context).brightness == Brightness.light
+ ? MyTheme.grayBg
+ : MyTheme.darkGray
: Colors.white,
),
),
diff --git a/flutter/lib/desktop/widgets/menu_button.dart b/flutter/lib/desktop/widgets/menu_button.dart
index df2c48ab..17b160fe 100644
--- a/flutter/lib/desktop/widgets/menu_button.dart
+++ b/flutter/lib/desktop/widgets/menu_button.dart
@@ -37,7 +37,7 @@ class _MenuButtonState extends State {
message: widget.tooltip,
child: Material(
type: MaterialType.transparency,
- child: Ink(
+ child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(_borderRadius),
color: _isHover ? widget.hoverColor : widget.color,
diff --git a/src/lang/ca.rs b/src/lang/ca.rs
index 71aa3933..aa33ae6e 100644
--- a/src/lang/ca.rs
+++ b/src/lang/ca.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/cn.rs b/src/lang/cn.rs
index fd2e04c5..f975e343 100644
--- a/src/lang/cn.rs
+++ b/src/lang/cn.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", "重连"),
("Codec", "编解码"),
("Resolution", "分辨率"),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/cs.rs b/src/lang/cs.rs
index be0ffa7f..cfe69924 100644
--- a/src/lang/cs.rs
+++ b/src/lang/cs.rs
@@ -454,6 +454,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Stop voice call", ""),
("relay_hint_tip", ""),
("Reconnect", ""),
+ ("No transfers in progress", ""),
("Codec", ""),
("Resolution", ""),
].iter().cloned().collect();
diff --git a/src/lang/da.rs b/src/lang/da.rs
index 150a5771..19310357 100644
--- a/src/lang/da.rs
+++ b/src/lang/da.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/de.rs b/src/lang/de.rs
index c9c25df2..ee28fe0e 100644
--- a/src/lang/de.rs
+++ b/src/lang/de.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", "Erneut verbinden"),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/en.rs b/src/lang/en.rs
index 4bfa8634..3e87cd66 100644
--- a/src/lang/en.rs
+++ b/src/lang/en.rs
@@ -44,5 +44,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("still_click_uac_tip", "Still requires the remote user to click OK on the UAC window of running RustDesk."),
("config_microphone", "In order to speak remotely, you need to grant RustDesk \"Record Audio\" permissions."),
("relay_hint_tip", "It may not be possible to connect directly, you can try to connect via relay. \nIn addition, if you want to use relay on your first try, you can add the \"/r\" suffix to the ID, or select the option \"Always connect via relay\" in the peer card."),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/eo.rs b/src/lang/eo.rs
index bb2615ef..9b7912cf 100644
--- a/src/lang/eo.rs
+++ b/src/lang/eo.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/es.rs b/src/lang/es.rs
index 5ae36858..af0da047 100644
--- a/src/lang/es.rs
+++ b/src/lang/es.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", "Reconectar"),
("Codec", "Códec"),
("Resolution", "Resolución"),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/fa.rs b/src/lang/fa.rs
index d8fcff43..0c31e153 100644
--- a/src/lang/fa.rs
+++ b/src/lang/fa.rs
@@ -454,6 +454,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Stop voice call", "توقف تماس صوتی"),
("relay_hint_tip", " را به شناسه اضافه کنید یا گزینه \"همیشه از طریق رله متصل شوید\" را در کارت همتا انتخاب کنید. همچنین، اگر میخواهید فوراً از سرور رله استفاده کنید، میتوانید پسوند \"/r\".\n اتصال مستقیم ممکن است امکان پذیر نباشد. در این صورت می توانید سعی کنید از طریق سرور رله متصل شوید"),
("Reconnect", "اتصال مجدد"),
+ ("No transfers in progress", ""),
("Codec", ""),
("Resolution", ""),
].iter().cloned().collect();
diff --git a/src/lang/fr.rs b/src/lang/fr.rs
index 37ee42e4..0e45827f 100644
--- a/src/lang/fr.rs
+++ b/src/lang/fr.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/gr.rs b/src/lang/gr.rs
index c18e6c07..fca98f22 100644
--- a/src/lang/gr.rs
+++ b/src/lang/gr.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/hu.rs b/src/lang/hu.rs
index 557e3faf..437cf445 100644
--- a/src/lang/hu.rs
+++ b/src/lang/hu.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/id.rs b/src/lang/id.rs
index 1a34e6fe..84892a7f 100644
--- a/src/lang/id.rs
+++ b/src/lang/id.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/it.rs b/src/lang/it.rs
index 04b2488a..101685c4 100644
--- a/src/lang/it.rs
+++ b/src/lang/it.rs
@@ -454,6 +454,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Stop voice call", "Interrompi la chiamata vocale"),
("relay_hint_tip", "Se non è possibile connettersi direttamente, si può provare a farlo tramite relay.\nInoltre, se si desidera utilizzare il relay al primo tentativo, è possibile aggiungere il suffisso \"/r\" all'ID o selezionare l'opzione \"Collegati sempre tramite relay\" nella scheda peer."),
("Reconnect", "Riconnetti"),
+ ("No transfers in progress", "Nessun trasferimento in corso"),
("Codec", "Codec"),
("Resolution", "Risoluzione"),
].iter().cloned().collect();
diff --git a/src/lang/ja.rs b/src/lang/ja.rs
index d6354c1c..c19b607c 100644
--- a/src/lang/ja.rs
+++ b/src/lang/ja.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/ko.rs b/src/lang/ko.rs
index dc57c8bf..97574e67 100644
--- a/src/lang/ko.rs
+++ b/src/lang/ko.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/kz.rs b/src/lang/kz.rs
index 6698b2c5..54a51b43 100644
--- a/src/lang/kz.rs
+++ b/src/lang/kz.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/nl.rs b/src/lang/nl.rs
index 545e1ec2..eb7c214a 100644
--- a/src/lang/nl.rs
+++ b/src/lang/nl.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/pl.rs b/src/lang/pl.rs
index fe6454fa..13027a68 100644
--- a/src/lang/pl.rs
+++ b/src/lang/pl.rs
@@ -458,6 +458,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Resolution", "Rozdzielczość"),
("Use temporary password", "Użyj hasła tymczasowego"),
("Set temporary password length", "Ustaw długość hasła tymczasowego"),
- ("Key", "Klucz")
+ ("Key", "Klucz"),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs
index ee156112..923bbab0 100644
--- a/src/lang/pt_PT.rs
+++ b/src/lang/pt_PT.rs
@@ -454,6 +454,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Stop voice call", ""),
("relay_hint_tip", ""),
("Reconnect", ""),
+ ("No transfers in progress", ""),
("Codec", ""),
("Resolution", ""),
].iter().cloned().collect();
diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs
index 7b16bdf3..aa491f95 100644
--- a/src/lang/ptbr.rs
+++ b/src/lang/ptbr.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/ro.rs b/src/lang/ro.rs
index 315eadd2..e992b19d 100644
--- a/src/lang/ro.rs
+++ b/src/lang/ro.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/ru.rs b/src/lang/ru.rs
index 6d212490..07b8af99 100644
--- a/src/lang/ru.rs
+++ b/src/lang/ru.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", "Переподключить"),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/sk.rs b/src/lang/sk.rs
index 462a78ab..6468b7ee 100644
--- a/src/lang/sk.rs
+++ b/src/lang/sk.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/sl.rs b/src/lang/sl.rs
index 0eb1949f..d128e732 100755
--- a/src/lang/sl.rs
+++ b/src/lang/sl.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/sq.rs b/src/lang/sq.rs
index 2fc5dfe0..29c5cbbf 100644
--- a/src/lang/sq.rs
+++ b/src/lang/sq.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/sr.rs b/src/lang/sr.rs
index 17882094..63173dc1 100644
--- a/src/lang/sr.rs
+++ b/src/lang/sr.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/sv.rs b/src/lang/sv.rs
index 250cf340..1a00ece4 100644
--- a/src/lang/sv.rs
+++ b/src/lang/sv.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/template.rs b/src/lang/template.rs
index dcdcc128..2c83f947 100644
--- a/src/lang/template.rs
+++ b/src/lang/template.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/th.rs b/src/lang/th.rs
index a1eb34c5..6fcf02ed 100644
--- a/src/lang/th.rs
+++ b/src/lang/th.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/tr.rs b/src/lang/tr.rs
index 09c40a83..d35d288d 100644
--- a/src/lang/tr.rs
+++ b/src/lang/tr.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/tw.rs b/src/lang/tw.rs
index e20c7f25..20a2998e 100644
--- a/src/lang/tw.rs
+++ b/src/lang/tw.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", "重連"),
("Codec", "編解碼"),
("Resolution", "分辨率"),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/ua.rs b/src/lang/ua.rs
index b48385e6..4c4b5d4b 100644
--- a/src/lang/ua.rs
+++ b/src/lang/ua.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}
diff --git a/src/lang/vn.rs b/src/lang/vn.rs
index 61d7c0b8..32cd084c 100644
--- a/src/lang/vn.rs
+++ b/src/lang/vn.rs
@@ -456,5 +456,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reconnect", ""),
("Codec", ""),
("Resolution", ""),
+ ("No transfers in progress", ""),
].iter().cloned().collect();
}