From 078bddb1edcf7155e052d4d24ad7f45b420b5e4f Mon Sep 17 00:00:00 2001 From: Veselin Penev Date: Sun, 23 Jun 2024 20:47:48 +0200 Subject: [PATCH] added new "about" screen --- installer/android/src/version | 2 +- src/components/main_win.kv | 15 +++++++++ src/components/main_win.py | 6 ++-- src/images/bitdust_logo.png | Bin 0 -> 54850 bytes src/screens/controller.py | 3 ++ src/screens/screen_about.kv | 42 +++++++++++++++++++++++ src/screens/screen_about.py | 61 ++++++++++++++++++++++++++++++++++ 7 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 src/images/bitdust_logo.png create mode 100644 src/screens/screen_about.kv create mode 100644 src/screens/screen_about.py diff --git a/installer/android/src/version b/installer/android/src/version index 5ce6582..fb0d372 100644 --- a/installer/android/src/version +++ b/installer/android/src/version @@ -1 +1 @@ -1.15.241 \ No newline at end of file +1.17.243 \ No newline at end of file diff --git a/src/components/main_win.kv b/src/components/main_win.kv index 0e7f438..9308442 100644 --- a/src/components/main_win.kv +++ b/src/components/main_win.kv @@ -121,6 +121,21 @@ app.main_window.nav().set_state("close") app.main_window.select_screen('settings_screen', verify_state=True) + OneLineIconListItem: + id: menu_item_about + text: "about" + on_release: + app.main_window.nav().set_state("close") + app.main_window.select_screen('about_screen', verify_state=True) + CustomIconPackLeftWidget: + icon: "information-outline" + icon_size: "32sp" + md_bg_color: app.color_transparent + md_bg_color_disabled: app.color_transparent + on_release: + app.main_window.nav().set_state("close") + app.main_window.select_screen('about_screen', verify_state=True) + : id: main_win diff --git a/src/components/main_win.py b/src/components/main_win.py index 2a553fe..83b2b0c 100644 --- a/src/components/main_win.py +++ b/src/components/main_win.py @@ -129,14 +129,14 @@ def is_screen_selectable(self, screen_id): if not self.control: return False if self.state_process_health != 1: - return screen_id in ['engine_status_screen', 'startup_screen', 'welcome_screen', ] + return screen_id in ['engine_status_screen', 'startup_screen', 'welcome_screen', 'about_screen', ] if self.state_identity_get != 1: return screen_id in ['engine_status_screen', 'startup_screen', 'welcome_screen', 'settings_screen', - 'my_id_screen', 'new_identity_screen', 'recover_identity_screen', ] + 'my_id_screen', 'new_identity_screen', 'recover_identity_screen', 'about_screen', ] if self.state_network_connected != 1: return screen_id in ['engine_status_screen', 'startup_screen', 'welcome_screen', 'connecting_screen', 'settings_screen', - 'my_id_screen', 'new_identity_screen', 'recover_identity_screen', ] + 'my_id_screen', 'new_identity_screen', 'recover_identity_screen', 'about_screen', ] return True def update_menu_items(self): diff --git a/src/images/bitdust_logo.png b/src/images/bitdust_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..80ed14ebe7e8f441afd32a67e30eb494bf45d6ca GIT binary patch literal 54850 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

dBrHddW*jC$YEhr_Sp0Pm*Rt; zU-Z`v%j?14z4O~9qo$3nhFP9)cp}19eBF!nFFs73n6U9t4XotE7!wWTalT6eSPRZw zeOg=J6Hj*K%MN?htl9_PedO~x*>1Rbt-0@^tsPXuQ5&}BS95h@8^Oi!P(~3w#ieT` z8vQOtV-Q4;)pl-Qx_IUj#@QzT01rS(L_t(LiR)+FyP@Z;z0{H+uy+WYc44vp46-Ju zJKZpZkfzu}k1Y^mQD@y!6b6gHR4T}c5rr`|vzls(yJyz5!%?LPm^-5b2Tq$faMALGJ!5^6djmdu=M$&G<(3TWo*xZ?2pR#Nx^Ve| z5m^KO$~}))cJ=dVfExtaCWz!v;c|p8SL16okwCZtP~Pw8_uqM7(;u3VV^WjBqM1|i ziq4kqvyYfJY$eR&8E1U+?&+P?rZ+tJ?Do%gb5nDFJ)b+dpCAn^xBv2vu)Li`TWNo=UeNZGHajMIyL8D(-irl!LoQ;@W)X z&c`PH-vdv#tXR--@Z&oM{&)Q|TU}o^p=#Jo9?Tup^E|$RH^B6}QFy#KJC{=wdbol~}6aneC!_Bws+m)2BHUa-$;5UIn!LZl9&41zs* zW19(4^XiA5yJqz{N4}`z4BH#7>pp+?)b;mm-B25>w*m$X0UHCcRH!_b;0&S}F_JAk z6E=aIkS9L~s*#sBZC2^e2YS0(s*J2j07KZ`Jph}v8_H})80CekoS6PDMHP-uV)taj zNm*hS@1=sk8VhFtVHH$Gy$pc_N^u;HMpC2VE5T9W$8owXNho|<97UPJ5a`0FPu+px zC)8=2g0RGE0*%NJ^^XOa*5_QQqQ#!bInixPM-VbNe4hye$1m<^Tlt1X7gwH?GJ3)LR)(4s8JP;fj7^YvVTjH`KU423P=t@MPR>n{X<<3RNye#I_y7X z5|+;C=sE9*IjL#l1u(3N_7|`G`TWNptgo*P4rUAnTL9LmUx^@wz?LM3lZsj3=5$|Xd5)u*;62=NId5ds&IOpP{ zAKiB@9op1fjk%!AestxR;T*(;(5bL(2>8Ni#Ng8MMr}E*+%bdU;NYun>LNZ1#W;vj z4JdfL!bY8vBS6Uz#ri!^>2Wv^5-R5QtfRGfw=i+jA1FknSQH0)xStejXGi*6%V9ALTM&5;!)+_)l;C*A|+jjFc5Ys@y zf)A`=oxe=h1Yivai;tn(mg-}VN*L>LD9lQOx~B6 zEd89{nzP=oB@8yKq=z;2yhMN^Q6j+VemQ$}O78)uu@cSzrhJ=7^lUW}sUn%%kqr5q z(at5!8wsJ4A+cV<)}oKEkf2~`a*Hb|Vj-&vfEv}c62ei;Gbu)(e!R*d0VL# zOs!STK>KITI&xf8T_hwVBqSvKrC?Y+SVM8fxv$?b;AC#rY##$T82E5A>j)J7h=F19 z>WoT2tkn*N0Wf=S5_|6vfg$1m;usf2@H4&A@?MdTYXt0!@7f{@BNm3kNAIpOnu!Vy zTYmn$01J@sS`4#95k{_ej6tOcCVCC|6ZXZHthu>9`_~`eXD9&di$ir7skiBM2svR6 zfFn?DU~=-`0~6r9Pt1GP;I9n}$T38Kj18JaRxVvQtu2wOgoK2IgoM$@sN~{(^20wN zo0$jyu(AID5hgJPg`!o&AAksKb<0lU{=?{xb*s`hOmv5 z1~F@^w7JKn(OopC>-iKT!O&yKUTvaMR){KVp&~#+Uty`YFl;sYV|z1t=nx8J&JeG{ zF}Re>?t?}B=+mzxhI$NN{ip!5TDmQkb2es8dGZw_(c_r0$j1^j;D_;J z`D=>tpFegWSmNt;q#$~L1_5pdk@${=#|>RfqTaHY@Lptl`D1FF0>K;A)zmLapggbg z8CTHl$fB-5kLk@=ATl6l^3xCPIOVcaU;V?;d|ne05)u*;5*jh81PcJJ_=npL-o7or zqi>+EO~}BJsy>?L9{)sRJW5215c;G8;gaavl3;ZzHu+4E&W*3(DF_rtWlG3LIuHnsrIFOdAW(m}sAQo~$NcRjqNYdiU8ygh^{QM`n>$tP&Bi9Qe`6X@_F?J&A?Wyj>zt1wCo1k2}N1rHW< zJFy^T{x(;TrAXoc$B3JYVuFH2C1OQGHWLM`1j~TH#6_CAdagLcEtGl?L4Y`p>RHU( zVx!6!!3lc;1p$)-iP4}_9~erS{LX5E7XZ^IWCL$l*nZq6Pg{EDSU!&l2?+@a2?>oD zQ-TEmH+}n_N%ySX@v|*mgRgOxeKu5s@x4TrOi`OdhN3|pKv7QKyIRvIu04G~3Qh7Y5_ zpo%dQEHOl?m{xUX{_PR_e(U@b4@~)12?+@a2?^s2V@|LF&Ru!atE$z?&vx~=_AvHy zhCsnbWxaC5rerQRp-9;q&sjSJ9T0Q1SSx5q@5?B8p-kAoD-j|Q2$_a)VJLS7hURSP zHXur*4UHrz_^l+=hG|QU`QgC=~ru(7I+(B3IbcJ^Z+jQ1YmkNR<*b_UGdWzV1f!-@>{H=ugT=HE?_c zW>fNBneb>J0`eS~(L{r@rZ)f0H!oiCy|I3d5)u*;5)u+#7~_s$0l?a|4_8;;^7N_= zn|5C25d2O8wgwIcu(~~muwDm<^(4xBu2A^2!goozn}@pT7jKuanOMX=K>X-1ZU+JY41|H!EXVXo&1b#uq`6;v%OUfU zi9I19At51QFTl7YSOMR-{#PCA)^(rv?53Ve9lU{@jeyBQOr~YW9%6NqFAymuRe;vk zXxCvRU_cBV4VhJ;R62UO&`6m4*Oa3h%4Ev3F{d|#9>h>x!zkrmm1=E7%~%dWtpjo= zXwL|fE0uR$dC9TY9MVeVQ%FciNJvOX80Q$*1S??en$68$x%QWDBU|}e&p-~L3^~;x z84%ijgrvy7f;YsI3AtE$A5-cz1i+dW58dtqLWdyqn8hZb_h=R5$P=b;zoK{T*~sX z!foMmEEG-fAYas+Wf>0LuXUqv@A=nUc-+lneT@?m5)u*;67~#x9l;9t^yk(ry!Za@ z<&#?J>K(l`Fe<7@g)mW|&H`9lbP@`p0baB|M@qgdKT^~&Ur@P9e+L?CdAO`-6+Zb` ziR14VR4q-sB0`?~4#p)@Cv@)`?D^1-KJn)N8tdzskdTm&kdQEZ*lP(^8JGRr9gBXq zzWbQYY1RLHw#R{U22mYiGt@<5WlroUj4=&H|E3i@5Rd?QtPdn`2oFWbwW4T5cPKgm zT@i@|2L^>pO9CN5ohztV#-e>DZGCEc|D~rcU+~-WkDI$@tgl@{LPA19Lc;Ll&w^l; zaor8SopRT`&%JAqn`igedoSo6G#K=$TE(a^7C>tPyC$>;-HA&j(LM^oM=S_Qtf~b_8oE?tf%c z<+>Yxf6@AlJv47l+uJv9t1sQLYY;?LIL^V~m>3TdRiy+(6_CmO=ureP40c+TBMxK$ zNCqJTn-Rb@%xG^$Ys`|SAt50lVf685Pq6+Ne)5Zl zCak@G`vn`G-I;Cf?nhp?Ft*9Oe7}}ca^{0_XRSjG&Q)NoMN5: + + ScreenContainerLayout: + + TopEmptyScreenSpace: + + AppScreenLayout: + + AutomatShortStatusPanel: + id: state_panel + size_hint_x: 1 + statuses: root.get_statuses() + + VerticalScrollView: + + VerticalWithPaddingLayout: + size_hint: None, None + pos_hint: {"top": 1} + height: self.minimum_height + width: root.width - app.scroll_bar_width + + VFixedEmptySpace: + + Image: + size_hint: None, None + width: dp(300) + height: dp(72) + pos_hint: {"left": 1, "top": 1} + allow_stretch: True + keep_ratio: True + source: "./src/images/bitdust_logo.png" + + MarkupLabel: + id: about_text + size_hint_y: None + text_size: self.width, None + height: self.texture_size[1] + color: app.color_black + text: "" + on_ref_press: root.on_about_text_ref_pressed(*args) + + BottomEmptyScreenSpace: diff --git a/src/screens/screen_about.py b/src/screens/screen_about.py new file mode 100644 index 0000000..f4c6fd0 --- /dev/null +++ b/src/screens/screen_about.py @@ -0,0 +1,61 @@ +import webbrowser + +from components import screen + +#------------------------------------------------------------------------------ + +_Debug = False + +#------------------------------------------------------------------------------ + +about_temlate_text = """ +BitDust is an [u][color=#0000ff][ref=github_link]open-source[/ref][/color][/u] project of a worldwide distributed network that is aiming to provide online storage, safe personal communications and full control of your own private data. + +The BitDist p2p-app is a peer-to-peer application which provides secure distributed data storage and safe private communications. + +This is a story about respecting the digital freedoms of all people on this planet and taking full control over our own personal data that we send and receive over the Internet. + +We are currently with a small team primarily focusing on the development and supporting the BitDust project and community. + +More about the project you can read on [u][color=#0000ff][ref=web_site_link]www.bitdust.io[/ref][/color][/u]. + +Also you can give us your feedback about the BitDust p2p-app or report a bug directly via that [u][color=#0000ff][ref=feedback_link]link[/ref][/color][/u]. +""" + +#------------------------------------------------------------------------------ + +class AboutScreen(screen.AppScreen): + + def get_title(self): + return 'about' + + def get_statuses(self): + return { + None: 'main process is not started yet', + 'AT_STARTUP': 'starting the application', + 'LOCAL': 'initializing local environment', + 'MODULES': 'starting sub-modules', + 'INSTALL': 'installing application', + 'READY': 'application is ready', + 'STOPPING': 'application is shutting down', + 'SERVICES': 'starting network services', + 'INTERFACES': 'starting application interfaces', + 'EXIT': 'application is closed', + } + + def on_enter(self, *args): + self.ids.state_panel.attach(automat_id='initializer') + self.ids.about_text.text = about_temlate_text.format() + + def on_leave(self, *args): + self.ids.state_panel.release() + + def on_about_text_ref_pressed(self, *args): + if _Debug: + print('AboutScreen.on_about_text_ref_pressed', args) + if args[1] == 'github_link': + webbrowser.open('https://github.com/bitdust-io') + elif args[1] == 'web_site_link': + webbrowser.open('https://bitdust.io') + elif args[1] == 'feedback_link': + webbrowser.open('https://forms.gle/RkJW3L7NTamZ5K8m6')