From 81fe90f6057b34babd550d3d474d5a6aa12981e2 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Tue, 24 Oct 2023 22:14:01 +0530 Subject: [PATCH 01/11] add ui for new list view Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peers_view.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flutter/lib/common/widgets/peers_view.dart b/flutter/lib/common/widgets/peers_view.dart index c058dd4dc..78464921f 100644 --- a/flutter/lib/common/widgets/peers_view.dart +++ b/flutter/lib/common/widgets/peers_view.dart @@ -191,9 +191,11 @@ class _PeersViewState extends State<_PeersView> with WindowListener { return isDesktop ? Obx( () => SizedBox( - width: 220, + width: peerCardUiType.value != PeerUiType.list + ? 220 + : MediaQuery.of(context).size.width - 227, height: - peerCardUiType.value == PeerUiType.grid ? 140 : 42, + peerCardUiType.value == PeerUiType.grid ? 140 : peerCardUiType.value != PeerUiType.list ? 42 : 45, child: visibilityChild, ), ) From 94e51a804126859dbda99b8f76df5b2760c6a684 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Tue, 24 Oct 2023 22:14:59 +0530 Subject: [PATCH 02/11] update enum for list view Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_card.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index 922f88225..a071d8f40 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -19,7 +19,7 @@ import 'dart:math' as math; typedef PopupMenuEntryBuilder = Future>> Function(BuildContext); -enum PeerUiType { grid, list } +enum PeerUiType { grid, tile, list } final peerCardUiType = PeerUiType.grid.obs; From d9e1b2df7fb80559a7e5b47b2410ba6e355c984c Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Tue, 24 Oct 2023 22:33:51 +0530 Subject: [PATCH 03/11] update peer view type options Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_tab_page.dart | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index b5143eb82..63d9e18f8 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -216,21 +216,24 @@ class _PeerTabPageState extends State Widget _createPeerViewTypeSwitch(BuildContext context) { final textColor = Theme.of(context).textTheme.titleLarge?.color; - final types = [PeerUiType.grid, PeerUiType.list]; + final types = [PeerUiType.grid, PeerUiType.tile, PeerUiType.list]; return Obx(() => _hoverAction( context: context, onTap: () async { - final type = types - .elementAt(peerCardUiType.value == types.elementAt(0) ? 1 : 0); + final currentIndex = types.indexOf(peerCardUiType.value); + final newIndex = (currentIndex + 1) % types.length; // cycle through types + final type = types[newIndex]; await bind.setLocalFlutterOption( k: 'peer-card-ui-type', v: type.index.toString()); peerCardUiType.value = type; }, child: Tooltip( message: peerCardUiType.value == PeerUiType.grid - ? translate('List View') - : translate('Grid View'), + ? translate('Small tiles') + : peerCardUiType.value == PeerUiType.tile + ? translate('List') + : translate('Big tiles'), child: Icon( peerCardUiType.value == PeerUiType.grid ? Icons.view_list_rounded From 1e059c56499c601370fde43ed353df5496690e15 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Tue, 24 Oct 2023 23:15:42 +0530 Subject: [PATCH 04/11] update peer view type icons Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_tab_page.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 63d9e18f8..4e75af636 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -237,7 +237,9 @@ class _PeerTabPageState extends State child: Icon( peerCardUiType.value == PeerUiType.grid ? Icons.view_list_rounded - : Icons.grid_view_rounded, + : peerCardUiType.value == PeerUiType.tile + ? Icons.view_agenda_rounded + : Icons.grid_view_rounded, size: 18, color: textColor, )))); From 3f3489b292ee2580a90b02cb9d1712ee5afe4e32 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Tue, 24 Oct 2023 23:19:43 +0530 Subject: [PATCH 05/11] update peer view type tooltip Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_tab_page.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 4e75af636..6a2a5347a 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -230,10 +230,10 @@ class _PeerTabPageState extends State }, child: Tooltip( message: peerCardUiType.value == PeerUiType.grid - ? translate('Small tiles') + ? translate('Small Tiles') : peerCardUiType.value == PeerUiType.tile ? translate('List') - : translate('Big tiles'), + : translate('Big Tiles'), child: Icon( peerCardUiType.value == PeerUiType.grid ? Icons.view_list_rounded From a52caaec7546a93de851ef1fcf01d301825dd220 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Wed, 25 Oct 2023 01:26:41 +0530 Subject: [PATCH 06/11] fix list view for group tab Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peers_view.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/flutter/lib/common/widgets/peers_view.dart b/flutter/lib/common/widgets/peers_view.dart index 78464921f..48fced275 100644 --- a/flutter/lib/common/widgets/peers_view.dart +++ b/flutter/lib/common/widgets/peers_view.dart @@ -9,6 +9,7 @@ import 'package:get/get.dart'; import 'package:provider/provider.dart'; import 'package:visibility_detector/visibility_detector.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:flutter_hbb/models/peer_tab_model.dart'; import '../../common.dart'; import '../../models/peer_model.dart'; @@ -188,12 +189,16 @@ class _PeersViewState extends State<_PeersView> with WindowListener { onVisibilityChanged: onVisibilityChanged, child: widget.peerCardBuilder(peer), ); + final windowWidth = MediaQuery.of(context).size.width; + final model = Provider.of(context); return isDesktop ? Obx( () => SizedBox( width: peerCardUiType.value != PeerUiType.list ? 220 - : MediaQuery.of(context).size.width - 227, + : model.currentTab == PeerTabIndex.group.index? + windowWidth - 390 : + windowWidth - 227, height: peerCardUiType.value == PeerUiType.grid ? 140 : peerCardUiType.value != PeerUiType.list ? 42 : 45, child: visibilityChild, From cc35328f28d5f309c50df57ab171af17bf57e413 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Thu, 26 Oct 2023 04:02:34 +0530 Subject: [PATCH 07/11] add dropdown for peer view types Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_tab_page.dart | 104 +++++++++++++----- 1 file changed, 76 insertions(+), 28 deletions(-) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 6a2a5347a..fb7ef39b2 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -215,34 +215,7 @@ class _PeerTabPageState extends State } Widget _createPeerViewTypeSwitch(BuildContext context) { - final textColor = Theme.of(context).textTheme.titleLarge?.color; - final types = [PeerUiType.grid, PeerUiType.tile, PeerUiType.list]; - - return Obx(() => _hoverAction( - context: context, - onTap: () async { - final currentIndex = types.indexOf(peerCardUiType.value); - final newIndex = (currentIndex + 1) % types.length; // cycle through types - final type = types[newIndex]; - await bind.setLocalFlutterOption( - k: 'peer-card-ui-type', v: type.index.toString()); - peerCardUiType.value = type; - }, - child: Tooltip( - message: peerCardUiType.value == PeerUiType.grid - ? translate('Small Tiles') - : peerCardUiType.value == PeerUiType.tile - ? translate('List') - : translate('Big Tiles'), - child: Icon( - peerCardUiType.value == PeerUiType.grid - ? Icons.view_list_rounded - : peerCardUiType.value == PeerUiType.tile - ? Icons.view_agenda_rounded - : Icons.grid_view_rounded, - size: 18, - color: textColor, - )))); + return PeerViewDropdown(); } Widget _createMultiSelection() { @@ -782,6 +755,81 @@ class _PeerSearchBarState extends State { } } +class PeerViewDropdown extends StatefulWidget { + const PeerViewDropdown({super.key}); + + @override + State createState() => _PeerViewDropdownState(); +} + +class _PeerViewDropdownState extends State { + @override + Widget build(BuildContext context) { + final List types = [PeerUiType.grid, PeerUiType.tile, PeerUiType.list]; + final style = TextStyle( + color: Theme.of(context).textTheme.titleLarge?.color, + fontSize: MenuConfig.fontSize, + fontWeight: FontWeight.normal); + List items = List.empty(growable: true); + items.add(PopupMenuItem( + height: 36, + enabled: false, + child: Text(translate("Change View"), style: style))); + for (var e in PeerUiType.values) { + items.add(PopupMenuItem( + height: 36, + child: Obx(() => Center( + child: SizedBox( + height: 36, + child: getRadio( + Text(translate( + types.indexOf(e) == 0 ? 'Big Tiles' : types.indexOf(e) == 1 ? 'Small Tiles' : 'List' + ), style: style), + e, + peerCardUiType.value, + dense: true, + (PeerUiType? v) async { + if (v != null) { + peerCardUiType.value = v; + await bind.setLocalFlutterOption( + k: "peer-card-ui-type", + v: peerCardUiType.value.index.toString(), + ); + }} + ), + ), + )))); + } + + var menuPos = RelativeRect.fromLTRB(0, 0, 0, 0); + return _hoverAction( + context: context, + child: Tooltip( + message: translate('Change View'), + child: Icon( + peerCardUiType.value == PeerUiType.grid + ? Icons.grid_view_rounded + : peerCardUiType.value == PeerUiType.tile + ? Icons.view_list_rounded + : Icons.view_agenda_rounded, + size: 18, + )), + onTapDown: (details) { + final x = details.globalPosition.dx; + final y = details.globalPosition.dy; + menuPos = RelativeRect.fromLTRB(x, y, x, y); + }, + onTap: () => showMenu( + context: context, + position: menuPos, + items: items, + elevation: 8, + ), + ); + } +} + + class PeerSortDropdown extends StatefulWidget { const PeerSortDropdown({super.key}); From 8fe64755ecdccfa4e027b9ad74dd4fca79dd2534 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Thu, 26 Oct 2023 04:46:24 +0530 Subject: [PATCH 08/11] fix icon ui not updating Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_tab_page.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index fb7ef39b2..8510adee3 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -791,6 +791,7 @@ class _PeerViewDropdownState extends State { (PeerUiType? v) async { if (v != null) { peerCardUiType.value = v; + setState(() {}); await bind.setLocalFlutterOption( k: "peer-card-ui-type", v: peerCardUiType.value.index.toString(), From c522987b6f4f65f10005b26920948505a873dad2 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Thu, 26 Oct 2023 05:16:27 +0530 Subject: [PATCH 09/11] fix list view on ab when id panel Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peers_view.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/flutter/lib/common/widgets/peers_view.dart b/flutter/lib/common/widgets/peers_view.dart index 48fced275..24949b94a 100644 --- a/flutter/lib/common/widgets/peers_view.dart +++ b/flutter/lib/common/widgets/peers_view.dart @@ -191,14 +191,15 @@ class _PeersViewState extends State<_PeersView> with WindowListener { ); final windowWidth = MediaQuery.of(context).size.width; final model = Provider.of(context); + final hideAbTagsPanel = bind.mainGetLocalOption(key: "hideAbTagsPanel").isNotEmpty; return isDesktop ? Obx( () => SizedBox( width: peerCardUiType.value != PeerUiType.list ? 220 - : model.currentTab == PeerTabIndex.group.index? - windowWidth - 390 : - windowWidth - 227, + : model.currentTab == PeerTabIndex.group.index || (model.currentTab == PeerTabIndex.ab.index && !hideAbTagsPanel) + ? windowWidth - 390 : + windowWidth - 227, height: peerCardUiType.value == PeerUiType.grid ? 140 : peerCardUiType.value != PeerUiType.list ? 42 : 45, child: visibilityChild, From 55f3b93958e65982928e8ba2edccca94c0b145cb Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Thu, 26 Oct 2023 05:25:54 +0530 Subject: [PATCH 10/11] fix peer view menu position Signed-off-by: Sahil Yeole --- flutter/lib/common/widgets/peer_tab_page.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 8510adee3..e3b57c09b 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -763,6 +763,8 @@ class PeerViewDropdown extends StatefulWidget { } class _PeerViewDropdownState extends State { + RelativeRect menuPos = RelativeRect.fromLTRB(0, 0, 0, 0); + @override Widget build(BuildContext context) { final List types = [PeerUiType.grid, PeerUiType.tile, PeerUiType.list]; @@ -802,7 +804,6 @@ class _PeerViewDropdownState extends State { )))); } - var menuPos = RelativeRect.fromLTRB(0, 0, 0, 0); return _hoverAction( context: context, child: Tooltip( @@ -818,7 +819,9 @@ class _PeerViewDropdownState extends State { onTapDown: (details) { final x = details.globalPosition.dx; final y = details.globalPosition.dy; - menuPos = RelativeRect.fromLTRB(x, y, x, y); + setState(() { + menuPos = RelativeRect.fromLTRB(x, y, x, y); + }); }, onTap: () => showMenu( context: context, From 23b911297e3e19bc3b7e494d3a19f92445eb21eb Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Thu, 26 Oct 2023 05:39:15 +0530 Subject: [PATCH 11/11] add langs for change peer view menu Signed-off-by: Sahil Yeole --- src/lang/ar.rs | 4 ++++ src/lang/ca.rs | 4 ++++ src/lang/cn.rs | 4 ++++ src/lang/cs.rs | 4 ++++ src/lang/da.rs | 4 ++++ src/lang/de.rs | 4 ++++ src/lang/el.rs | 4 ++++ src/lang/eo.rs | 4 ++++ src/lang/es.rs | 4 ++++ src/lang/fa.rs | 4 ++++ src/lang/fr.rs | 4 ++++ src/lang/hu.rs | 4 ++++ src/lang/id.rs | 4 ++++ src/lang/it.rs | 4 ++++ src/lang/ja.rs | 4 ++++ src/lang/ko.rs | 4 ++++ src/lang/kz.rs | 4 ++++ src/lang/lt.rs | 4 ++++ src/lang/lv.rs | 4 ++++ src/lang/nl.rs | 4 ++++ src/lang/pl.rs | 4 ++++ src/lang/pt_PT.rs | 4 ++++ src/lang/ptbr.rs | 4 ++++ src/lang/ro.rs | 4 ++++ src/lang/ru.rs | 4 ++++ src/lang/sk.rs | 4 ++++ src/lang/sl.rs | 4 ++++ src/lang/sq.rs | 4 ++++ src/lang/sr.rs | 4 ++++ src/lang/sv.rs | 4 ++++ src/lang/template.rs | 4 ++++ src/lang/th.rs | 4 ++++ src/lang/tr.rs | 4 ++++ src/lang/tw.rs | 4 ++++ src/lang/ua.rs | 4 ++++ src/lang/vn.rs | 4 ++++ 36 files changed, 144 insertions(+) diff --git a/src/lang/ar.rs b/src/lang/ar.rs index 425f49d3a..0e2a1c7f1 100644 --- a/src/lang/ar.rs +++ b/src/lang/ar.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ca.rs b/src/lang/ca.rs index 8057430e5..9d408bf04 100644 --- a/src/lang/ca.rs +++ b/src/lang/ca.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 0be9738e8..971a966fe 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "在单个窗口中打开显示器"), ("Use all my displays for the remote session", "将我的所有显示器用于远程会话"), ("selinux_tip", "SELinux 处于启用状态,RustDesk 可能无法作为被控正常运行。"), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/cs.rs b/src/lang/cs.rs index c7e620665..12e462318 100644 --- a/src/lang/cs.rs +++ b/src/lang/cs.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Zobrazit obrazovky jako jednotlivá okna"), ("Use all my displays for the remote session", "Použít všechny mé obrazovky pro vzdálenou relaci"), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/da.rs b/src/lang/da.rs index 634c7e8a9..7bc24274f 100644 --- a/src/lang/da.rs +++ b/src/lang/da.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/de.rs b/src/lang/de.rs index 9bc00212f..1b207db52 100644 --- a/src/lang/de.rs +++ b/src/lang/de.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Jeden Bildschirm in einem eigenen Fenster anzeigen"), ("Use all my displays for the remote session", "Alle meine Bildschirme für die Fernsitzung verwenden"), ("selinux_tip", "SELinux ist auf Ihrem Gerät aktiviert, was dazu führen kann, dass RustDesk als kontrollierte Seite nicht richtig läuft."), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/el.rs b/src/lang/el.rs index baf16f82e..525c8df36 100644 --- a/src/lang/el.rs +++ b/src/lang/el.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/eo.rs b/src/lang/eo.rs index 5c3c3eec1..6ce06de36 100644 --- a/src/lang/eo.rs +++ b/src/lang/eo.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/es.rs b/src/lang/es.rs index 32635973f..e843ab0da 100644 --- a/src/lang/es.rs +++ b/src/lang/es.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Mostrar pantallas como ventanas individuales"), ("Use all my displays for the remote session", "Usar todas mis pantallas para la sesión remota"), ("selinux_tip", "SELinux está activado en tu dispositivo, lo que puede hacer que RustDesk no se ejecute correctamente como lado controlado."), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fa.rs b/src/lang/fa.rs index 28acc2c13..0ee786919 100644 --- a/src/lang/fa.rs +++ b/src/lang/fa.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fr.rs b/src/lang/fr.rs index a2bc13a77..f9cd3e153 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/hu.rs b/src/lang/hu.rs index e56cad01e..b7db1f6c6 100644 --- a/src/lang/hu.rs +++ b/src/lang/hu.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/id.rs b/src/lang/id.rs index f0306b962..5b353eb20 100644 --- a/src/lang/id.rs +++ b/src/lang/id.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Tampilkan dengan jendela terpisah"), ("Use all my displays for the remote session", "Gunakan semua layar untuk sesi remote"), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/it.rs b/src/lang/it.rs index caeeec340..cf00bcfab 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -567,5 +567,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Use all my displays for the remote session", "Usa tutti gli schermi per la sessione remota"), ("selinux_tip", ""), ("selinux_tip", "In questo dispositivo è abilitato SELinux, che potrebbe impedire il corretto funzionamento di RustDesk come lato controllato."), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ja.rs b/src/lang/ja.rs index 51496107f..99c47a7bc 100644 --- a/src/lang/ja.rs +++ b/src/lang/ja.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ko.rs b/src/lang/ko.rs index 49cfd2931..641b20b7d 100644 --- a/src/lang/ko.rs +++ b/src/lang/ko.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/kz.rs b/src/lang/kz.rs index 5fc4a4795..3d9065756 100644 --- a/src/lang/kz.rs +++ b/src/lang/kz.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/lt.rs b/src/lang/lt.rs index 2c3551989..53f79603f 100644 --- a/src/lang/lt.rs +++ b/src/lang/lt.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/lv.rs b/src/lang/lv.rs index 47aa9c22d..f5718fa99 100644 --- a/src/lang/lv.rs +++ b/src/lang/lv.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Rādīt displejus kā atsevišķus logus"), ("Use all my displays for the remote session", "Izmantot visus manus displejus attālajai sesijai"), ("selinux_tip", "Jūsu ierīcē ir iespējots SELinux, kas var neļaut RustDesk pareizi darboties kā kontrolētajai pusei."), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/nl.rs b/src/lang/nl.rs index 0365206a9..e07cdbb03 100644 --- a/src/lang/nl.rs +++ b/src/lang/nl.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Beeldschermen weergeven als afzonderlijke vensters"), ("Use all my displays for the remote session", "Gebruik al mijn beeldschermen voor de externe sessie"), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pl.rs b/src/lang/pl.rs index f82cd4588..74b82f8e8 100644 --- a/src/lang/pl.rs +++ b/src/lang/pl.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Pokaż ekrany w osobnych oknach"), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs index 979add253..53b5458ea 100644 --- a/src/lang/pt_PT.rs +++ b/src/lang/pt_PT.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs index fac32ccf1..2e59b1d0d 100644 --- a/src/lang/ptbr.rs +++ b/src/lang/ptbr.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ro.rs b/src/lang/ro.rs index 83392ed77..6a0ccd119 100644 --- a/src/lang/ro.rs +++ b/src/lang/ro.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ru.rs b/src/lang/ru.rs index e7d90d2b8..b2b0882c7 100644 --- a/src/lang/ru.rs +++ b/src/lang/ru.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Показывать дисплеи в отдельных окнах"), ("Use all my displays for the remote session", "Использовать все мои дисплеи для удалённого сеанса"), ("selinux_tip", "На вашем устройстве включён SELinux, что может помешать правильной работе RustDesk на контролируемой стороне."), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sk.rs b/src/lang/sk.rs index 07029c213..2615c7614 100644 --- a/src/lang/sk.rs +++ b/src/lang/sk.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sl.rs b/src/lang/sl.rs index 83594ea75..6b805897b 100755 --- a/src/lang/sl.rs +++ b/src/lang/sl.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sq.rs b/src/lang/sq.rs index f9f49345d..813b28af7 100644 --- a/src/lang/sq.rs +++ b/src/lang/sq.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sr.rs b/src/lang/sr.rs index 956be5e33..0c6c2b42f 100644 --- a/src/lang/sr.rs +++ b/src/lang/sr.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sv.rs b/src/lang/sv.rs index 7a1faa19a..4d5561087 100644 --- a/src/lang/sv.rs +++ b/src/lang/sv.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/template.rs b/src/lang/template.rs index 6b6f28e5f..9e647254b 100644 --- a/src/lang/template.rs +++ b/src/lang/template.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/th.rs b/src/lang/th.rs index 89b753bc6..5f35ba4e5 100644 --- a/src/lang/th.rs +++ b/src/lang/th.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tr.rs b/src/lang/tr.rs index b1f3f3cd2..9ba3d1e9d 100644 --- a/src/lang/tr.rs +++ b/src/lang/tr.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tw.rs b/src/lang/tw.rs index cb7d7516a..f70c3d284 100644 --- a/src/lang/tw.rs +++ b/src/lang/tw.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ua.rs b/src/lang/ua.rs index 05a74f633..610777855 100644 --- a/src/lang/ua.rs +++ b/src/lang/ua.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", "Відображати дисплеї в якості окремих вікон"), ("Use all my displays for the remote session", "Використовувати всі мої дисплеї для віддаленого сеансу"), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); } diff --git a/src/lang/vn.rs b/src/lang/vn.rs index 9c259b8fa..f166f2482 100644 --- a/src/lang/vn.rs +++ b/src/lang/vn.rs @@ -566,5 +566,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Show displays as individual windows", ""), ("Use all my displays for the remote session", ""), ("selinux_tip", ""), + ("Change View", ""), + ("Big Tiles", ""), + ("Small Tiles", ""), + ("List", ""), ].iter().cloned().collect(); }