From bd5445bbb9198d7696622cc67f2a4fce5a126129 Mon Sep 17 00:00:00 2001 From: Alexandru Cheltuitor Date: Mon, 28 Mar 2022 10:35:24 +0100 Subject: [PATCH] Replace old for new icons and make small changes for new icons --- .../assets/icons/chevron-default.svg | 20 ++--- protonvpn_gui/assets/icons/chevron-hover.svg | 19 ++-- protonvpn_gui/assets/icons/down-icon.svg | 9 +- .../icons/eye-hide.imageset/eye-hide.png | Bin 666 -> 0 bytes .../icons/eye-hide.imageset/eye-hide@2x.png | Bin 1093 -> 0 bytes .../icons/eye-hide.imageset/eye-hide@3x.png | Bin 1549 -> 0 bytes .../icons/eye-show.imageset/eye-show.png | Bin 630 -> 0 bytes .../icons/eye-show.imageset/eye-show@2x.png | Bin 987 -> 0 bytes .../icons/eye-show.imageset/eye-show@3x.png | Bin 1396 -> 0 bytes .../assets/icons/eye.imageset/eye-hide.svg | 14 +++ .../assets/icons/eye.imageset/eye-show.svg | 11 +++ .../assets/icons/info-circle-filled-hover.svg | 9 +- .../assets/icons/info-circle-filled.svg | 9 +- .../killswitch-always-on-active.svg | 30 +++---- .../killswitch-always-on-default.svg | 30 +++---- .../killswitch-always-on-disable.svg | 30 +++---- .../killswitch-off-active.svg | 14 +++ .../kill-switch.imageset/killswitch-off.svg | 22 ++--- .../killswitch-on-active.svg | 24 +++-- .../killswitch-on-default.svg | 24 +++-- .../killswitch-on-disable.svg | 24 +++-- .../assets/icons/maintenance-icon.svg | 11 ++- .../assets/icons/maintenance-icon_old.svg | 11 --- .../netshield-malware-active.svg | 20 ++--- .../netshield-malware-ad-active.svg | 21 ++--- .../netshield-malware-ad-default.svg | 21 ++--- .../netshield-malware-ad-disable.svg | 21 ++--- .../netshield-malware-default.svg | 20 ++--- .../netshield-malware-disable.svg | 20 ++--- .../netshield-off-active.svg | 11 +++ .../netshield.imageset/netshield-off.svg | 14 ++- protonvpn_gui/assets/icons/p2p-arrows_old.png | Bin 3026 -> 0 bytes protonvpn_gui/assets/icons/p2p.svg | 12 +++ protonvpn_gui/assets/icons/protonvpn-logo.png | Bin 22121 -> 17918 bytes .../assets/icons/protonvpn-sign-green.svg | 1 - protonvpn_gui/assets/icons/protonvpn-sign.svg | 43 +++++++++ .../secure-core-chevrons-active.svg | 13 ++- .../secure-core-off-active.svg | 22 +++++ .../secure-core.imageset/secure-core-off.svg | 25 ++++-- .../secure-core-on-active.svg | 84 ++++++++++++++---- .../secure-core-on-default.svg | 84 ++++++++++++++---- .../secure-core-on-disable.svg | 84 ++++++++++++++---- protonvpn_gui/assets/icons/server-load.svg | 16 ++-- protonvpn_gui/assets/icons/smart-routing.svg | 18 ++-- protonvpn_gui/assets/icons/streaming.svg | 8 +- protonvpn_gui/assets/icons/tor-onion_old.png | Bin 20771 -> 0 bytes protonvpn_gui/assets/icons/tor.svg | 17 ++++ protonvpn_gui/assets/icons/up-icon.svg | 9 +- protonvpn_gui/assets/icons/vpn-connected.svg | 40 ++++++--- .../assets/icons/vpn-disconnected.svg | 42 ++++++--- protonvpn_gui/assets/icons/vpn-no-network.svg | 40 ++++++--- .../assets/img/protonvpn-logo-white.svg | 1 - protonvpn_gui/assets/img/protonvpn-logo.svg | 56 ++++++++++++ protonvpn_gui/constants.py | 15 ++++ protonvpn_gui/enums.py | 5 ++ .../factory/concrete_factory/image_factory.py | 45 ++++++++++ protonvpn_gui/view/dashboard.py | 4 +- protonvpn_gui/view/dialog.py | 2 +- protonvpn_gui/view/login.py | 10 +-- protonvpn_gui/view/quick_settings_popover.py | 6 +- 60 files changed, 773 insertions(+), 388 deletions(-) delete mode 100644 protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide.png delete mode 100644 protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide@2x.png delete mode 100644 protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide@3x.png delete mode 100644 protonvpn_gui/assets/icons/eye-show.imageset/eye-show.png delete mode 100644 protonvpn_gui/assets/icons/eye-show.imageset/eye-show@2x.png delete mode 100644 protonvpn_gui/assets/icons/eye-show.imageset/eye-show@3x.png create mode 100644 protonvpn_gui/assets/icons/eye.imageset/eye-hide.svg create mode 100644 protonvpn_gui/assets/icons/eye.imageset/eye-show.svg create mode 100644 protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off-active.svg delete mode 100644 protonvpn_gui/assets/icons/maintenance-icon_old.svg create mode 100644 protonvpn_gui/assets/icons/netshield.imageset/netshield-off-active.svg delete mode 100755 protonvpn_gui/assets/icons/p2p-arrows_old.png create mode 100644 protonvpn_gui/assets/icons/p2p.svg delete mode 100644 protonvpn_gui/assets/icons/protonvpn-sign-green.svg create mode 100644 protonvpn_gui/assets/icons/protonvpn-sign.svg create mode 100644 protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off-active.svg delete mode 100755 protonvpn_gui/assets/icons/tor-onion_old.png create mode 100644 protonvpn_gui/assets/icons/tor.svg delete mode 100644 protonvpn_gui/assets/img/protonvpn-logo-white.svg create mode 100644 protonvpn_gui/assets/img/protonvpn-logo.svg diff --git a/protonvpn_gui/assets/icons/chevron-default.svg b/protonvpn_gui/assets/icons/chevron-default.svg index c38cb8c..efec58f 100644 --- a/protonvpn_gui/assets/icons/chevron-default.svg +++ b/protonvpn_gui/assets/icons/chevron-default.svg @@ -1,17 +1,13 @@ - + + viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"> - - - - - - - - + + diff --git a/protonvpn_gui/assets/icons/chevron-hover.svg b/protonvpn_gui/assets/icons/chevron-hover.svg index d4cdd92..e59136b 100644 --- a/protonvpn_gui/assets/icons/chevron-hover.svg +++ b/protonvpn_gui/assets/icons/chevron-hover.svg @@ -1,17 +1,12 @@ - + + viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"> - - - - - - - - + + diff --git a/protonvpn_gui/assets/icons/down-icon.svg b/protonvpn_gui/assets/icons/down-icon.svg index 63711db..eae7d8e 100644 --- a/protonvpn_gui/assets/icons/down-icon.svg +++ b/protonvpn_gui/assets/icons/down-icon.svg @@ -1,9 +1,10 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - + diff --git a/protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide.png b/protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide.png deleted file mode 100644 index 725a13ede89dbe77751f85dc32c23aa2ec0cb352..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_2!3HG#TlXX}Ffe*&hD4M^`1)8S=jZArrsOB3 z>Q&?x0Oc7NZ0suv5|gu2OB9k)(=+pImEP~(ucVNfVyhHx>TBRz;GCL~=}}db8eHWU zl3bOYY?-2DZ^va*VFffGH?<^Dp&~aYuh^=>Rtapb6_5=Q)>l#hD=EpgRdNJbs1V^B zpx~Tel&WB=XQrEMXl$WiZmDNzYH49)qN8ABU}&aqV5x6tqHADiWngJ#V5k5EN_Jcd zHbp6ERzWUqP|JWkTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g)3fYikv8Dw_UNoUfo0wa&k zDF<_dPH8Beewn7)EHBC9^@q`mNB#8g=;@QLe|q`(-PcvmU;kYvWjXUpf0aRtjoszM zPp7Z+>E3zB9KYiLOO{rz=h59=+Gie0GVgG;4g1iinR3a2t^Gujp#O~{hPysAFi9Cm z-ScTu-LincS8xuWvJT5Lg^iW!^Md)a zi(PSZ7KvHk@SXmtt=J?{t%-ey8++Tu9`8L#nvRl>HI7Ph6?Vl0Oj-QAc0vEbnApax zGP2({wu#Fu6i$C}EIG=KcbQfqzw}4>ukCdVOP|^IHaBfF10^X>S3j3^P66v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDmj8IREY2m zP;kyKN>wn`Gt*5rG`3JMx70HG?WUP)qw zZeFo6$OwoTE~&-IMVSR9nfZANATtw_@=Hr>m6Y^Bmgqxm0eVj#?mr+09zv;kz+fo? z`d`6wofQKE(^gLx#}JRswb%SRu7--Re>lJAqVGS>!vO|=gi}=8E?g2ax|`DBxsYY+ zg&dW&EWKi?+XP(Jh`G%Ox%I%wd}?QuiI8L1j*t3oTP6se;b2en+R!pHtMJ_U^5@S# z@13;oL&f(y)$e}Z1LDuGqslfM|KIT2kX=4`#oVOFVw`!$S$h1Wt2gj3H{5;qSm6Id zKT>R3-9IQS6J`I)%{*hur!#)XZV8?{=%(ZP-M2)FRr1Y&n`JF)W30s9KWf<#=~-sN zZ@{X5^&9VlUZ*;dWGlgQM+(;*HI>o0c26+xFQfnS^+()zo>drqTfR2ZT)Bqh_@plp zT48K{iMG?!A4boJeq-Aj+j^(hc!&7?M-QzYGF#{)pL*1qmgpC|F!?Tv7L^v&CoA1kgo!k+nCL9Opl z^$za)4=M#;iPjwr5p-Fr^h+yF_sP^9yUTuy7v(XQnQhPzzn-~k>7kQ<=Fe+imAtw@ zzUR1DP5foaV{J0__YR0_?s<8v=Jv&=B~JD4R&L-dPfGV)FP;DVM*(y82V=3W1sa~e zk4SGlRP|@(K87T;8?UK^MTO31No15t9pBmi2hjOcCGz9SLJSwuF#`* zG6e6gE@1U8Sn1XMI6~*sJIR_}$(?1q?p)5!v+|uvy5ej)?ThlH_MJNXukX0aQ>lqR z++CaIiMl@MSs@p^ap#5A*H6ov-nHXf|NNKD9PjA+p{HVXe?82-(RNiyw9WK>sYA%3 zgHHeZO!j$9*YXB| diff --git a/protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide@3x.png b/protonvpn_gui/assets/icons/eye-hide.imageset/eye-hide@3x.png deleted file mode 100644 index 5c3561a1f9a40369f1de7acf0728dada0ee79aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1549 zcmX|>dpOg39LJX@a!4{PC*;?!MOM4~tjX3!*kss92uIk>ZES0X9jepGb#7%@rP778 zF2|*EOz5Gk;|S?QZaJjX5w++^p>oc2dip-k_wxCEKhNv^yx)I(Wq!<^Mh0sQU@({w z-IMCC-BH>J=<8`$Ztx@p23zJG8xSlBX84de!UPP9D`fL9(gczA9R?%2NJT6TpC zyy#c~1$^7s3<9xS3b=>Bz%fMbyqH+eR55RNDl>qS%I6Tdpo_BsSxV9Z5_l38AWeuD zB$A{Q@GF<3Juh8jLEvkPgiiromjr=eh9BTA6!QQA#u3ed@J_%sA_gK5ogB7q0UU6U zBNj)*LR--|h=e1Oa1iiqfX)U0S&z08A#9_N>-o}~>39vS;!x8tgd$1|_6d}pW1^Eda9C&P8;?O*jo^?KLZ*+yC| z)VVfq#$bztElsIbD#gU0lu52CoOQZ&l# z^1R9i*_*uY+4Ex$CgF1UJXmy4YTH@w%<@BVN!pCUMW( z7hZDg%wj%#J`)Vze*Sd*eA)~%{ED=U1G(%JugMxS+Qrs;A&HK(d0>7$BoFCxZxKEZ zUwNmmR&z*2vnYmJmwHBJrY3-On96K~)fVRHZZ*C4?$9{-$STyf#l1JqQLblQbZPLc zwLy$~3R*UOK84@U)TCmQl~X2_N6EIRwr1UVI{)LKh)q#5ZqT}_H(VR4~mvN-GxpEZIH#oh^usSEBlLKhH`}x;iKatmS zEh4(#*Sad$VY)7?DB1qHoMvlwZk*{_g3YRzxeY-^)vCw1v+4-l!7fz$ww)czJ4Cyl z$yo>m*=3Y)os5v0kcy3Yl|OtFc(jQ*uwCZbKGp&+zorIush5!h z!E+ZLy$Vu%cHUvO5U)={+1}V#;s#Bvx!C9=?>j(kV!#v7?v1F7C|P`W`Aw%6MWI0j zdgP4i0QubIlXnp>%{%V*G}eb#;0dz$hzfC=sVJ5;ifIaCzdfX14(dHmgr?7&;(ij9 z-yIJq*krOfJ#e9lDkdC%o++ms$t$Ws49Om-!ZIG$3=5~^-8`NppE0*x{ct)*8gYLF zw^K1u6;N_1SN*_uxyMtzu58P)NuM@v)cSs%%A`x>(m=DPgP{mfS&VPr4J(GZUDMu` z2vb9(@pA@ri&0IJ*EMHqnB0ZDck;IViV}i5mb~}gVsg_)5_`~3>_#06MbkCD8M!An zdenX?>q&rbyXkf{Z?H~qa*essE(R` qI+Fh77x|a06}0YkRkLErqiLI*LvxxPxx8CTzc`)7q*l2_9{vx6T&imT diff --git a/protonvpn_gui/assets/icons/eye-show.imageset/eye-show.png b/protonvpn_gui/assets/icons/eye-show.imageset/eye-show.png deleted file mode 100644 index dd21af19a468e5e370ec4e73652ec2c27127c8d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^}!3HFmd}T8k7#O`XLn2Bde0{8v^K6v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDmj8IREY2m zP;kyKN>wn`Gt*5rG`3JMx70HG?WUP)qw zZeFo6$OwoTE~&-IMVSR9nfZANATtw_@=Hr>m6Y^Bmgqxm0eVj#?mr+09zv;kz+fo? z`d`6wofRox?bJfCsg>|Q|!w@-QQ=GL7F#hPlONqZk^+&M7e zzZ7Sh$knHC^aYH0LEK Oxp=zzxvXP$9xM zK*2e`C{@8!&rCPj(AYx3+)~fb)Y8JpL`T8Mz|c(Jz*67PMAyL3%D~dfz)%4SlHCStb$zJpq2r7wn`Z#B?VUc`sL;2dgaD?`9*7iAWdWaj57fXqxx$}cUkRZ`LiS)vcM1?W9}xc`70cnGED0fVIo z=zj&zbyf@vOx~U@jv*Gky;mbU`T`}`Kisdm758A7Ze3G zmXWhlS?Z(+=TaR*&xt3bZf@!`m=<%w?(&X_Zy(LMz9;Vf@3VhizqY+!IqiStyw5i0 zHD^a}_tDO1|2U&ZaD~Hnjq3jN9i5vk`sXj5vsGX5bwg-G-#kkz+ei64*B;1bZD962 z%EM*Zr**O670*rgoTDXg&R9B_#<|F+t`(g2SR?DAsDIF=)e;R`D<&5Qtmxmi^SsEvz8CU`TDBZFi1&Eu6Vp@nU!d%eCC_2)oz$eM6B_&n27>?RXAG_Z)8Cao@f!Kf!=)o71#yE00Im^gn6m42{xUvN}@Z z?{&?`PaK4AJ4|`tp7l5E#3kK@7p94AP~-}KPGA=~j6>hf#Icqg|GKN`g8uTBlSOQMgHFkB z@c8&*^N(KDLp!`LX#aYn5c2At%3SW&Q*WBJ|LOh}p3%Er^@Nn6`-_7t%!}9W+oAjA z>;2!^M_M#q^k&bPZe*voBu!iHk@dcZdS(mb+j0!oxyP3qs1|9Q-Xr$ZLcxb)hf2?; z)2fTSlTFOH|GI1J`ssA~;s5K8W>47XmDAley=7*V%Di8KcJ6=moPN0{t($i61MBLI z_SK7WS~5$Hcr9$N+M;T+Fd?hOD_3V(z$@FFLvA^O@5+VRxLq$qR#e$>_tpi^IQo3c bCx-uwUl+C7YcQ;=1?5RkS3j3^P6Q&?x0Oc7NZ0suv5|gu2OB9k)(=+pImEP~(ucVNfVyhHx>TBRz;GCL~=}}db8eHWU zl3bOYY?-2DZ^va*VFffGH?<^Dp&~aYuh^=>Rtapb6_5=Q)>l#hD=EpgRdNJbs1V^B zpx~Tel&WB=XQrEMXl$WiZmDNzYH49)qN8ABU}&aqV5x6tqHADiWngJ#V5k5EN_Jcd zHbp6ERzWUqP|JWkTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g)3f*aBhWOFsnnbY9;edi<1BUcOVF-9Cr%Eb)msErOYO=KBuK z_0kKITy*)!wY^QBrB1v(sCB3Ns_GZN15q`za!gznZ!@P|NostSLybMKw&GbSDTZ762mJyo{niL~ePlw`p&mD@`@ z${s2EoI7^!n5$_~?Tp@9i%^-~+Rg)y96f~kDibfo9(%70mf-*1B~x#d{gD3b;&ATb#I5|RtA6ZMcPOdwt(VU8lu_~X59x?&zHR)l zz18{3BK_?7ty-IhpICe;vSr6k$wMQsn3g(J}bnmT^HB~t}!f7FFtc5 zII`Y!TiBt?NfT2$u56RL%q?U{pQJMCkOvu;9=!nyl8`Xc;{^S>(zoAl{);YRlZaNXmeEg8$`gKBX8+IY zd|lz&hzTjzmRVXJ>&n>@RJyy~L&i?>gBk1e-GxfdPnO;j4D_&Xj(_c&#U#7vT5Q+l zO&{ep-o1atPeW_Y_s-i-rLGp3F!gsQ?c{zOtzcny_HUTW^f^zg0$cyKs~pvyl`J(+ zJiIOHjnK`f$u({BL(c!unA6zp+G!y={mR9S(&gQcLpzLII;YN8Z~Ah?NZ2c3y~Tfh zt%iEqziHcw>(8z9~IE oo7!90--||Ov~zsZt=0U=u3dHKf&BYJI-tVR)78&qol`;+0Lm;}aR2}S diff --git a/protonvpn_gui/assets/icons/eye.imageset/eye-hide.svg b/protonvpn_gui/assets/icons/eye.imageset/eye-hide.svg new file mode 100644 index 0000000..454a2ae --- /dev/null +++ b/protonvpn_gui/assets/icons/eye.imageset/eye-hide.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/protonvpn_gui/assets/icons/eye.imageset/eye-show.svg b/protonvpn_gui/assets/icons/eye.imageset/eye-show.svg new file mode 100644 index 0000000..21b5abd --- /dev/null +++ b/protonvpn_gui/assets/icons/eye.imageset/eye-show.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/protonvpn_gui/assets/icons/info-circle-filled-hover.svg b/protonvpn_gui/assets/icons/info-circle-filled-hover.svg index 7fa7195..baf1e8b 100644 --- a/protonvpn_gui/assets/icons/info-circle-filled-hover.svg +++ b/protonvpn_gui/assets/icons/info-circle-filled-hover.svg @@ -1,10 +1,11 @@ - + - + diff --git a/protonvpn_gui/assets/icons/info-circle-filled.svg b/protonvpn_gui/assets/icons/info-circle-filled.svg index d79db04..7c1192a 100644 --- a/protonvpn_gui/assets/icons/info-circle-filled.svg +++ b/protonvpn_gui/assets/icons/info-circle-filled.svg @@ -1,10 +1,11 @@ - + - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-active.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-active.svg index ba033d2..4a0e9c2 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-active.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-active.svg @@ -1,24 +1,16 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-default.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-default.svg index f65ca13..9f38459 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-default.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-default.svg @@ -1,24 +1,16 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-disable.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-disable.svg index df0ebf7..f34a5cd 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-disable.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-always-on-disable.svg @@ -1,24 +1,16 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off-active.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off-active.svg new file mode 100644 index 0000000..83328ef --- /dev/null +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off-active.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off.svg index 2581e99..25bf15d 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-off.svg @@ -1,18 +1,14 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-active.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-active.svg index f34c7f0..c6101fb 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-active.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-active.svg @@ -1,19 +1,15 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-default.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-default.svg index 768596b..b56f93f 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-default.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-default.svg @@ -1,19 +1,15 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - + diff --git a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-disable.svg b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-disable.svg index 587c1d3..847ab3c 100644 --- a/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-disable.svg +++ b/protonvpn_gui/assets/icons/kill-switch.imageset/killswitch-on-disable.svg @@ -1,19 +1,15 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - + diff --git a/protonvpn_gui/assets/icons/maintenance-icon.svg b/protonvpn_gui/assets/icons/maintenance-icon.svg index abd94ff..b6c15b2 100644 --- a/protonvpn_gui/assets/icons/maintenance-icon.svg +++ b/protonvpn_gui/assets/icons/maintenance-icon.svg @@ -1,10 +1,13 @@ - + - + diff --git a/protonvpn_gui/assets/icons/maintenance-icon_old.svg b/protonvpn_gui/assets/icons/maintenance-icon_old.svg deleted file mode 100644 index 75a3032..0000000 --- a/protonvpn_gui/assets/icons/maintenance-icon_old.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-active.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-active.svg index bf59d78..52ef9a8 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-active.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-active.svg @@ -1,18 +1,12 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-active.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-active.svg index 600ff09..65a4d18 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-active.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-active.svg @@ -1,19 +1,12 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-default.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-default.svg index 6efd9e6..b6287b9 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-default.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-default.svg @@ -1,19 +1,12 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-disable.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-disable.svg index bdc9de0..a495888 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-disable.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-ad-disable.svg @@ -1,19 +1,12 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-default.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-default.svg index afe2aa3..456f959 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-default.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-default.svg @@ -1,18 +1,12 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-disable.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-disable.svg index 1fef2d7..f55a3c3 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-disable.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-malware-disable.svg @@ -1,18 +1,12 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - - + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-off-active.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-off-active.svg new file mode 100644 index 0000000..110cdb6 --- /dev/null +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-off-active.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/protonvpn_gui/assets/icons/netshield.imageset/netshield-off.svg b/protonvpn_gui/assets/icons/netshield.imageset/netshield-off.svg index b0cbabe..caba0da 100644 --- a/protonvpn_gui/assets/icons/netshield.imageset/netshield-off.svg +++ b/protonvpn_gui/assets/icons/netshield.imageset/netshield-off.svg @@ -1,13 +1,11 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - + diff --git a/protonvpn_gui/assets/icons/p2p-arrows_old.png b/protonvpn_gui/assets/icons/p2p-arrows_old.png deleted file mode 100755 index 089e026c81ddeac1cfae680087707015ed2310f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3026 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 + + + + + diff --git a/protonvpn_gui/assets/icons/protonvpn-logo.png b/protonvpn_gui/assets/icons/protonvpn-logo.png index a73cebe48e4c7ce4ce4be728491f185b9dc6f6f5..465daf3a48eac2221095f609204334ebf9979de4 100644 GIT binary patch literal 17918 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 literal 22121 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 \ No newline at end of file diff --git a/protonvpn_gui/assets/icons/protonvpn-sign.svg b/protonvpn_gui/assets/icons/protonvpn-sign.svg new file mode 100644 index 0000000..ee73a01 --- /dev/null +++ b/protonvpn_gui/assets/icons/protonvpn-sign.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-chevrons-active.svg b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-chevrons-active.svg index ca95d08..d9d47ee 100644 --- a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-chevrons-active.svg +++ b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-chevrons-active.svg @@ -1,12 +1,11 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - + diff --git a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off-active.svg b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off-active.svg new file mode 100644 index 0000000..6c9fdb1 --- /dev/null +++ b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off-active.svg @@ -0,0 +1,22 @@ + + + + + + diff --git a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off.svg b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off.svg index 8690478..b29ee01 100644 --- a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off.svg +++ b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-off.svg @@ -1,13 +1,22 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - + diff --git a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-active.svg b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-active.svg index 2df378d..29d890e 100644 --- a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-active.svg +++ b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-active.svg @@ -1,22 +1,72 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-default.svg b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-default.svg index de7253c..0be5990 100644 --- a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-default.svg +++ b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-default.svg @@ -1,22 +1,72 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-disable.svg b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-disable.svg index 3f4e6ff..df42bcf 100644 --- a/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-disable.svg +++ b/protonvpn_gui/assets/icons/secure-core.imageset/secure-core-on-disable.svg @@ -1,22 +1,72 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/icons/server-load.svg b/protonvpn_gui/assets/icons/server-load.svg index 8b16f82..c1e11d5 100644 --- a/protonvpn_gui/assets/icons/server-load.svg +++ b/protonvpn_gui/assets/icons/server-load.svg @@ -1,14 +1,14 @@ - + - - - + diff --git a/protonvpn_gui/assets/icons/smart-routing.svg b/protonvpn_gui/assets/icons/smart-routing.svg index 925acd5..e039199 100644 --- a/protonvpn_gui/assets/icons/smart-routing.svg +++ b/protonvpn_gui/assets/icons/smart-routing.svg @@ -1,15 +1,15 @@ - + - + diff --git a/protonvpn_gui/assets/icons/streaming.svg b/protonvpn_gui/assets/icons/streaming.svg index fd10b50..beb3896 100644 --- a/protonvpn_gui/assets/icons/streaming.svg +++ b/protonvpn_gui/assets/icons/streaming.svg @@ -1,9 +1,11 @@ - + - + diff --git a/protonvpn_gui/assets/icons/tor-onion_old.png b/protonvpn_gui/assets/icons/tor-onion_old.png deleted file mode 100755 index a383c356fdc28538e7a723481fd79ac695275612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20771 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 mgZ)ZJh7Q5YDRpc}r2hxIj@v16UYn=@0000 + + + + + diff --git a/protonvpn_gui/assets/icons/up-icon.svg b/protonvpn_gui/assets/icons/up-icon.svg index b39cc6f..5b92c54 100644 --- a/protonvpn_gui/assets/icons/up-icon.svg +++ b/protonvpn_gui/assets/icons/up-icon.svg @@ -1,9 +1,10 @@ - + + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> - + diff --git a/protonvpn_gui/assets/icons/vpn-connected.svg b/protonvpn_gui/assets/icons/vpn-connected.svg index e535c68..e24f30c 100644 --- a/protonvpn_gui/assets/icons/vpn-connected.svg +++ b/protonvpn_gui/assets/icons/vpn-connected.svg @@ -1,16 +1,34 @@ - + + viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"> - - + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/icons/vpn-disconnected.svg b/protonvpn_gui/assets/icons/vpn-disconnected.svg index f54aa76..588ff56 100644 --- a/protonvpn_gui/assets/icons/vpn-disconnected.svg +++ b/protonvpn_gui/assets/icons/vpn-disconnected.svg @@ -1,16 +1,36 @@ - + + viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"> - - + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/icons/vpn-no-network.svg b/protonvpn_gui/assets/icons/vpn-no-network.svg index 80fd832..141c5fa 100644 --- a/protonvpn_gui/assets/icons/vpn-no-network.svg +++ b/protonvpn_gui/assets/icons/vpn-no-network.svg @@ -1,16 +1,34 @@ - + + viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"> - - + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/assets/img/protonvpn-logo-white.svg b/protonvpn_gui/assets/img/protonvpn-logo-white.svg deleted file mode 100644 index c3c9de8..0000000 --- a/protonvpn_gui/assets/img/protonvpn-logo-white.svg +++ /dev/null @@ -1 +0,0 @@ -protonvpn-logo-white \ No newline at end of file diff --git a/protonvpn_gui/assets/img/protonvpn-logo.svg b/protonvpn_gui/assets/img/protonvpn-logo.svg new file mode 100644 index 0000000..8ce46d1 --- /dev/null +++ b/protonvpn_gui/assets/img/protonvpn-logo.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/protonvpn_gui/constants.py b/protonvpn_gui/constants.py index d8a3da2..ade4edb 100644 --- a/protonvpn_gui/constants.py +++ b/protonvpn_gui/constants.py @@ -27,6 +27,11 @@ ICON_DIR_PATH, "kill-switch.imageset/killswitch-off.svg" ), + DashboardKillSwitchIconEnum.OFF_ACTIVE: + os.path.join( + ICON_DIR_PATH, + "kill-switch.imageset/killswitch-off-active.svg" + ), DashboardKillSwitchIconEnum.ON_DEFAULT: os.path.join( ICON_DIR_PATH, @@ -65,6 +70,11 @@ ICON_DIR_PATH, "netshield.imageset/netshield-off.svg" ), + DashboardNetshieldIconEnum.OFF_ACTIVE: + os.path.join( + ICON_DIR_PATH, + "netshield.imageset/netshield-off-active.svg" + ), DashboardNetshieldIconEnum.MALWARE_DEFAULT: os.path.join( ICON_DIR_PATH, @@ -103,6 +113,11 @@ ICON_DIR_PATH, "secure-core.imageset/secure-core-off.svg" ), + DashboardSecureCoreIconEnum.OFF_ACTIVE: + os.path.join( + ICON_DIR_PATH, + "secure-core.imageset/secure-core-off-active.svg" + ), DashboardSecureCoreIconEnum.ON_DEFAULT: os.path.join( ICON_DIR_PATH, diff --git a/protonvpn_gui/enums.py b/protonvpn_gui/enums.py index 53aa885..ece6dd6 100644 --- a/protonvpn_gui/enums.py +++ b/protonvpn_gui/enums.py @@ -22,6 +22,7 @@ class DashboardFeaturesEnum(Enum): class DashboardKillSwitchIconEnum(Enum): OFF = auto() + OFF_ACTIVE = auto() ON_DEFAULT = auto() ALWAYS_ON_DEFAULT = auto() @@ -35,6 +36,8 @@ class DashboardKillSwitchIconEnum(Enum): class DashboardNetshieldIconEnum(Enum): OFF = auto() + OFF_ACTIVE = auto() + MALWARE_DEFAULT = auto() MALWARE_ADS_DEFAULT = auto() @@ -47,6 +50,8 @@ class DashboardNetshieldIconEnum(Enum): class DashboardSecureCoreIconEnum(Enum): OFF = auto() + OFF_ACTIVE = auto() + ON_DEFAULT = auto() ON_DISABLE = auto() ON_ACTIVE = auto() diff --git a/protonvpn_gui/patterns/factory/concrete_factory/image_factory.py b/protonvpn_gui/patterns/factory/concrete_factory/image_factory.py index 8d4be17..1a9d35a 100644 --- a/protonvpn_gui/patterns/factory/concrete_factory/image_factory.py +++ b/protonvpn_gui/patterns/factory/concrete_factory/image_factory.py @@ -598,6 +598,21 @@ def __init__(self, _): self.show = True +class SecureCoreOffActive(ImageFactory): + """SecureCoreOffActive icon class.""" + image = "secure_core_off_active" + + def __init__(self, _): + super().__init__() + self.set_from_pixbuf( + self.create_icon_pixbuf_from_name( + SECURE_CORE_ICON_SET[DashboardSecureCoreIconEnum.OFF_ACTIVE], + width=25, height=25 + ) + ) + self.show = True + + class SecureCoreOff(ImageFactory): """SecureCoreOff icon class.""" image = "secure_core_off" @@ -628,6 +643,21 @@ def __init__(self, _): self.show = True +class NetshiledOffActive(ImageFactory): + """NetshieldOffActive icon class.""" + image = "netshield_off_active" + + def __init__(self, _): + super().__init__() + self.set_from_pixbuf( + self.create_icon_pixbuf_from_name( + NETSHIELD_ICON_SET[DashboardNetshieldIconEnum.OFF_ACTIVE], + width=25, height=25 + ) + ) + self.show = True + + class NetshiledOff(ImageFactory): """NetshieldOff icon class.""" image = "netshield_off" @@ -673,6 +703,21 @@ def __init__(self, _): self.show = True +class KillSwitchOffActive(ImageFactory): + """KillSwitchOffActive icon class.""" + image = "killswitch_off_active" + + def __init__(self, _): + super().__init__() + self.set_from_pixbuf( + self.create_icon_pixbuf_from_name( + KILLSWITCH_ICON_SET[DashboardKillSwitchIconEnum.OFF_ACTIVE], + width=25, height=25 + ) + ) + self.show = True + + class KillSwitchOff(ImageFactory): """KillSwitchOff icon class.""" image = "killswitch_off" diff --git a/protonvpn_gui/view/dashboard.py b/protonvpn_gui/view/dashboard.py index d933174..30c7b40 100644 --- a/protonvpn_gui/view/dashboard.py +++ b/protonvpn_gui/view/dashboard.py @@ -385,11 +385,11 @@ def setup_icons_images(self): # Get pixbuf objects protonvpn_headerbar_pixbuf = dummy_object.create_icon_pixbuf_from_name( - "protonvpn-sign-green.svg", + "protonvpn-sign.svg", width=50, height=50, ) logo_pixbuf = dummy_object.create_image_pixbuf_from_name( - "protonvpn-logo-white.svg", + "protonvpn-logo.svg", width=325, height=250 ) window_icon = dummy_object.create_icon_pixbuf_from_name( diff --git a/protonvpn_gui/view/dialog.py b/protonvpn_gui/view/dialog.py index 543c7bd..8246fb8 100644 --- a/protonvpn_gui/view/dialog.py +++ b/protonvpn_gui/view/dialog.py @@ -42,7 +42,7 @@ def __init__(self, application): protonvpn_headerbar_pixbuf = self.dummy_object\ .create_icon_pixbuf_from_name( - "protonvpn-sign-green.svg", + "protonvpn-sign.svg", width=50, height=50, ) window_icon = self.dummy_object.create_icon_pixbuf_from_name( diff --git a/protonvpn_gui/view/login.py b/protonvpn_gui/view/login.py index bebfd7a..cc163c4 100644 --- a/protonvpn_gui/view/login.py +++ b/protonvpn_gui/view/login.py @@ -305,7 +305,7 @@ def set_windows_resize_restrictions(self): def setup_images(self): dummy_object = WidgetFactory.image("dummy") protonvpn_headerbar_pixbuf = dummy_object.create_icon_pixbuf_from_name( - "protonvpn-sign-green.svg", + "protonvpn-sign.svg", width=50, height=50, ) window_icon = dummy_object.create_icon_pixbuf_from_name( @@ -314,21 +314,21 @@ def setup_images(self): self.password_show_entry_pixbuf = dummy_object.create_icon_pixbuf_from_name( # noqa os.path.join( ICON_DIR_PATH, - "eye-show.imageset/eye-show@3x.png", + "eye.imageset/eye-show.svg", ), self.icon_width, self.icon_heigt ) self.password_hide_entry_pixbuf = dummy_object.create_icon_pixbuf_from_name( # noqa os.path.join( ICON_DIR_PATH, - "eye-hide.imageset/eye-hide@3x.png", + "eye.imageset/eye-hide.svg", ), width=self.icon_width, height=self.icon_heigt, ) logo_pixbuf = dummy_object.create_image_pixbuf_from_name( os.path.join( IMG_DIR_PATH, - "protonvpn-logo-white.svg" - ), width=325, height=250 + "protonvpn-logo.svg" + ), width=275, height=100, preserve_aspect_ratio=False ) self.set_icon(window_icon) self.headerbar_sign_icon.set_from_pixbuf(protonvpn_headerbar_pixbuf) diff --git a/protonvpn_gui/view/quick_settings_popover.py b/protonvpn_gui/view/quick_settings_popover.py index 7af8ac2..0e42697 100644 --- a/protonvpn_gui/view/quick_settings_popover.py +++ b/protonvpn_gui/view/quick_settings_popover.py @@ -400,7 +400,7 @@ class SecureCoreOff(QuickSettingButton): def __init__(self, popover_widget): super().__init__( popover_widget, - "secure_core_off", + "secure_core_off_active", "Secure Core Off" ) if self.settings.secure_core == SecureCoreStatusEnum.OFF: @@ -467,7 +467,7 @@ class NetshieldOff(QuickSettingButton): def __init__(self, popover_widget): super().__init__( popover_widget, - "netshield_off", + "netshield_off_active", "Don't block" ) if ( @@ -588,7 +588,7 @@ class KillSwitchOff(QuickSettingButton): def __init__(self, popover_widget): super().__init__( popover_widget, - "killswitch_off", + "killswitch_off_active", "Kill Switch Off" ) if self.settings.killswitch == KillswitchStatusEnum.DISABLED: