From d6b4b19824b6cb4cdd86ad5ec28b65fc8bbeab86 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 19 Dec 2019 20:39:12 +0100 Subject: [PATCH] kivy: allow generic passwords for wallets --- electrum/gui/kivy/theming/light/eye1.png | Bin 0 -> 2910 bytes .../gui/kivy/uix/dialogs/password_dialog.py | 68 +++++++++++++++--- 2 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 electrum/gui/kivy/theming/light/eye1.png diff --git a/electrum/gui/kivy/theming/light/eye1.png b/electrum/gui/kivy/theming/light/eye1.png new file mode 100644 index 0000000000000000000000000000000000000000..0bded339f0f49f4ebb530dde10d07c60302e4e8f GIT binary patch literal 2910 zcmV-k3!(IhP)u5FtW@2oWMgh!7z{ga{ELMEHM0{Lt-{ zmM%_kY1J51mkCud0idW>6rEM)R=PKDezyaVKUjypPvbLZ-ZD~Zl^Y~X1||U$fw&>6 zbxOnm1-T#CFWlma$BAvJPQzFK2lBvluIYg?7R4eKy$GbZoKg>LtcLFGg64x1*H4rQF=WdkH@ci)yes|B zI*me6)@5W_;&He<*c|TgjR=88qs8rXVu(w`?X+X>Z1WcnXe(91T{(HOuE;<@En8m)7u6fE%7)$4UEzHK2_Po2yc`wszNh>2&+b#oEIyZ-658tyF~ z&y+DKj7d#kQjUd&b}Qd>^@MFpC<;gw)#JgGm_mE~NmP$FXt$NmXX@mM96wQw+wJ!G zajh!!bMkTuw^mml=@|9^6qhcVCM8=D_{VfnK|W7D_7K-!dkt^Cy^5BW^8jQ_xSp61 zDgL_CE>EQ>E6M+?D1y`kBkR^}q^qSKiHad6j)5~$C<<<;6QO93s>IsX06=?tC(9pL z%1t+1M^keP_2(LVRZ^s)-kLk+ian=J9y|AK{Q6c~)Qmah3nc6UMtU7kShBdBl`9@2 zGb0VF)kf8^6TO|*Fd{QApuRaKD#)fe#z@1_&!|7Vm*YFvaAfPdIBi{lozrN&BLRp{ z%L3sIQ2n_E8XB8POibkA2Y<~k?zs!CR_m*lDuviRqqMwiSOPG;WYIjN{3j3vU`~kV z*{2?5$>Lj4dOKHLbJ{;A<1FcD^nnhaZte`Sd*tXb)PAeGwXK=sAFW5Kfm7J$nBEwJ zA=d1dpRBI#{U<1$HIwI7Jb}gHA7xP>D~d}N%^AwSK?6`cXW?8SSPkd^k}XNR^xRWS zC>kH2S6}ZRf*9jR1lc)qrj5PF8 z7kD_#&B^Au6;F_v;a`{aQn03Y_M+K?`4~0;#iiwwq!gyPE3)o`vWOfX-m_|F>GZ8Azhp%+pUk zMoxB?PZT8;)=i(i@X8?NUP1<-v~;mqA}as`KuWTO7gs)oCF!ytU5`fw9NzlBv4PlZ zcG|va4_ofFH^?p~`ns!zJRCt>Y%G8L!y{yk%Jhj0ibBPW^XDgo(hn5?;llYgkOg2g z8hPT;-(pUP4^niyRa`C)iRM1rE_?8s@e!Sn6t>KVDKSt-%D#ZO9QHn2(b3^;n4kTrUge@EzSJ{z=>`_LOre35cp<2 zZkM-BM-R4+^M3gid4XGPC^9qBF(>qmP9fyzpmqleTvB-rXaMNy>gI{3U%=^f`O617 z58inJ6CFaFIG$ke?s6!OVhNM=<4cX;*}E+ zA>OP`r$evTv;Uy?Le$xKhJ=x$(MJz{{||?=$A;?h(A84Mxx;(?^732eF=bMi8#wUJ zs`psEcD?^u!asIwUb8Hm{-7tpX;a4E2dwfvZ~AZ>ue|z~fHk2%vu51P85Buoaq z4OUiG%1IOQH}<%=0>}qAU3-Qv4;*4bQ2{YArT~3KQJ6A$B6~jl9IMTS>UPmqdkme? zgvo3PyCwuU;&kG$b<ioYd08TY{>#K381~BgI$%MkZie(QJEP5`UZo6qQdd)`(i(K zyB#Sd9p`H3Y&wG>)=ZQsmT-wEXOES(GbgD#@DZI2r~UG{*jOHW_(3uUv<2{=y`S>b zvoFxp)a;iDr&&){Yk%yL(l57c(*VQ-h z=39T~(AS6ii=9%)`*&7sLjGfNj;r^0(cnop+HYM43WX39!S7@3mn*L66Z zY}mMob^qFg-EI$ME-X<|QOqrwMfolBFdF+VL5)q#e6V>7|K7e6x4YlymaC&iLX z{ 1: @@ -126,8 +172,12 @@ class PasswordDialog(Factory.Popup): text += c kb.password = text - def on_password(self, pw): - if len(pw) == 6: + def on_password(self, pw: str, *, is_generic=False): + if is_generic: + if len(pw) < 6: + self.app.show_error(_('Password is too short (min {} characters)').format(6)) + return + if len(pw) >= 6: if self.check_password(pw): if self.is_change == 0: self.success = True @@ -138,11 +188,13 @@ class PasswordDialog(Factory.Popup): self.pw = pw self.message = _('Enter new PIN') self.ids.kb.password = '' + self.ids.textinput_generic_password.text = '' self.is_change = 2 elif self.is_change == 2: self.new_password = pw self.message = _('Confirm new PIN') self.ids.kb.password = '' + self.ids.textinput_generic_password.text = '' self.is_change = 3 elif self.is_change == 3: self.success = pw == self.new_password