From 4f9255539914518a8cff7711d61bd48b4d844f1e Mon Sep 17 00:00:00 2001 From: rustdesk Date: Fri, 23 Sep 2022 15:12:50 +0800 Subject: [PATCH] fix connect status colors --- flutter/lib/common/widgets/peer_card.dart | 27 +++++++++---------- flutter/lib/consts.dart | 2 ++ .../lib/desktop/pages/connection_page.dart | 7 ++++- .../desktop/pages/desktop_setting_page.dart | 3 ++- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index 2f6421880..f00a6864d 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -1,6 +1,7 @@ import 'package:contextmenu/contextmenu.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_hbb/consts.dart'; import 'package:get/get.dart'; import '../../common.dart'; @@ -156,13 +157,7 @@ class _PeerCardState extends State<_PeerCard> child: Column( children: [ Row(children: [ - Padding( - padding: const EdgeInsets.fromLTRB(0, 4, 4, 4), - child: CircleAvatar( - radius: 5, - backgroundColor: peer.online - ? Colors.green - : Colors.yellow)), + getOnline(4, peer.online), Expanded( child: Text( alias.isEmpty ? formatID(peer.id) : alias, @@ -256,13 +251,7 @@ class _PeerCardState extends State<_PeerCard> children: [ Expanded( child: Row(children: [ - Padding( - padding: const EdgeInsets.fromLTRB(0, 4, 8, 4), - child: CircleAvatar( - radius: 5, - backgroundColor: peer.online - ? Colors.green - : Colors.yellow)), + getOnline(4, peer.online), Expanded( child: Text( peer.alias.isEmpty ? formatID(peer.id) : peer.alias, @@ -991,3 +980,13 @@ void _rdpDialog(String id) async { ); }); } + +Widget getOnline(int rightMargin, bool online) { + return Tooltip( + message: translate(online ? 'Online' : 'Offline'), + waitDuration: const Duration(seconds: 1), + child: Padding( + padding: const EdgeInsets.fromLTRB(0, 4, 8, 4), + child: CircleAvatar( + radius: 3, backgroundColor: online ? Colors.green : kColorWarn))); +} diff --git a/flutter/lib/consts.dart b/flutter/lib/consts.dart index ff15173d3..ccacab5fb 100644 --- a/flutter/lib/consts.dart +++ b/flutter/lib/consts.dart @@ -11,6 +11,8 @@ const String kAppTypeDesktopPortForward = "port forward"; const String kTabLabelHomePage = "Home"; const String kTabLabelSettingPage = "Settings"; +const Color kColorWarn = Color.fromARGB(255, 245, 133, 59); + const int kMobileDefaultDisplayWidth = 720; const int kMobileDefaultDisplayHeight = 1280; diff --git a/flutter/lib/desktop/pages/connection_page.dart b/flutter/lib/desktop/pages/connection_page.dart index 9ff7befd7..261b23f53 100644 --- a/flutter/lib/desktop/pages/connection_page.dart +++ b/flutter/lib/desktop/pages/connection_page.dart @@ -5,6 +5,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common/widgets/address_book.dart'; +import 'package:flutter_hbb/consts.dart'; import 'package:get/get.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -297,7 +298,11 @@ class _ConnectionPageState extends State { width: 8, decoration: BoxDecoration( borderRadius: BorderRadius.circular(20), - color: svcStopped.value ? Colors.redAccent : Colors.green, + color: svcStopped.value || svcStatusCode.value == 0 + ? kColorWarn + : (svcStatusCode.value == 1 + ? Color.fromARGB(255, 50, 190, 166) + : Color.fromARGB(255, 224, 79, 95)), ), ).paddingSymmetric(horizontal: 12.0); if (svcStopped.value) { diff --git a/flutter/lib/desktop/pages/desktop_setting_page.dart b/flutter/lib/desktop/pages/desktop_setting_page.dart index 0918fc59b..02c2b5354 100644 --- a/flutter/lib/desktop/pages/desktop_setting_page.dart +++ b/flutter/lib/desktop/pages/desktop_setting_page.dart @@ -4,6 +4,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_hbb/common.dart'; +import 'package:flutter_hbb/consts.dart'; import 'package:flutter_hbb/desktop/pages/desktop_home_page.dart'; import 'package:flutter_hbb/models/platform_model.dart'; import 'package:flutter_hbb/models/server_model.dart'; @@ -474,7 +475,7 @@ class _SafetyState extends State<_Safety> with AutomaticKeepAliveClientMixin { _OptionCheckBox(context, 'Deny remote access', 'stop-service', checkedIcon: const Icon( Icons.warning_amber_rounded, - color: Color.fromARGB(255, 255, 204, 0), + color: kColorWarn, ), enabled: enabled), Offstage(