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; diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index b5143eb82..e3b57c09b 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -215,29 +215,7 @@ class _PeerTabPageState extends State } Widget _createPeerViewTypeSwitch(BuildContext context) { - final textColor = Theme.of(context).textTheme.titleLarge?.color; - final types = [PeerUiType.grid, PeerUiType.list]; - - return Obx(() => _hoverAction( - context: context, - onTap: () async { - final type = types - .elementAt(peerCardUiType.value == types.elementAt(0) ? 1 : 0); - 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'), - child: Icon( - peerCardUiType.value == PeerUiType.grid - ? Icons.view_list_rounded - : Icons.grid_view_rounded, - size: 18, - color: textColor, - )))); + return PeerViewDropdown(); } Widget _createMultiSelection() { @@ -777,6 +755,85 @@ class _PeerSearchBarState extends State { } } +class PeerViewDropdown extends StatefulWidget { + const PeerViewDropdown({super.key}); + + @override + State createState() => _PeerViewDropdownState(); +} + +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]; + 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; + setState(() {}); + await bind.setLocalFlutterOption( + k: "peer-card-ui-type", + v: peerCardUiType.value.index.toString(), + ); + }} + ), + ), + )))); + } + + 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; + setState(() { + 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}); diff --git a/flutter/lib/common/widgets/peers_view.dart b/flutter/lib/common/widgets/peers_view.dart index c058dd4dc..24949b94a 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,19 @@ 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); + final hideAbTagsPanel = bind.mainGetLocalOption(key: "hideAbTagsPanel").isNotEmpty; return isDesktop ? Obx( () => SizedBox( - width: 220, + width: peerCardUiType.value != PeerUiType.list + ? 220 + : model.currentTab == PeerTabIndex.group.index || (model.currentTab == PeerTabIndex.ab.index && !hideAbTagsPanel) + ? windowWidth - 390 : + windowWidth - 227, height: - peerCardUiType.value == PeerUiType.grid ? 140 : 42, + peerCardUiType.value == PeerUiType.grid ? 140 : peerCardUiType.value != PeerUiType.list ? 42 : 45, child: visibilityChild, ), ) 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(); }