From 26daf14390019d784e6553fe3e4159350baf26ee Mon Sep 17 00:00:00 2001 From: andrewlalis Date: Tue, 9 Jan 2024 12:52:42 -0500 Subject: [PATCH] Added about page, improved splash screen again. --- design/splash-screen.svg | 43 ++++++++++++++---- .../com/andrewlalis/perfin/PerfinApp.java | 1 + src/main/resources/help-pages/about.fxml | 33 ++++++++++++++ src/main/resources/help-pages/home.fxml | 2 + src/main/resources/images/splash-screen.png | Bin 15168 -> 17163 bytes 5 files changed, 69 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/help-pages/about.fxml diff --git a/design/splash-screen.svg b/design/splash-screen.svg index 20472aa..da1e1e2 100644 --- a/design/splash-screen.svg +++ b/design/splash-screen.svg @@ -26,15 +26,20 @@ inkscape:pagecheckerboard="1" inkscape:deskcolor="#505050" inkscape:document-units="px" - inkscape:zoom="1.4752525" - inkscape:cx="125.40226" - inkscape:cy="94.899008" + inkscape:zoom="2.0863221" + inkscape:cx="122.70397" + inkscape:cy="106.40735" inkscape:window-width="1920" inkscape:window-height="1025" inkscape:window-x="1080" inkscape:window-y="470" inkscape:window-maximized="1" - inkscape:current-layer="layer1" />PerFinPerFinPersonal Finance + id="tspan5">Personal FinanceBy Andrew Lalis diff --git a/src/main/java/com/andrewlalis/perfin/PerfinApp.java b/src/main/java/com/andrewlalis/perfin/PerfinApp.java index ea3918f..2d8b810 100644 --- a/src/main/java/com/andrewlalis/perfin/PerfinApp.java +++ b/src/main/java/com/andrewlalis/perfin/PerfinApp.java @@ -94,6 +94,7 @@ public class PerfinApp extends Application { helpRouter.map("transactions", PerfinApp.class.getResource("/help-pages/transactions-view.fxml")); helpRouter.map("adding-a-transaction", PerfinApp.class.getResource("/help-pages/adding-a-transaction.fxml")); helpRouter.map("profiles", PerfinApp.class.getResource("/help-pages/profiles.fxml")); + helpRouter.map("about", PerfinApp.class.getResource("/help-pages/about.fxml")); }); } diff --git a/src/main/resources/help-pages/about.fxml b/src/main/resources/help-pages/about.fxml new file mode 100644 index 0000000..d2930fe --- /dev/null +++ b/src/main/resources/help-pages/about.fxml @@ -0,0 +1,33 @@ + + + + + + + ## About Perfin ## + Perfin was created by [Andrew Lalis](https://andrewlalis.com/) as a + modern solution to personal accounting which didn't rely in some way on + internet services that are probably selling, using, or storing your data + in ways you're not comfortable with. + -- + It's designed around the concept of personal ownership of your financial + data. You can, at any time, inspect the data that Perfin stores, and you + can be sure that none of that will ever leave your computer. + -- + Perfin was built using Java 21 and JavaFX, and stores most data in an + H2 database file for each profile. Attachment files are copied into the + profile's *content* directory, and can be accessed directly. + + # About the Author # + Andrew is a software engineer whose work consists of a variety of web + and desktop applications that range in scope from simple tools to huge + microservice-architecture web projects. He has professional experience + in development for personal accounting software, as well as internal + back-office systems, and educational course management software. + -- + Aside from development, Andrew's primary interests are in long-distance + running, powerlifting, and cooking. + + diff --git a/src/main/resources/help-pages/home.fxml b/src/main/resources/help-pages/home.fxml index 6a4ff20..4b3c796 100644 --- a/src/main/resources/help-pages/home.fxml +++ b/src/main/resources/help-pages/home.fxml @@ -22,6 +22,8 @@ # Help Pages Index # The following is a list of all help pages. -- + [About Perfin](help:about) + -- [Accounts View](help:accounts) -- [Adding an Account](help:adding-an-account) diff --git a/src/main/resources/images/splash-screen.png b/src/main/resources/images/splash-screen.png index 1cb68f2276772d536a3751ac8ccb5d685dc5ceb4..4c6c680171730e3bd3cf4c5509f2172ea3f10bed 100644 GIT binary patch literal 17163 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 Gp#K9}zefN7 literal 15168 zcmX9_1z23Y5-k*WDDJdCad)R!@nXf@-QC@ayBCMWp|})xcXxM}V(;$%z7O5KnItol zk#n-)Kjb8k5%3W{eE5JY`CU};!v~01;O{{=7~p3=R^vAC3*PR#y5olrC_UhBhymLY zBj80mCowfAC0i3GSA7TL53a7R4CXeLj)wYn#tgO&rWxma_#ZxyevlLuR(8ugYj;gG za&KBV)^ z+`!yV>DFEibrFwb3H2Q}S1&P+(zSdt$uZ0EookMt2-HIB>?1glUo4@mQY@FnWWiWEqp+EAo`^+V-{^7Dq&-QQr}GMe9h z0k29M+pkzq`Y~JcvH~s^MLXO25OoT013WED+QE5#Ma$o+A9D;4LyCT=g!H3BphM}; z{J?xnN^t!396_{ZQwWJ;LYj4UXyQs20hw+R8C(>g@!B|DAXFX-7X~b&KWhiR@?yft zDI*voGv|-*x!5dp%_Ku)2*_sKGtv((pqd&G)b?QZCx2xWYjc%6k(Oxfv_VWkNcS^# z%lwmy7;6~#sVy$$NMFZ0I=Onsv@<7c1{smU8}~=+z`TIUsqXcLrFWNdri& zxGn_ojk`CR+a&1Vl^k2Erll0DbM2IUZGKXLR78cKgcpCvJs7)>x#bzIL{jQ`j90cS zBOmf`foPFrSB~4wQP9zZ(KvqnuImn!A9bdaBZ=;kF`c2xh;FGKo@^8donrWJ8n_5Z z5^ipZ#;G)<2P@2d7qgg9&~m_*-C|yiCK^~zB2Ct8Lr3f5Y$l_poiM_(_0T;>i*L=p zeuA}_yAz~^weDKLT2s`#IF61g3tc>;V}1H_N-YAcH==`%9euCp`xDDA_PkE@SxXgL zrQ%?zx%q8IRBLfIH)@bYJw%JS$U+cKUvXQq&^F3Ww_+IJz7=2b(yTg)6`Y-sv%2IA zxQHm7WroZ&*Oe9X1pg;_XMG1fVEi6b$-=#YYu|e7P8HEU%tYwvS+9V|O&CDx6ohkY z>OSlY>&5| z=)a9wuY1^KL%5#!94A8`6zBd4PCjk1K@1hCj6nVpDuou*fP0_l)+5?hVXc+vZ`C2f zJ4=r8wTX~-BGiJH6!J6NH_eyRE4XM5tK~2D-~XiWnB$Apl$9d&5D$|72?5Vf?|7q^ zZn;uTJG8G~^a|PtQK;@wmP3z@{%^E&lXC(pv1Pk#n^q0%H|u^GRA^r6bB_CvzCjZ* zuz2aV*GWDy)#kzljbwV_!g-x_%oY^l6u1HL|HjY!dWu+`>yIr-3tMAqiaW$_((;_h zv0(jgZ|3LR_+qxq_SrHk;Wts=l)BF1E3d|cP-;lwWbM6uLuR}yD8{8Jn*InAt40`n z9V~S8y7|v)`h=jqXAPN5&Bbknqfx(ZV=kh5kVufB<9}lH&$Gi=Pt7Z|`B+eo#*wJB zL@Pqd3Ov0mV|xILirh90w;c&t4n=yQoAC0fOxi6QzazI&%XD=*yzd0>FB-%%ic}NZLwf zSWY7pJy_X*g|=%xt4^x+{?B`5&vB)hwrqXi^);BdSKf?->+x$b8duN$JJ!xu+%oI# zCG`}&R+tFZ;}4VUmu|g}cCDYm3f5kC<`VxMjCaud?KzjWc!onT(QDvd3`!I&DE;&X zr`els>Gp&Uk)a;1#R2c$xBFfk{FVw8!m6tnl&rZ9O!rMJI;~1}k6iiB;>9 z4pr2`vshgc~x

Nh+^c$^ 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 NB*o-JE5GRl{14wef>i(j