From 565275c1546d8da4e1bf3a4027e7f789723afa62 Mon Sep 17 00:00:00 2001 From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch> Date: Mon, 15 Jan 2018 23:57:37 +0100 Subject: [PATCH] Update the tray icon according to the current status. Refers to #2 --- ATXTray/AutoTxTray.cs | 44 ++++++++++++++++++++++++++++++++++++- ATXTray/icon-default.ico | Bin 0 -> 894 bytes ATXTray/icon-stopped.ico | Bin 0 -> 894 bytes ATXTray/icon-suspended.ico | Bin 0 -> 894 bytes ATXTray/icon-tx-0.ico | Bin 0 -> 894 bytes ATXTray/icon-tx-1.ico | Bin 0 -> 894 bytes 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 ATXTray/icon-default.ico create mode 100644 ATXTray/icon-stopped.ico create mode 100644 ATXTray/icon-suspended.ico create mode 100644 ATXTray/icon-tx-0.ico create mode 100644 ATXTray/icon-tx-1.ico diff --git a/ATXTray/AutoTxTray.cs b/ATXTray/AutoTxTray.cs index f52e7f2..0f1bd12 100644 --- a/ATXTray/AutoTxTray.cs +++ b/ATXTray/AutoTxTray.cs @@ -30,6 +30,11 @@ namespace ATXTray private static long _txSize; private readonly NotifyIcon _notifyIcon = new NotifyIcon(); + private readonly Icon _tiDefault; + private readonly Icon _tiStopped; + private readonly Icon _tiSuspended; + private readonly Icon _tiTx0; + private readonly Icon _tiTx1; private readonly ContextMenuStrip _cmStrip = new ContextMenuStrip(); private readonly ToolStripMenuItem _miExit = new ToolStripMenuItem(); private readonly ToolStripMenuItem _miTitle = new ToolStripMenuItem(); @@ -39,9 +44,16 @@ namespace ATXTray private readonly ToolStripMenuItem _miTxEnqueue = new ToolStripMenuItem(); public AutoTxTray() { + _tiDefault = new Icon("AutoTx.ico"); + _tiStopped = new Icon("icon-stopped.ico"); + _tiSuspended = new Icon("icon-suspended.ico"); + _tiTx0 = new Icon("icon-tx-0.ico"); + _tiTx1 = new Icon("icon-tx-1.ico"); + + _notifyIcon.Icon = _tiStopped; _notifyIcon.Visible = true; - _notifyIcon.Icon = new Icon("AutoTx.ico"); _notifyIcon.DoubleClick += StartNewTransfer; + // this doesn't work properly, the menu will not close etc. so we disable it for now: // _notifyIcon.Click += ShowContextMenu; @@ -125,6 +137,8 @@ namespace ATXTray txProgress = _txSize.ToString(); } + UpdateTrayIcon(); + if (!_statusChanged) return; @@ -248,5 +262,33 @@ namespace ATXTray "Transfer completed.", ToolTipIcon.Info); } } + + private void UpdateTrayIcon() { + if (_txInProgress && + !_svcSuspended) { + if (DateTime.Now.Second % 2 == 0) { + _notifyIcon.Icon = _tiTx0; + } else { + _notifyIcon.Icon = _tiTx1; + } + } + + if (!_statusChanged) + return; + + if (!_svcRunning) { + _notifyIcon.Icon = _tiStopped; + return; + } + + if (_svcSuspended) { + _notifyIcon.Icon = _tiSuspended; + return; + } + + if (!_txInProgress) { + _notifyIcon.Icon = _tiDefault; + } + } } } diff --git a/ATXTray/icon-default.ico b/ATXTray/icon-default.ico new file mode 100644 index 0000000000000000000000000000000000000000..86d3957ca994afc11765c905518831604be8b3fd GIT binary patch literal 894 zcma)5O-mb56n)~ttt)Y-OZWZ)-@Q*4ip@l#O}elU6Ql@2DHElwMuoQGM@6v3O0y^u zFjf<)#+@Gve}lVLEg~wKtxM1KO~x_0FnMpdbM860pHZp`-`ZM*XT9pLR;o@Z)r1R3 zHR1~XoDZjFDdAGrE8Q8PP>&dilupe*)<)7fio3caOyj>y?yo79<gEUqiDmtw8$Z&V zUi4K$jwUEMWb&t$$qPIDZP!y3&gjhuMU%dS;_s;cy(wOMgpCWWNfVpROApz)rhzd; zK?un?)ME-~p6f0X8vV(mnIK~Roa=B5wNRhSpI08ZZ1Rtu{3VC-$%&e^;|jh+9~i3u z&Dse%MxpLXyjap54$c!envCRa=<Fe?<{t-m)$I-r47^G!vWJ$V!4JoH{lB>8wslL3 zHf{WU-}1#UZ2;jC{_i8nC*ksR!OH35l9gy~m2*c1XuW8QOyB*gBd^WYl?SFXA}JsK zuxN4g6P-cxWdxYl(7cBuv9jczTrAPxCoGIz3G9Q8CV6<lA2A`cKa|Z&emjYU0WG*f z66Ix_XEyF<oj>KNJVko3FhR1fLM>8}6GPu*EuEMx&?msSX;A8@MyWmgZ_-uv2K_<1 K>=&+RM0*QY=~Qn3 literal 0 HcmV?d00001 diff --git a/ATXTray/icon-stopped.ico b/ATXTray/icon-stopped.ico new file mode 100644 index 0000000000000000000000000000000000000000..02d364443336f196074efd097d7ee755279f7275 GIT binary patch literal 894 zcma)5Jxjzu5M8mbwGulm{ToSklWdZ`T#~(yB%p-|_Ie6}U?W&5iXftb*!Teo7Iun) zzrjjT5s^dv0hYdXy%0_X?`Fg7oA<J_GZR93@bB*@cn*@uUP1;4AtP9T$S{_||MT;_ zWtX=Y%PEzN)!{gNCJ5JlYHPJ4*PXVkIH>N%>8;G)VR7>=sP0i(vw2I1%|ZpT?Myh{ zY?3``W+=}?d7=Fzd*<Fe2!+IPr(JJO=5LxHv$knira@)i{zmdQ?l0gJ9D$rEt>Yz~ zkjlglxBPIsj3n6$Wf|^*v_-UE4*lhe=n&UutQn{GT^yVa>jIPX0Tn~tx^QeMjbOjv ztif1A<5Ba*<#W~Awc=Y<7#wT?BBVJ~@zXec#I};0nTBDSPAD%m9}czv5dtAe?^OrA zmWWTZ+z&Uk#59<)FET(KMOn~&E>;*DlliL#gK$SlI_6h4G>&>A6BHjUaQKujRyB@i zAt}fJd9aAe>ygm&;EVO5#X)oc>%5`u1xuI*(8?o(Q*3*@5}y{m#yE-SnAxKkm@>Ig r;Vu{w<Z015#u5&;01E<~k0C-H`v|$hceBu=S2<qxJ8{KT8m0XNN7yN` literal 0 HcmV?d00001 diff --git a/ATXTray/icon-suspended.ico b/ATXTray/icon-suspended.ico new file mode 100644 index 0000000000000000000000000000000000000000..55b7e1ce461aefb3ac004ce8d30f87d284bd1679 GIT binary patch literal 894 zcma)5OG_J36u#o3TUX*vm+t!y=G+UWMoq?vny77IOpsC#L?*V1L<Jwj2MR(9Z7HRj zq-uhXS@)Nyt%yixCfhFkPUhhd5lqev=brO@_dFv+8@?SK0>52ix?PA)Aw(|@Ori&e z?a%qh;tu648XngMGn5)-C12Ev`;WPqQk6_gOX{@pLsc)7-C+53Nvl7#p%Fatvh+D( zF*uv2!n~^8_{hW;FY(n2SoK?aw?x@OL?LsIrWceQ0!}?+!Z9Wtb=Hi6K<6I4Uq%#! z;G9#Vs(u^1*32YX_6Eu!-OughPSbO!g{CaIUWtRB(&a`K<x@JVj{dY@1{YmOi%}i@ zMaL*L(rULGy6He3+ch*9$u~3Xt9U~n-M;Ufwr;u*D7dn*64b(YJtvQ^;d=GSGsYd` zwUhYf`FJR}!Uz|?d3eS7<Sn^X=d0aFZUz)%(q(CaVf4Ld3s2wL)iQ6@c~D()%jGDc z41{2Ha)-{K`8)#5YkuE<grkI%2e93snKdkozY^F7EnAQu4x$nF@41lRg|mNhb`uK& zSbT*z%9ts)PakGoyOHG@W!_+6;^2sdTDYQg4t?XbOy~RpBLI~D-9lWw5aKufH>EcJ O#QkwS^fQ(@%)JMIqi`Ys literal 0 HcmV?d00001 diff --git a/ATXTray/icon-tx-0.ico b/ATXTray/icon-tx-0.ico new file mode 100644 index 0000000000000000000000000000000000000000..a0a4a78fe06861289a3d84142137ce7aa3ca0553 GIT binary patch literal 894 zcma)5ze`(D6u#o%>LlHCbZ~Q0Xdw68t3##cMPiybD5MEeghDAVidy2&wzO3dL{v~H zMQqe2v`t(r=-}VrR(}zKO3mu%cf2ppXY62d@8i7hd|%Gb2vLP^ZLPrbiRiBuqD~0W zhzm$G;4=Q0k4nx^+@`J``8-5{FdOltOwK>lhEi#Y*|H-@<6m|9ug;hFY#!0XH`&>Z zA8Af4xhf_{;*=QFnSx>ZHg<g*e;ie|NUz>eB;iUZ_LlmGb^gi_RPLf_@@dnQ4~8Sj zUD3c8q96q490==d(Q(~o(z3SPy1L>;^v`n{jG`8LX{-0&@3~C!51#5n8s(D}(c32# ze2zXaRsrhmQ*?|1-IaL0Bs(me|KMmck~g8(4^g#RKESJdX5qlVE4O0(&~PO9!KnIi z#;&;?>Gw<Bt`_$VpAFp(5H99#9dkZ$TYb(NIgPFuiBxTTZpi?R7j5C`+p{v%r*r=t zFty5(@=+s821h^988n|qfO!qhJ2(<6OYX?|61|?r!kCr7KFCNy4K27MCWLl}^7~S~ z`G|!9&AUPz<wZ<=`E@tzOhJ9hP^cFR<0ZQ))WQ{6QS^=1(u$e_T>^~jdLfQ$gxJIX RCRJsw*YCB<e&(`<wKuS!RP_J= literal 0 HcmV?d00001 diff --git a/ATXTray/icon-tx-1.ico b/ATXTray/icon-tx-1.ico new file mode 100644 index 0000000000000000000000000000000000000000..c8da555da28babd247932ab7bf040f7a978f70a8 GIT binary patch literal 894 zcma)5&r2IY6dvipYfhy%J$i^<R4|H3nKyG%G)ajz@t_bBL<&NYjUr04{-oN1pjbr( zQPikSP_w5>3;iEF)?bKdskwUeo6L4ylZ(ll<<0lLZ|BW>Zy77W-{oR>zF|GD7<<ha ztH1)p%CQvwlAlO?p_oDMI(SQn{O!t#C3s@KSQ|>FC~ENLAdPLv)E{Z)l<l3-r%m44 zhL=<)zu7894#y}yAk){H>D~F^-8r#TnH%aIp>W)mP_&<VhNO9~2_k#v9&dC{c;Q%* z>^*%L#VI&K<?L^lnHwvV&&0F7T)(#BMC9Qu4@Pho>NdpG?z50izUV2YQ@B0_!t&sv zfM2^f3@ZTT!6hn2{<cEg%vH@a!HRK?A|v_y(L8-xvykwmeq&oT-3)_+EkJ}U4*0={ z_<n_L<5t!^-cUKoeY-z39}czv5mNm9bCplb5VILAuUlQxlFEs<%JO7@I*PKW?i*iu zs7q%5Y0$I20*P&&)kTe?o~R6puUde94a{4(nX@HNWHU#7lNcC15|{@bj*GzsyTuI~ z+c4`5$A87g84L_)&Jj|lypM{xqo-b{uf^vyg*q`XPO`1SUDS;N5!6|YWgwz2XcOQ( alreT*%GfV_H^~ycoN=fBKd!h+qqL99ELn8` literal 0 HcmV?d00001 -- GitLab