From 70e7e9953156f67a552e692bdf4394f893ceb829 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Tue, 27 Sep 2022 18:34:05 +0800 Subject: [PATCH] some png -> svg --- flutter/assets/android.png | Bin 1762 -> 0 bytes flutter/assets/insecure.png | Bin 4126 -> 0 bytes flutter/assets/insecure_relay.png | Bin 4616 -> 0 bytes flutter/assets/linux.png | Bin 4247 -> 0 bytes flutter/assets/logo.ico | Bin 67646 -> 0 bytes flutter/assets/mac.png | Bin 2885 -> 0 bytes flutter/assets/secure.png | Bin 2509 -> 0 bytes flutter/assets/secure_relay.png | Bin 5147 -> 0 bytes flutter/assets/win.png | Bin 1379 -> 0 bytes flutter/lib/common.dart | 4 +-- flutter/lib/common/widgets/peer_card.dart | 1 + flutter/lib/desktop/pages/server_page.dart | 5 +-- .../lib/desktop/widgets/tabbar_widget.dart | 9 ++--- flutter/lib/models/model.dart | 5 +-- flutter/pubspec.lock | 31 +++++++++++++++--- flutter/pubspec.yaml | 1 + 16 files changed, 41 insertions(+), 15 deletions(-) delete mode 100644 flutter/assets/android.png delete mode 100644 flutter/assets/insecure.png delete mode 100644 flutter/assets/insecure_relay.png delete mode 100644 flutter/assets/linux.png delete mode 100644 flutter/assets/logo.ico delete mode 100644 flutter/assets/mac.png delete mode 100644 flutter/assets/secure.png delete mode 100644 flutter/assets/secure_relay.png delete mode 100644 flutter/assets/win.png diff --git a/flutter/assets/android.png b/flutter/assets/android.png deleted file mode 100644 index 3231003306c630840b052b8a9140f2ef6dbb466c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1762 zcmcJQ`#%#3AIEpt&}3(lAql%_&8=MHsHus?mMJ8QnOLXexL2H5r;*!cnQKS$xa3x1 zGs-12xh|euk`~Ej*{SF>By$cq&L8l+&QH(x`}%&~uh;jN&*!&Kx+lq11H1m9shv zk|Az)xT8&VD7=whl5|DXnql%YtZO?Yn1FXa6F0FqxgadG1OR71?C+Fk(KF}QHUovc zdk?Q9^X}i6(d&4^v8vN2dcXr79bQneji)EdEjtV_>_yg)rKDB*3AL0a_*Xw1`WrY>e}M?>xLKp zsQIg>>dVZV{PJo>l?43Fu6=DOq{l~j?ZBhwqE?6k+2R2OXJaZ$La{>%Fu7QgVF@ao zxkI|0Vle$K7;Jm3!`)Du;_kzQ_3MWB6z21eHEY2dO(N|&PCC~JH7IV68qLxU9tn&A zU~h75m`VG0u|Ga7?T1Rqju2P=LD*$kmXe`V4u)XUhUdHfRKQPsD3{5Z;G}`WDh4zv zs*n4N?%26VBz-4_yXcuq=KXYJ;p-b#XsWVG>>OfbhUL2gN?q9D=!n<#5JOOPAAMs0 z2c(E1s!@>0)oW^>tl`jxWSV zR!?M&?!F*6p0jyXNFem|h$m<}Dkxme%pjn`UPpa>^n$GLZeN(>MT>mpmE1O>vgiW^s85PDPtgDsHE5MD7sW85-eyKd zovnpbeE!z^dz07hwQ{ZJNWNlJiOZU_(x?jG^MZ7zfTdI zSzq6YyY|Nxnl(`goOR07>Z-dN|1HI>tq`99AFq+ZDaow&&1yQca0m0JF3o8iR-~qR z+5dbOt6^NYH+KtP2GV+JDbLq6St~Ts7wfX>D9WH7cD0o6+BgSO)n+C!a2A>cht#o1 zohsyujy8=&9O^-HLYK?@gPmqbZPgm5uvgZd1`fR?MgLKuArQ-ep$0l#FUV^nZ#sh3 zYE*3LIre7-nTTn6WL5aM zh;+N}+!2dk=|ZJUh4<_n_6MM~YDYIxTOjxelXsnK`u^$Zs=YB84-zQ$c9WFdc?zn- zpqamZyu;+&cN6VD_>P9eu^EpW=1->_BqWB(sUt^QE*8FjUIKxhpKTevcip&_-s*hA zcxO-==ikK7&CRrsHdi6mZu{U8R2dN5o_ch?`xNV8nM72)I<}UV<`2G3i(;8DszdTR z@1CTDrD(SAST=FLg9M?8!UHoe19~?_&1Jb!{t9i>AvA`kzemqX)YRMGz6>Hwhu{rF zP9q-@(?6Lo_D1O7REN*CTuv+b=o1}$`Iv4vKdCNw<5WE(hnDhdc;HZ>^mRV^9;8aA k%{7<5Fg-08pg&W9wzw-rraZr!+Z6&JxRCI5$EeJ|0aB!T!2kdN diff --git a/flutter/assets/insecure.png b/flutter/assets/insecure.png deleted file mode 100644 index 0c954468d939085cdf323e29cac1271e5be66e5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4126 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 Gxc>o{396m| diff --git a/flutter/assets/insecure_relay.png b/flutter/assets/insecure_relay.png deleted file mode 100644 index 878d574674ef9fd005eab6579dc10261051b1f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4616 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 W8iXC&Q2XDd1JHhCfT+~44f{XEhJaZB diff --git a/flutter/assets/linux.png b/flutter/assets/linux.png deleted file mode 100644 index 456e58675ae4cfc9db01574174e1b7afe6a60c1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4247 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 R|L?&BSehacFO9vE{|EW)y#xRN diff --git a/flutter/assets/secure.png b/flutter/assets/secure.png deleted file mode 100644 index 01dcb2a8a539dd3290ac8af0c66352460a27836c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2509 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 diff --git a/flutter/assets/win.png b/flutter/assets/win.png deleted file mode 100644 index 5ce86a25755115dcee601fb7bb683b9e06712945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1379 zcmeAS@N?(olHy`uVBq!ia0vp^CxG}V2Q!dV+~VN^q~-+pgt!9f|AQ4wR=AJ?bf0la zkY6yvpNGuc_k_en-m(5*;&}D-+EZQi%2*}SMJDcYpQdiTnyrOL90gx9(F zr#rOsH~qSr$H2hi?CIhdQgQ3;-E9Bc1|n<;(&kGo`YtaM_qv^H!1gqZ?aBZD+izw* z_RgQRWtDa3z3^EkzgXpN+8uw+JVTMANdbsXJoK2E8nlVc-8Ak%%aouEzE=Lp2P|00aXjtaYmT^*>HS;{Io?T z7MvoAr`jqTZQ06%TeoUF^>g4|)FO~*Kl$#%AJ1-mHFp2NlqI0*>vDs)>-*E>8|Syx zS1l5lu3tSty?Z8~Un6@!OUTkGJ5R)I+{9j4Z?3>u`1g$K#&asK*a{UFu?re;?{fT} zX?phB{LQD6?=}dya7vamUr*Y)Gl-|k)Ma`*tBQgb%hnaqH*O}pGr!o{yraMG$sd7G zRhtv#Wo9#8+Pq6obrMBHW}6-D?M?1ZXg(sIt@iq+ z!mjDpm?jCR8aoR-R9ltS9ChGuotx02ZMz$9x?Ic=;LLDZa;7QI;E%!V6Fnzh-h0_* zlA>&I_rb5+E8p*1-*e+_xRJbJ2JfT12l=jN8$U1~_I<2iec88IF_eLkMZf_PNiQxzomNv2)Bi zh{!_gx{QT?b|BO3}+f?^G&d_D0& z_}a{#Nvn4(uHp~%*kP0Cs1X)=^qRFf%cBX*KdW}l*8`>}J=>1Y&m69Vxxcj$e?0s6 z_MOiHnHTXFKK1Qb!Ccy&T-{n69_0RLi=thj|Jk;0T+g|h=D)P4^tjP9<$KKz90}cCvFvnJ>)gg?Rq4x=`8t31`=@85E!eTR=-L_$ z#gqpt(-yc)z8`h`T)>US9QRb-zNqjw*Ic%pX$EC}4k!J3hNbgt3_o?ec?c|x7(8A5 KT-G@yGywp&Jg<8I diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart index a708a0a15..ae6f04d2d 100644 --- a/flutter/lib/common.dart +++ b/flutter/lib/common.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; -import 'dart:ui'; import 'package:back_button_interceptor/back_button_interceptor.dart'; import 'package:desktop_multi_window/desktop_multi_window.dart'; @@ -15,6 +14,7 @@ import 'package:flutter_hbb/utils/multi_window_manager.dart'; import 'package:get/get.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'common/widgets/overlay.dart'; import 'mobile/pages/file_manager_page.dart'; @@ -946,7 +946,7 @@ Widget getPlatformImage(String platform, {double size = 50}) { } else if (platform != 'linux' && platform != 'android') { platform = 'win'; } - return Image.asset('assets/$platform.png', height: size, width: size); + return SvgPicture.asset('assets/$platform.svg', height: size, width: size); } class LastWindowPosition { diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index 9a77eee04..6ebdccbb0 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -151,6 +151,7 @@ class _PeerCardState extends State<_PeerCard> color: str2color('${peer.id}${peer.platform}', 0x7f), ), alignment: Alignment.center, + width: 42, child: getPlatformImage(peer.platform, size: 30).paddingAll(6), ), Expanded( diff --git a/flutter/lib/desktop/pages/server_page.dart b/flutter/lib/desktop/pages/server_page.dart index b17fe70f4..f93591355 100644 --- a/flutter/lib/desktop/pages/server_page.dart +++ b/flutter/lib/desktop/pages/server_page.dart @@ -10,6 +10,7 @@ import 'package:flutter_hbb/models/chat_model.dart'; import 'package:get/get.dart'; import 'package:provider/provider.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import '../../common.dart'; import '../../models/platform_model.dart'; @@ -200,8 +201,8 @@ class _AppIcon extends StatelessWidget { Widget build(BuildContext context) { return Container( margin: EdgeInsets.symmetric(horizontal: 4.0), - child: Image.asset( - 'assets/logo.ico', + child: SvgPicture.asset( + 'assets/logo.svg', width: 30, height: 30, ), diff --git a/flutter/lib/desktop/widgets/tabbar_widget.dart b/flutter/lib/desktop/widgets/tabbar_widget.dart index 1b82b6b55..9bfc010ec 100644 --- a/flutter/lib/desktop/widgets/tabbar_widget.dart +++ b/flutter/lib/desktop/widgets/tabbar_widget.dart @@ -11,6 +11,7 @@ import 'package:flutter_hbb/models/platform_model.dart'; import 'package:get/get.dart'; import 'package:scroll_pos/scroll_pos.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import '../../utils/multi_window_manager.dart'; @@ -297,10 +298,10 @@ class DesktopTab extends StatelessWidget { Row(children: [ Offstage( offstage: !showLogo, - child: Image.asset( - 'assets/logo.ico', - width: 20, - height: 20, + child: SvgPicture.asset( + 'assets/logo.svg', + width: 16, + height: 16, )), Offstage( offstage: !showTitle, diff --git a/flutter/lib/models/model.dart b/flutter/lib/models/model.dart index c90b07daf..78d94df16 100644 --- a/flutter/lib/models/model.dart +++ b/flutter/lib/models/model.dart @@ -17,6 +17,7 @@ import 'package:flutter_hbb/models/user_model.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:tuple/tuple.dart'; import 'package:flutter_custom_cursor/flutter_custom_cursor.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import '../common.dart'; import '../common/shared_state.dart'; @@ -111,13 +112,13 @@ class FfiModel with ChangeNotifier { } } - Image? getConnectionImage() { + Widget? getConnectionImage() { if (secure == null || direct == null) { return null; } else { final icon = '${secure == true ? 'secure' : 'insecure'}${direct == true ? '' : '_relay'}'; - return Image.asset('assets/$icon.png', width: 48, height: 48); + return SvgPicture.asset('assets/$icon.png', width: 48, height: 48); } } diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock index 3975e1e8d..755d551db 100644 --- a/flutter/pubspec.lock +++ b/flutter/pubspec.lock @@ -140,7 +140,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.1" + version: "1.2.0" charcode: dependency: transitive description: @@ -161,7 +161,7 @@ packages: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.1.0" code_builder: dependency: transitive description: @@ -416,6 +416,13 @@ packages: url: "https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge" source: git version: "1.32.0" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.5" flutter_web_plugins: dependency: transitive description: flutter @@ -595,7 +602,7 @@ packages: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.5" + version: "0.1.4" menu_base: dependency: transitive description: @@ -609,7 +616,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.7.0" mime: dependency: transitive description: @@ -686,7 +693,21 @@ packages: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.8.1" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" path_provider: dependency: "direct main" description: diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index ba0578417..95ec5f351 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -81,6 +81,7 @@ dependencies: scroll_pos: ^0.3.0 rxdart: ^0.27.5 file_picker: ^5.1.0 + flutter_svg: ^1.1.5 flutter_improved_scrolling: ^0.0.3 # currently, we use flutter 3.0.5 for windows build, latest for other builds. #