diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart index 9de43693a..314b1f9d3 100644 --- a/flutter/lib/common.dart +++ b/flutter/lib/common.dart @@ -2194,7 +2194,7 @@ Widget buildRemoteBlock({required Widget child, WhetherUseRemoteBlock? use}) { } Widget unreadMessageCountBuilder(RxInt? count, - {double? size, double? fontSize, double? marginLeft}) { + {double? size, double? fontSize}) { return Obx(() => Offstage( offstage: !((count?.value ?? 0) > 0), child: Container( @@ -2209,5 +2209,18 @@ Widget unreadMessageCountBuilder(RxInt? count, maxLines: 1, style: TextStyle(color: Colors.white, fontSize: fontSize ?? 10)), ), - ).marginOnly(left: marginLeft ?? 4))); + ))); +} + +Widget unreadTopRightBuilder(RxInt? count, + {Widget? icon, double? size, double? fontSize}) { + return Stack( + children: [ + icon ?? Icon(Icons.chat), + Positioned( + top: 0, + right: 0, + child: unreadMessageCountBuilder(count, size: 12, fontSize: 8)) + ], + ); } diff --git a/flutter/lib/common/widgets/chat_page.dart b/flutter/lib/common/widgets/chat_page.dart index 17267b71b..b6611d3ed 100644 --- a/flutter/lib/common/widgets/chat_page.dart +++ b/flutter/lib/common/widgets/chat_page.dart @@ -24,22 +24,14 @@ class ChatPage extends StatelessWidget implements PageShape { final title = translate("Chat"); @override - final icon = Icon(Icons.chat); + final icon = unreadTopRightBuilder(gFFI.chatModel.mobileUnreadSum); @override final appBarActions = [ PopupMenuButton( tooltip: "", - icon: Stack( - children: [ - Icon(Icons.group), - Positioned( - top: 0, - right: 0, - child: unreadMessageCountBuilder(gFFI.chatModel.mobileUnreadSum, - marginLeft: 0, size: 12, fontSize: 8)) - ], - ), + icon: unreadTopRightBuilder(gFFI.chatModel.mobileUnreadSum, + icon: Icon(Icons.group)), itemBuilder: (context) { // only mobile need [appBarActions], just bind gFFI.chatModel final chatModel = gFFI.chatModel; @@ -65,10 +57,12 @@ class ChatPage extends StatelessWidget implements PageShape { width: 10, height: 10, decoration: BoxDecoration( - shape: BoxShape.circle, color: Colors.green), + shape: BoxShape.circle, + color: Color.fromARGB(255, 46, 205, 139)), ).marginSymmetric(horizontal: 2), if (client != null) unreadMessageCountBuilder(client.unreadChatMessageCount) + .marginOnly(left: 4) ], ), value: key, @@ -88,7 +82,6 @@ class ChatPage extends StatelessWidget implements PageShape { color: Theme.of(context).scaffoldBackgroundColor, child: Consumer( builder: (context, chatModel, child) { - final currentUser = chatModel.currentUser; final readOnly = type == ChatPageType.mobileMain && (chatModel.currentKey.connId == ChatModel.clientModeID || gFFI.serverModel.clients.every((e) => @@ -177,28 +170,6 @@ class ChatPage extends StatelessWidget implements PageShape { ); return SelectionArea(child: chat); }), - desktopType == DesktopType.cm || - type != ChatPageType.mobileMain || - currentUser == null - ? SizedBox.shrink() - : Padding( - padding: EdgeInsets.all(12), - child: Row( - children: [ - Icon( - chatModel.currentKey.isOut - ? Icons.call_made_rounded - : Icons.call_received_rounded, - color: MyTheme.accent), - Icon(Icons.account_circle, color: MyTheme.accent80), - SizedBox(width: 5), - Text( - "${currentUser.firstName} ${currentUser.id}", - style: TextStyle(color: MyTheme.accent), - ), - ], - ), - ), ], ).paddingOnly(bottom: 8); }, diff --git a/flutter/lib/desktop/pages/remote_tab_page.dart b/flutter/lib/desktop/pages/remote_tab_page.dart index 0b4f4094a..9ee04f8b1 100644 --- a/flutter/lib/desktop/pages/remote_tab_page.dart +++ b/flutter/lib/desktop/pages/remote_tab_page.dart @@ -205,7 +205,8 @@ class _ConnectionTabPageState extends State { ).paddingOnly(right: 5), ), label, - unreadMessageCountBuilder(UnreadChatCountState.find(key)), + unreadMessageCountBuilder(UnreadChatCountState.find(key)) + .marginOnly(left: 4), ], ); diff --git a/flutter/lib/desktop/pages/server_page.dart b/flutter/lib/desktop/pages/server_page.dart index deed70085..53088f69e 100644 --- a/flutter/lib/desktop/pages/server_page.dart +++ b/flutter/lib/desktop/pages/server_page.dart @@ -165,7 +165,8 @@ class ConnectionManagerState extends State { message: key, waitDuration: Duration(seconds: 1), child: label), - unreadMessageCountBuilder(client?.unreadChatMessageCount), + unreadMessageCountBuilder(client?.unreadChatMessageCount) + .marginOnly(left: 4), ], ); }, diff --git a/flutter/lib/mobile/pages/connection_page.dart b/flutter/lib/mobile/pages/connection_page.dart index d736e0ace..f2680db39 100644 --- a/flutter/lib/mobile/pages/connection_page.dart +++ b/flutter/lib/mobile/pages/connection_page.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:auto_size_text_field/auto_size_text_field.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common/formatter/id_formatter.dart'; import 'package:get/get.dart'; @@ -131,7 +132,8 @@ class _ConnectionPageState extends State { Expanded( child: Container( padding: const EdgeInsets.only(left: 16, right: 16), - child: TextField( + child: AutoSizeTextField( + minFontSize: 18, autocorrect: false, enableSuggestions: false, keyboardType: TextInputType.visiblePassword, diff --git a/flutter/lib/mobile/pages/home_page.dart b/flutter/lib/mobile/pages/home_page.dart index 61674807a..f902f6743 100644 --- a/flutter/lib/mobile/pages/home_page.dart +++ b/flutter/lib/mobile/pages/home_page.dart @@ -1,13 +1,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_hbb/mobile/pages/server_page.dart'; import 'package:flutter_hbb/mobile/pages/settings_page.dart'; +import 'package:get/get.dart'; import '../../common.dart'; import '../../common/widgets/chat_page.dart'; import 'connection_page.dart'; abstract class PageShape extends Widget { final String title = ""; - final Icon icon = Icon(null); + final Widget icon = Icon(null); final List appBarActions = []; } @@ -63,7 +64,7 @@ class _HomePageState extends State { // backgroundColor: MyTheme.grayBg, appBar: AppBar( centerTitle: true, - title: Text("RustDesk"), + title: appTitle(), actions: _pages.elementAt(_selectedIndex).appBarActions, ), bottomNavigationBar: BottomNavigationBar( @@ -81,15 +82,62 @@ class _HomePageState extends State { if (index == 1 && _selectedIndex != index) { gFFI.chatModel.hideChatIconOverlay(); gFFI.chatModel.hideChatWindowOverlay(); + gFFI.chatModel + .mobileClearClientUnread(gFFI.chatModel.currentKey.connId); } _selectedIndex = index; - gFFI.chatModel - .mobileClearClientUnread(gFFI.chatModel.currentKey.connId); }), ), body: _pages.elementAt(_selectedIndex), )); } + + Widget appTitle() { + final currentUser = gFFI.chatModel.currentUser; + final currentKey = gFFI.chatModel.currentKey; + if (_selectedIndex == 1 && + currentUser != null && + currentKey.peerId.isNotEmpty) { + final connected = + gFFI.serverModel.clients.any((e) => e.id == currentKey.connId); + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Tooltip( + message: currentKey.isOut + ? translate('outgoing connection') + : translate('incomming connection'), + child: Icon( + currentKey.isOut + ? Icons.call_made_rounded + : Icons.call_received_rounded, + ), + ), + Expanded( + child: Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + "${currentUser.firstName} ${currentUser.id}", + ), + if (connected) + Container( + width: 10, + height: 10, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Color.fromARGB(255, 133, 246, 199)), + ).marginSymmetric(horizontal: 2), + ], + ), + ), + ), + ], + ); + } + return Text("RustDesk"); + } } class WebHomePage extends StatelessWidget { diff --git a/flutter/lib/mobile/pages/server_page.dart b/flutter/lib/mobile/pages/server_page.dart index c215564fa..a8255180b 100644 --- a/flutter/lib/mobile/pages/server_page.dart +++ b/flutter/lib/mobile/pages/server_page.dart @@ -428,7 +428,8 @@ class ConnectionManager extends StatelessWidget { bar.onTap!(1); } }, - icon: const Icon(Icons.chat))) + icon: unreadTopRightBuilder( + client.unreadChatMessageCount))) ], ), client.authorized diff --git a/flutter/lib/models/chat_model.dart b/flutter/lib/models/chat_model.dart index 8c59f5f8a..e44a694d4 100644 --- a/flutter/lib/models/chat_model.dart +++ b/flutter/lib/models/chat_model.dart @@ -25,7 +25,7 @@ import 'model.dart'; class MessageKey { final String peerId; final int connId; - bool get isOut => connId != ChatModel.clientModeID; + bool get isOut => connId == ChatModel.clientModeID; MessageKey(this.peerId, this.connId); diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock index e14ff5046..ead34415f 100644 --- a/flutter/pubspec.lock +++ b/flutter/pubspec.lock @@ -65,6 +65,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" + auto_size_text_field: + dependency: "direct main" + description: + name: auto_size_text_field + sha256: "8967129167193fefbb7a8707ade1bb71f9e52b9a5cf6da0132b7f6b7946c5a3f" + url: "https://pub.dev" + source: hosted + version: "2.2.1" back_button_interceptor: dependency: "direct main" description: diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index 60861eb87..4b6e964ad 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -96,6 +96,7 @@ dependencies: percent_indicator: ^4.2.2 dropdown_button2: ^2.0.0 uuid: ^3.0.7 + auto_size_text_field: ^2.2.1 dev_dependencies: icons_launcher: ^2.0.4 diff --git a/src/lang/ca.rs b/src/lang/ca.rs index 9d540f1e7..9835c0704 100644 --- a/src/lang/ca.rs +++ b/src/lang/ca.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/cn.rs b/src/lang/cn.rs index ad2b9e614..3a2a6ebd0 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "接受并提权"), ("accept_and_elevate_btn_tooltip", "接受连接并提升 UAC 权限"), ("clipboard_wait_response_timeout_tip", "等待拷贝响应超时"), + ("incomming connection", "收到的连接"), + ("outgoing connection", "发起的连接"), ].iter().cloned().collect(); } diff --git a/src/lang/cs.rs b/src/lang/cs.rs index ae19c98c8..945493799 100644 --- a/src/lang/cs.rs +++ b/src/lang/cs.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/da.rs b/src/lang/da.rs index 2b7380670..e57a43b4e 100644 --- a/src/lang/da.rs +++ b/src/lang/da.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/de.rs b/src/lang/de.rs index db726dba5..38e1bb4c1 100644 --- a/src/lang/de.rs +++ b/src/lang/de.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Akzeptieren und Rechte erhöhen"), ("accept_and_elevate_btn_tooltip", "Akzeptieren Sie die Verbindung und erhöhen Sie die UAC-Berechtigungen."), ("clipboard_wait_response_timeout_tip", "Zeitüberschreitung beim Warten auf die Antwort der Kopie."), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/el.rs b/src/lang/el.rs index 05f7d6702..cb5d627e7 100644 --- a/src/lang/el.rs +++ b/src/lang/el.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/eo.rs b/src/lang/eo.rs index 393406bd9..dd8fc25d0 100644 --- a/src/lang/eo.rs +++ b/src/lang/eo.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/es.rs b/src/lang/es.rs index 51b33f08d..351fa90ee 100644 --- a/src/lang/es.rs +++ b/src/lang/es.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Aceptar y Elevar"), ("accept_and_elevate_btn_tooltip", "Aceptar la conexión y elevar permisos UAC."), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fa.rs b/src/lang/fa.rs index dc21d7d7c..92a080212 100644 --- a/src/lang/fa.rs +++ b/src/lang/fa.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "بپذیرید و افزایش دهید"), ("accept_and_elevate_btn_tooltip", "را افزایش دهید UAC اتصال را بپذیرید و مجوزهای."), ("clipboard_wait_response_timeout_tip", "زمان انتظار برای مشخص شدن وضعیت کپی تمام شد."), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fr.rs b/src/lang/fr.rs index fe0cadfb5..885b2c17a 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/hu.rs b/src/lang/hu.rs index c4a27265a..67c1b366a 100644 --- a/src/lang/hu.rs +++ b/src/lang/hu.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/id.rs b/src/lang/id.rs index 3566d8e48..637cb6ea1 100644 --- a/src/lang/id.rs +++ b/src/lang/id.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/it.rs b/src/lang/it.rs index bb287d1ea..879efcb29 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Accetta ed eleva"), ("accept_and_elevate_btn_tooltip", "Accetta la connessione ed eleva le autorizzazioni UAC."), ("clipboard_wait_response_timeout_tip", "Timeout attesa risposta della copia."), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ja.rs b/src/lang/ja.rs index 41cf9ddc7..14e572010 100644 --- a/src/lang/ja.rs +++ b/src/lang/ja.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ko.rs b/src/lang/ko.rs index dfa86082e..878cb3821 100644 --- a/src/lang/ko.rs +++ b/src/lang/ko.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/kz.rs b/src/lang/kz.rs index fd487e426..b811820da 100644 --- a/src/lang/kz.rs +++ b/src/lang/kz.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/lt.rs b/src/lang/lt.rs index 85fbef050..ad702dfa0 100644 --- a/src/lang/lt.rs +++ b/src/lang/lt.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/nl.rs b/src/lang/nl.rs index 004eea12e..cff145f39 100644 --- a/src/lang/nl.rs +++ b/src/lang/nl.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Accepteren en Verheffen"), ("accept_and_elevate_btn_tooltip", "Accepteer de verbinding en verhoog de UAC-machtigingen."), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pl.rs b/src/lang/pl.rs index 9cea7993c..8d9a3b533 100644 --- a/src/lang/pl.rs +++ b/src/lang/pl.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Akceptuj i Podnieś uprawnienia"), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs index 88253881a..26069573a 100644 --- a/src/lang/pt_PT.rs +++ b/src/lang/pt_PT.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs index 519e7fce5..25de11130 100644 --- a/src/lang/ptbr.rs +++ b/src/lang/ptbr.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ro.rs b/src/lang/ro.rs index 0d793cb86..25dd4655f 100644 --- a/src/lang/ro.rs +++ b/src/lang/ro.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ru.rs b/src/lang/ru.rs index 3be5f9810..f1fc7c045 100644 --- a/src/lang/ru.rs +++ b/src/lang/ru.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Принять и повысить"), ("accept_and_elevate_btn_tooltip", "Разрешить подключение и повысить права UAC."), ("clipboard_wait_response_timeout_tip", "Время ожидания копирования буфера обмена, истекло"), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sk.rs b/src/lang/sk.rs index f3700e37c..4350615a1 100644 --- a/src/lang/sk.rs +++ b/src/lang/sk.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sl.rs b/src/lang/sl.rs index cfd5d7f08..73011b67b 100755 --- a/src/lang/sl.rs +++ b/src/lang/sl.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sq.rs b/src/lang/sq.rs index d2b15c6ac..927b84f4e 100644 --- a/src/lang/sq.rs +++ b/src/lang/sq.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sr.rs b/src/lang/sr.rs index fe98b2505..b86dece15 100644 --- a/src/lang/sr.rs +++ b/src/lang/sr.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sv.rs b/src/lang/sv.rs index 9e6b1f770..423fdfd17 100644 --- a/src/lang/sv.rs +++ b/src/lang/sv.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/template.rs b/src/lang/template.rs index 692936236..88abd2215 100644 --- a/src/lang/template.rs +++ b/src/lang/template.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/th.rs b/src/lang/th.rs index d3570290e..9bb86ba59 100644 --- a/src/lang/th.rs +++ b/src/lang/th.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tr.rs b/src/lang/tr.rs index 7f82efc1b..c7ba5fceb 100644 --- a/src/lang/tr.rs +++ b/src/lang/tr.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tw.rs b/src/lang/tw.rs index 30e527ec6..1253aee75 100644 --- a/src/lang/tw.rs +++ b/src/lang/tw.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", ""), ("accept_and_elevate_btn_tooltip", ""), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", "收到的連接"), + ("outgoing connection", "發起的連接"), ].iter().cloned().collect(); } diff --git a/src/lang/ua.rs b/src/lang/ua.rs index 222038f7c..8ba47e6c5 100644 --- a/src/lang/ua.rs +++ b/src/lang/ua.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Погодитись та розширити права"), ("accept_and_elevate_btn_tooltip", "Погодити підключення та розширити дозволи UAC."), ("clipboard_wait_response_timeout_tip", "Вийшов час очікування копіювання."), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); } diff --git a/src/lang/vn.rs b/src/lang/vn.rs index fd4b10506..3b6f5205f 100644 --- a/src/lang/vn.rs +++ b/src/lang/vn.rs @@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Accept and Elevate", "Chấp nhận và Cấp Quyền"), ("accept_and_elevate_btn_tooltip", "Chấp nhận kết nối và cấp các quyền UAC."), ("clipboard_wait_response_timeout_tip", ""), + ("incomming connection", ""), + ("outgoing connection", ""), ].iter().cloned().collect(); }