From e882487d32cf8ad5dae7e542e50506a565541c84 Mon Sep 17 00:00:00 2001 From: Laszlo Nemeth <57342539+donlaci@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:32:06 +0200 Subject: [PATCH] Workspaces using glyphs (#34449) * Replacing images by glyphs. * Removing not needed image files * xaml formatting * changing colors --------- Co-authored-by: Stefan Markovic --- .../Models/AppLaunching.cs | 25 +++++++++++------- .../WorkspacesLauncherUI/StatusWindow.xaml | 7 +++-- .../WorkspacesLauncherUI.csproj | 11 -------- .../WorkspacesLauncherUI/images/checkmark.png | Bin 2829 -> 0 bytes .../WorkspacesLauncherUI/images/failed.png | Bin 14789 -> 0 bytes 5 files changed, 20 insertions(+), 23 deletions(-) delete mode 100644 src/modules/Workspaces/WorkspacesLauncherUI/images/checkmark.png delete mode 100644 src/modules/Workspaces/WorkspacesLauncherUI/images/failed.png diff --git a/src/modules/Workspaces/WorkspacesLauncherUI/Models/AppLaunching.cs b/src/modules/Workspaces/WorkspacesLauncherUI/Models/AppLaunching.cs index cf4ac4676e..61ad7ae5a7 100644 --- a/src/modules/Workspaces/WorkspacesLauncherUI/Models/AppLaunching.cs +++ b/src/modules/Workspaces/WorkspacesLauncherUI/Models/AppLaunching.cs @@ -3,22 +3,17 @@ // See the LICENSE file in the project root for more information. using System; -using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; using System.Linq; -using System.Text; using System.Text.Json.Serialization; using System.Text.RegularExpressions; -using System.Threading.Tasks; +using System.Windows.Media; using System.Windows.Media.Imaging; -using System.Windows.Navigation; using ManagedCommon; -using Microsoft.VisualBasic.Devices; -using Windows.ApplicationModel; using Windows.Management.Deployment; namespace WorkspacesLauncherUI.Models @@ -74,13 +69,23 @@ namespace WorkspacesLauncherUI.Models public string LaunchState { get; set; } - public string StateImageSource + public string StateGlyph { get => LaunchState switch { - "launched" => "../images/checkmark.png", - "failed" => "../images/failed.png", - _ => "../images/failed.png", + "launched" => "\U0000E73E", + "failed" => "\U0000E711", + _ => "\U0000E711", + }; + } + + public System.Windows.Media.Brush StateColor + { + get => LaunchState switch + { + "launched" => new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 0, 128, 0)), + "failed" => new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 254, 0, 0)), + _ => new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 254, 0, 0)), }; } diff --git a/src/modules/Workspaces/WorkspacesLauncherUI/StatusWindow.xaml b/src/modules/Workspaces/WorkspacesLauncherUI/StatusWindow.xaml index d267d935ef..c8cb1d440a 100644 --- a/src/modules/Workspaces/WorkspacesLauncherUI/StatusWindow.xaml +++ b/src/modules/Workspaces/WorkspacesLauncherUI/StatusWindow.xaml @@ -71,14 +71,17 @@ VerticalAlignment="Center" IsActive="True" Visibility="{Binding Loading, Mode=OneWay, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}" /> - diff --git a/src/modules/Workspaces/WorkspacesLauncherUI/WorkspacesLauncherUI.csproj b/src/modules/Workspaces/WorkspacesLauncherUI/WorkspacesLauncherUI.csproj index 81b17f50ec..146716b201 100644 --- a/src/modules/Workspaces/WorkspacesLauncherUI/WorkspacesLauncherUI.csproj +++ b/src/modules/Workspaces/WorkspacesLauncherUI/WorkspacesLauncherUI.csproj @@ -30,9 +30,7 @@ PowerToys.WorkspacesLauncherUI - - @@ -86,15 +84,6 @@ - - - - Always - - - Always - - True diff --git a/src/modules/Workspaces/WorkspacesLauncherUI/images/checkmark.png b/src/modules/Workspaces/WorkspacesLauncherUI/images/checkmark.png deleted file mode 100644 index ae088bf060466a6448de13bd83b5ed21190f1c7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2829 zcmb_e2Uiow77lGeNLV0IlTefDn3Q7|Mqy}kH zLQyHwo1m14E5*Vh`Uomb2?DG5;(vH^&Yf@WH|N}$@7|d?L&G@Rg2dtC0001FZ)c6= z ziCu{nb#z z?47ekV?`Ea7R3|AkzJ9w2K?2=tB3*w=`pGNc{!#Y z6U~mcF0{@b$hN<0&v?Y(i>6s8%-Iczm|4d%ox|S z$6siU=f|3y2#{L{xYqa)7j^1AF~G`v@6#UP^0_6TK|pI;TQvD*Ew*)eBk!SO%$l3b zNBG9%UjBmp0goC5^0%DY*EslD)Mtq!blwmt7By89u-1Zxm$E!%zHN>VsKQI<-lfSB;wLz&@Zd!k%D%`xR}iF& zWl4sdmiH`OR*h#qdj8n+BdqAP3+zT%VnQS}(RjJYsVbkaCuFE+5Z*mH2u!-h;N-^{ z9MgTCEeKH0W(LWi-o2^fK147}E@hFu@PDF=>QuvTTAhVU_1dEfcOicWHho^l-cGq0v z7?n6k1v-p`l-8(sLii<~EMWZxevX$fq+uWiA(1lrv7<8~LvDGjkKbCGpsL&*6thO@#@6W-H7nvMe>>r@)l{xG^{3}Y5Qp~I+49L*T??A+tK=T6W{{r3p-2Dq0+&wc@#TTiGY8N;BMk-7Ia{jWsw>eu0Y1K=+ z1ekMOCkrbtKnHUNW!qJ(bof$65gK_ec@yD2h*_ zLLai9IY?5sCLWSfLUhkSD~%Nc+EwIX&_f&DH+Lonbu?FGdmZ5{{>+MtKZi--fR=lE zuMDsEbEy%`(+q+ZGc;qDwwRZ7Q&oWj*h^Z9FI9 z@(T4pJ)Q!J7kSf#kC;LHvM&YM8`&V!-0BRP8M|jqPH&~QPxQz)!ltEexx@>03>g5AkqMOe!e4dTtf(duSyOhq|4!SZ}mzhA5aowZ-K^BQrOqq~^?$xM4f zAaz;ez8}v&XP|tNiI2)GH?Hy-e#cQ3v@3B}4g__tfOb<9gi^orP6W9)bAjFDuiYxB z6uj%A;TmdgE7v(I`bM@whJeIbQ@hz0ddTM1e6KI!LTYpU&~^A>C?sUb3My9WE`)E# z2VN-QdVStVU6hF9A1=c$@t5MzXBJPGbiP{1{_ic{y*gWjYs;o6lFZ|2(<_EVgf%{0 zUAy@shbTPG?)!r%h;xmdQ;AN+ zptm9%T-v_}sLf%@;KWS$tIRiyEwXT!hrpZZiJ5OZ$(3^#)O{B0mu-mLx6F7=Qkl=B zfV|tmiyvkPHJb^1wmj8=iMKs&D`{S>bn!*7^0e7kriXH-glbK2|0 zpkqIcu?1}eZI{eW{ZztH&Pm8H9k*baZAw4b$ImxOlYws`%WgRX{BTDSWQ{u1Nw-cJ znKWQyeDtr(JB@x67O8J)Onju1U)P&A_%NAt{WU-gp{ zUt9HDp6t8Dz4D_lNeMla*z@tI6yWpVIi0n*Cl%lM61&`TMA-YCw|q4R$$FMw0f0em=dE zYC@9`35K#d2lgGCPYKEoNgrJ}PSV!n!bininW^mbomeHY9nNA{dq-^6B@*0HCUlfz2r#XJW06QLJn#@KzwuF(DWoUQdCw&#h>dZXS1v=%DT@9lZh-$NuS@>#3$ z6Zp;k9>vm%`Mv;bgN$x`s|*K|VM`hbX4fFjR>J9OT`?hA)X7Gd_i+06^*-4w@5pzQ zH1Gl@V>P@(Wn5CG>7N_QT@_Mgzj|Vx*28bCn*1!PIVS@ZSM>ZbhnVssXN@A%dSUs~ cbK!gDH^M5lk_sy1_+Kr6J=)p2$;zAjKXzVD-2eap diff --git a/src/modules/Workspaces/WorkspacesLauncherUI/images/failed.png b/src/modules/Workspaces/WorkspacesLauncherUI/images/failed.png deleted file mode 100644 index d670f61c05691cfec0d7dbce82c30fda2eb1b636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14789 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 Z5md=Xj`?rEmoz~Hs-&Se*mE@&uRbw