From 6bdd25dd74d8238b1db7ab25c6e462a316c91f1b Mon Sep 17 00:00:00 2001 From: pepaskopec-blip Date: Wed, 23 Sep 2026 19:54:58 +0200 Subject: [PATCH] Rename the product display branding to Graduately. Update app titles, installers, and welcome copy while keeping technical package IDs and updater artifact names. Co-authored-by: Cursor --- README.md | 20 +++++++------- android/app/src/main/AndroidManifest.xml | 2 +- .../org/maturita/maturita/MainActivity.kt | 2 +- .../java/org/maturita/maturita/ui/Screens.kt | 2 +- android/app/src/main/res/values/strings.xml | 4 +++ data/changelog.txt | 4 +-- .../org.maturita.Maturita.desktop | 6 ++--- installers/macos/Info.plist | 2 +- installers/maturita-android.html | 4 +-- installers/maturita-installer-android.zip | Bin 1027 -> 1031 bytes installers/maturita-installer-ios.zip | Bin 1323 -> 1340 bytes installers/maturita-installer-linux.sh | 6 ++--- installers/maturita-installer-linux.zip | Bin 1483 -> 1487 bytes installers/maturita-installer-macos.command | 25 +++++++++++------- installers/maturita-installer-macos.zip | Bin 3093 -> 3210 bytes installers/maturita-installer-windows.cmd | 8 +++--- installers/maturita-installer-windows.zip | Bin 1393 -> 1383 bytes installers/maturita-ios.html | 4 +-- installers/pack-installer-zips.sh | 12 ++++----- ios/Maturita.xcodeproj/project.pbxproj | 16 +++++------ .../xcshareddata/xcschemes/Maturita.xcscheme | 6 ++--- ios/Maturita/UI/Screens.swift | 4 +-- macos/Maturita.xcodeproj/project.pbxproj | 16 +++++------ .../xcshareddata/xcschemes/Maturita.xcscheme | 6 ++--- scripts/bundle-ios.sh | 6 ++--- scripts/bundle-macos-swift.sh | 12 ++++----- src/i18n.c | 8 +++--- src/main.c | 4 +-- src/update.c | 2 +- 29 files changed, 96 insertions(+), 85 deletions(-) create mode 100644 android/app/src/main/res/values/strings.xml diff --git a/README.md b/README.md index 814b02e..27633d4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# maturita.c +# Graduately -Vzdělávací aplikace k přípravě na maturitu. / An educational app for the Czech maturita exam. +Vzdělávací aplikace k přípravě na maturitu (repo `maturita.c`). / An educational app for the Czech maturita exam (repo `maturita.c`). **[Česky](#česky)** · **[English](#english)** @@ -27,14 +27,14 @@ větve. | Platforma | Soubor | Jak spustit | | --------- | ------ | ----------- | -| macOS (Apple Silicon) | [maturita-installer-macos.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-macos.zip) | Rozbalit, pravý klik na **Nainstalovat maturita.C** → **Otevřít** | +| macOS (Apple Silicon) | [maturita-installer-macos.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-macos.zip) | Rozbalit, pravý klik na **Nainstalovat Graduately** → **Otevřít** | | Windows (x64) | [maturita-installer-windows.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-windows.zip) | Rozbalit a dvojklik; u SmartScreenu **Další informace → Přesto spustit** | | Linux (x86_64) | [maturita-installer-linux.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-linux.zip) | Rozbalit a dvojklik na instalátor | -| Android (8+) | [maturita-installer-android.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-android.zip) | Rozbalit, otevřít **Stahnout maturita.C.html** a nainstalovat APK (neznámé zdroje) | -| iOS (26+) | [maturita-installer-ios.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-ios.zip) | Rozbalit, otevřít **Jak nainstalovat maturita.C.html**. Nejjednodušší: Xcode na Macu, nebo IPA přes AltStore | +| Android (8+) | [maturita-installer-android.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-android.zip) | Rozbalit, otevřít **Stahnout Graduately.html** a nainstalovat APK (neznámé zdroje) | +| iOS (26+) | [maturita-installer-ios.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-ios.zip) | Rozbalit, otevřít **Jak nainstalovat Graduately.html**. Nejjednodušší: Xcode na Macu, nebo IPA přes AltStore | Kam se to nainstaluje: `/Applications` nebo `~/Applications` (macOS), -`%LOCALAPPDATA%\Programs\Maturita` (Windows), `~/Applications` (Linux). +`%LOCALAPPDATA%\Programs\Graduately` (Windows), `~/Applications` (Linux). Buildy zatím nejsou notarizované (chybí Apple Developer ID), proto je při **prvním** spuštění potřeba výše uvedený krok navíc. Aplikace se pak udržuje @@ -219,14 +219,14 @@ branch-named file. | Platform | File | How to run | | -------- | ---- | ---------- | -| macOS (Apple Silicon) | [maturita-installer-macos.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-macos.zip) | Unzip, right-click **Nainstalovat maturita.C** → **Open** | +| macOS (Apple Silicon) | [maturita-installer-macos.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-macos.zip) | Unzip, right-click **Nainstalovat Graduately** → **Open** | | Windows (x64) | [maturita-installer-windows.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-windows.zip) | Unzip and double-click; if SmartScreen appears, **More info → Run anyway** | | Linux (x86_64) | [maturita-installer-linux.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-linux.zip) | Unzip and double-click the installer | -| Android (8+) | [maturita-installer-android.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-android.zip) | Unzip, open **Stahnout maturita.C.html**, then install the APK (unknown sources) | -| iOS (26+) | [maturita-installer-ios.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-ios.zip) | Unzip, open **Jak nainstalovat maturita.C.html**. Easiest: Xcode on a Mac, or the IPA via AltStore | +| Android (8+) | [maturita-installer-android.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-android.zip) | Unzip, open **Stahnout Graduately.html**, then install the APK (unknown sources) | +| iOS (26+) | [maturita-installer-ios.zip](https://github.com/pepaskopec-blip/maturita.c/raw/main/installers/maturita-installer-ios.zip) | Unzip, open **Jak nainstalovat Graduately.html**. Easiest: Xcode on a Mac, or the IPA via AltStore | Install locations: `/Applications` or `~/Applications` (macOS), -`%LOCALAPPDATA%\Programs\Maturita` (Windows), `~/Applications` (Linux). +`%LOCALAPPDATA%\Programs\Graduately` (Windows), `~/Applications` (Linux). The builds are not notarized yet (no Apple Developer ID), so the first launch still needs the extra step above. After that the app stays current: diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 56d6018..382c38c 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -7,7 +7,7 @@ Unit): LinearLayout { val pad = (20 * resources.displayMetrics.density).toInt() val title = TextView(this).apply { - text = "maturita.c spadla" + text = "Graduately spadla" setTextSize(TypedValue.COMPLEX_UNIT_SP, 22f) setPadding(0, 0, 0, pad / 2) } diff --git a/android/app/src/main/java/org/maturita/maturita/ui/Screens.kt b/android/app/src/main/java/org/maturita/maturita/ui/Screens.kt index 30fd1c9..b822e0c 100644 --- a/android/app/src/main/java/org/maturita/maturita/ui/Screens.kt +++ b/android/app/src/main/java/org/maturita/maturita/ui/Screens.kt @@ -90,7 +90,7 @@ import org.maturita.maturita.data.themePalette fun HomeScreen(vm: AppViewModel) { val sum = summarize(vm.content, vm.progress) val pct = if (sum.totalEx == 0) 0f else sum.doneEx / sum.totalEx.toFloat() - RootScaffold(vm, "Maturita") { + RootScaffold(vm, "Graduately") { if (vm.showChangelog) { item { ChangelogCard(vm) } } diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..61a26de --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Graduately + diff --git a/data/changelog.txt b/data/changelog.txt index b201e71..41d4283 100644 --- a/data/changelog.txt +++ b/data/changelog.txt @@ -79,5 +79,5 @@ cs: Cvičení v Deutsch jednotce 1 en: Exercises in Deutsch unit 1 --- 2026-09-03 -cs: První verze maturita.c -en: First version of maturita.c +cs: První verze Graduately +en: First version of Graduately diff --git a/data/share/applications/org.maturita.Maturita.desktop b/data/share/applications/org.maturita.Maturita.desktop index 859c4ef..46e7c5f 100644 --- a/data/share/applications/org.maturita.Maturita.desktop +++ b/data/share/applications/org.maturita.Maturita.desktop @@ -1,10 +1,10 @@ [Desktop Entry] Type=Application Version=1.0 -Name=maturita.c -GenericName=Maturita study app +Name=Graduately +GenericName=Graduately study app GenericName[cs]=Příprava na maturitu -Comment=Educational GTK app for maturita exam preparation +Comment=Educational GTK app for Czech maturita exam preparation Comment[cs]=Vzdělávací GTK aplikace pro přípravu na maturitu Exec=maturita Icon=maturita diff --git a/installers/macos/Info.plist b/installers/macos/Info.plist index abea478..be9a582 100644 --- a/installers/macos/Info.plist +++ b/installers/macos/Info.plist @@ -11,7 +11,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - Nainstalovat maturita.C + Nainstalovat Graduately CFBundlePackageType APPL CFBundleShortVersionString diff --git a/installers/maturita-android.html b/installers/maturita-android.html index d4ce3b7..f687b66 100644 --- a/installers/maturita-android.html +++ b/installers/maturita-android.html @@ -3,7 +3,7 @@ - Stáhnout maturita.C + Stáhnout Graduately -

maturita.C pro Android

+

Graduately pro Android

Klepni na tlačítko. Až se APK stáhne, otevři ho a povol instalaci z neznámých zdrojů.

@6aWAK2mqR%H(jo}7~4Su004*v000;O8~{^vVQ6k|b#x#{ za$#h3VRU6|c`j&lZERIk2>=805wvRa5wwv)D1U8G6nkiZ_R=Fwjx5F$NsuG&+QB|T zAE4-IA0X%xv=?XJtJIJG+61i)SR`jS^L;bl$oUuF{rK(Azr1||71etFEN>s6xmgxW z1lArPm-A-;d5y$DRNM!of;Choui4RHc#Q>HE4*{o69Zulp^1)nN>WuwTq}V|x48gi z6n`nMlOVXpV$z2pMH=Tn(eAM_wjuc5bJ=i0y~(rQ)_Min^ecdcl^b~9Edk1yFDZGg z^kxQO6A0_1Q5O)n2}wY&%Im?i=J!308N7V$u|A&rr7|=4DxLvv$nFh}OR3Cq2A42N zU!L3$R$D)VFDJbH_NNcsFHaX_4%nm$PJi==YoV=J?Qav_Q^K`c#+)LS3jN-);9|A( zwlVS_!H+4+viujkNelcO;lg@}K8cl7O_;&e)s?$H%P&z_&q>(`!dQdXr{%muwXA3c zUteCHl5_C>fMYtHUV~N!lWK6Dq|;Z|gQu_(qjMK5s4d14rdO{byw09yLo@TN7k^pa zcC_nqHJKmV56)Y-G16NlqwA#eaPwP@&ZsCnAk9Diy8A#Yo5Ic0Ul0&(-rhp!q=Xk> z3D-}*DX1)PaCU8VRA3;kxlphLgIlwEtapEk3brxJyQe?WJaa>ujz}JruXzXsi+yFF zWWl6nL#?3lSQe}za$%Nbp5LWQMSoSZXrk_hIY@=AGl!0cm31hRg;p-BIW=ApPem3Z zgsuu9TQo|?$KIImo_WgMip__V$0>I03+ z#)wv>Fd84mYRx@(bQTI=pU24#l138M=s=P?m7Wl71BHyii$3HFU=decE7~`NjrZ+_ zlqxhQkbJ}xuf>c8eEKd}Ga5&UfBu3zl4w7wj7RYNImk3r{M;7b9#%AUE1@OQ8;$Mq zo6Qe$)GBbCww;6G>;l05&_v=H({|J4?slJ4-t|d}hr{}mqu_0Q&l>eG9^M<{QMZZ{ zKQuMZ`dN?j-2LzT4Nyw~0v-bt000080GggRU9P$q+d-4010okka$#h3VRU6|c`j&l YZERIk1pou{5ww%t10V*I0{{R30EWT7D*ylh delta 946 zcmV;j15Nyg2!jYhP)h>@6aWAK2mridGF_-5AcH*v004*v000;O8~{^vVQ6k|b#x$Y zVRUtJX>?&OLoR4^ZERIk2>=7b5Upy%5Ur6yD1T`V#U2`_1ntyiE;zXDiTxq%Pe5}=Ivl9Ja- zZ)OlSfv`>*bpe5!kOcIqydFGje&6Gm!OPbk>*Kj!Dl>y`;u-LU?B3wGl*%k;a0!$2 z<;e|Uwe>UjdcxapfBMk<@^nGwfK964G=Gn{7TSu{{x;z~C0wgz%qe22(C;k^E>=r# z8zcV_{Ft&V%YVU}w7}01F07a66VIh;!VIpiuH5}ueu=_*PRd3Q#u~gnE$1DoWkoai z_VV(SoP!Ss9MkFa8niN)RD<&*oxZvrJcX4Qox5N`Z84TGy?Pblb@n_Pnwe+4$ba&- zqg|J)$^6)UaNfd=k=`m9T_>G~o8M}5Mn&NPY5wWg-A7v46mFjWf`D-I?iNBPCA@+?w5Ez57#Cu#H*XKmC#BnH$n{MDnP7%|j?y>?;E$ z3nn!iY6X?YvS1aF3$rZq{4QN8s(+eA6LmMtK`LyWIdnX%tV5A3v~t;jqR3)|&{ZL1 zi$>}A*c%hxGf%l&vH6hlI37gWha_0rU;T6nVwJx!YfC8pnp->7}2T} zM&rX+t+@w}&O!m~%Q)FV(nz8j9Y}Jg(i5U>ppY?m(T98iEaIwbMf--Z@xI-VQibLO zl8>0;wV2U>Pu~Y?M&l^)FJF*H675Ho@d%zj2bqS7pWEWw!-}SECA36(tFc{vxA{Si zS_O{NwsTONT>$tWT0CRgZa})+-R`r>yFN+ra9E#m6uhnPS)(4t!+T>q>Q-^$hoZ;0v-bt000080K8%{U8o`;gFTa|10ok~VRUtJX>?&OLoR4^ZERIk U1pouX5UrEp10V*E0{{R308A6dFaQ7m diff --git a/installers/maturita-installer-ios.zip b/installers/maturita-installer-ios.zip index 5140c331ff2cd487b8d24c6f40cf4ce02d8869c5..e2947f2b938eb42e6ad9362fa11250f08043a30c 100644 GIT binary patch delta 1273 zcmV@6aWAK2mqR%H(jP&4cKM`008v}001BW8~{pTYani6X>N0L zVQg=9VRRrza$#h3VRU6|c`j&lZERIk2>=805wvRa5wwv?9)BU$uH`CeEUyH(Z4d-$ z5~B`^_K_k-T1s4UOLEti1Ajt3An21npy+#n_QlbEb+{K= zzI*fS+n>*#LFRKceUOG9P)si-5qD9TKqjUS0MZ;i1D-MK&`+Y$&j(MVy9Ld1oJ5tx zi^5nR0XN#CrhmW-DSS2&SV@k9`r!bimR>S7aGWWe3>z3Py~62p%S6dMsx=hWfP8bF zCe2ESaem#50A@z4;axohm{YdFoaIuj$Kck^V?HS50XU}Jz@e4%lQuGEmkomHM7_CH;ZRpZ@CHS3dM-m zOc}oFc6+?^1E%DHa&l@E+HPgW_-bKIsl_MYcPZ!d`8|5WKzyI!%vgbTKpmB(8^iJO zadEkqUm!P@d1;7*HX2WM+j)UzWohYq2!8j?7T<8kHEqA@|RKyc&?apF}%hQIvfvSWeSNP z(5<{F%DBclEeeI8u`rcU6eqRwOffED$yNqVwSTaNuujij2BhT@g*Kwx+-zNYZ{D7g=byIN*=MZTh`KiizQe|&t89th#%dy3Nxz6L=%`f=T^y4KXF zrsPz~>1(!9Mwd%S8DtjclPL4PaN{IdNS~Fnn43H)uwae~MLw7*StL30rInt=JeuB( z(|?3b(}Xa$;BP!un-3Dwz<>Ixi@f9)#;#mJO-_?~2`cL2<^yU8mb!K&{p}4s?xXz( z=X6xa2~e$PXu(yR-_3>9< zVM}*bN+n!Ja7hAamf71I4-yI@=ipTNbANAaPI3AGrs(bBKpGdzf<@Cd-8l)9X;b>pv4$O~exLJ8vEKXzMy%KsWPgeZ zB{Pl=M+aaUOLT?(56dOqBDO@MX^;#n=)_`8`k;9r+F9?@dOB5&@TJ&ox#LzAz5(gY zOU=W@2)+LHCa;*SEeaEe{^eL~Z&CC->un2Ug^YKK3_vc4;86ql2qNN@=hAmVMEy=? zh<%27hms{uw2d-qu<_Cv-Rsk>_)4p;=!Io?nFs4E&_7cc zhTp7Th+c4BKMtzFWN!n&fAHX5rQxB@T|eD(+{q67^>(~lA7`Prdm>%;+t*aTSC8lg z(F&R-&8vZ~{raDrzX4E70RkQa6aWAK2mqR%H(jP&4cKM`008v}001BW7?aKfAQwk+ jVPth-bY*OLE@*UZY*kbR00Z+8w37t|AO^q$00000AEQ(Z delta 1273 zcmV@6aWAK2mm8;GF>{R>UmWJ007_!001BW8~{pTYani6X>N0L zVQg=9VRRsEVRUtJX>?&OLoR4^ZERIk2>=7ZE3In5E3J`A9)H2suH`CeEUyH(X;1`d zY@-f}_K_k-T1s4UOLAq)fj=Q15cJ6(Q1rb(`(o?AI^2sa#b{I12CNl1bLN~mL$1>= zzCC;S?&tGYkojDVpQPaf6w|X b5?kcsgVfHX(XfM?7)^rNWs)832dVMDVVN6}K^ zWnrw3fE(>mQ-9#46h0dXTuP3;>dQVzExlx_=QvY1>enz{dWGYh`O-?y;+IfZ1M=)5 zP3oNxrYx6gH3YYE9`jx)_rWpkdJe6e9ygIWyQ*0X;qZmU z{9)bBq#nXov<9s7rrju*5K_;EZ~*=Ia4UlwW$X~X?0>WHTd&?!e_1^7dc#dfS13lj zCd%+do9*$+_n4A1s>!KQXxp6$}iE{NP|)TmkPlJO+coF(|3Amo>rtc<}7FiR4Bg z1y^8BUVkICFg|)l^qPI6J_AKajl7=1X|+_ztMb#N8HO~eM>Gu+QB6tKe>6tt8OehV zjT0O`?@~&?iY)3`I;9>g_1$m43MCheV>^2kyax`xm%o%!z;}u{7sDxr(EhLw3sXo0 zfo|bVQN|V4Nl_>SjfGhnMR8I)&lKYl=4@f$M1Kow2u0Kjh1OKr!E_vHVUxg*=@H|bb&E3Qw;et*DnGVa<1TDDb`u91!LzeHx zofCRt=50S1372l6CHzq8HZo0Wy{*x&&rjeQmiNEyPN*MEMJEY%q0Vh@3!Wm{6+FfyF))##82`oa6cy^xduVBsLi0 zn&cfz8g66)4+A!e==O*}icus~)SSpq{ITpZu01O0c5Ck1&)Ag^f~(GoOKQ=Z%^ukk z%YsGYrrd?UyUnyIedt)tjtqXx`Hfhu{{kZx>>4sfLTT;>2ZMbuwfn8G|1n*Ow||HY z(P$hj!zHw4vATTlJP>WC>{C6ht48=zY`5HTD+^zPbf%@|;SPjOcXMeknFUK{7)B8N z%L&+AnCN-d*$8BXjJHGvAeTh2S3~YWM7;7``qqf3+u97V&roksvc!qfsGxQyMIUTCd11-jLr=GD}~|lo7HR436s~2gKIF_NdWi{ zGq|HPe5q "$DESKTOP_DIR/maturita.desktop" <@6aWAK2mpbeH(k^E<`Dx0001Zo000{R9Fu_s9)Ae{1Huus zYUUBNYIS%E009K`0RR956aWAKl~(^x+c*^e-G9Yf=ux_x6F|G&jx9*6bfY>32zt^< z6frk(h(%&&wgY7Y>HdiO3-2$vXQyr20XkhIL}Nd{FQ4~5A7|}FG!Zf~Iaz~Gnx!?f zyto4)jb%l_HDpS|p^)`7B!6pY(`Q->Za^wvRaJhlW0*{D3rQ3P*=Ff z!HUYo`ZB3Sk(w{)h{+UEj9Vy{8nj^+&`T*S{PWk}n5G2=t`-h^Rev=s*%gOOtI~Tb zFjL6H4TlmdwA?f`?yGuIaGGFs*WNA@czgqa(6!tFlS9dDt%YTDffFq}Mkeo}4;bMg zga@-u5l`c=;YGFxjCjeA5W_7{UK4UUI601kidW2BtBNOdQiv*=2MLpad^p`Z>L0{G zQ+Gi2&dvs-I9TN2qkq%s+c%eQUWfBS148x(XQRvg;b|On4vs$$qP@0f=*8{g&fKVt z*m}Ud-$%zM%Ra(FC9J@aVVXy5#o@4jeDtiTz%H98$A5*=(Jx!uQ~Yxd@E|elZled^ zq0&Oy47xv=vFt+7c^SNe2a*czb_w7!w;0QT)=KX{YYMyT+kY!ICz=}r0~{_5RzXrI z!$atL8_ih?RKq3Q--FdP_p5x0le0x02x*|c#M~F5lUf%*Gjnzbl$LBtttdHcZ^GDb zyC=x4t;|joHN)*DI_kLoM$J^3sMGW^WLA{{+%HZVEr_ zG5-E~bNn#wg?}%j@m5rImk#E>5ZPpnI6^RNrc%hOB~Ay;9)0S;1~8rEac84;L^D@%B4Ki#zQR@8aJocM5RxPK zmC`5}UGKjek`L}&LlC2Cop3KfSlJFdhiE`DL5PFZX@3B{Y1*?JrTiw6by2|f?)sK% zu20f$-ZJAQAyc(XLzv-&^hAnlV?)HDyiSD%T0zSTT(xC|;FQ;vmle>oN33QQbajan zl%Xl^2VEHaIUK?8Xau9d>E~H54pF{bBW40tI6bfpOks!talX)VJ8V624xR67`0D}1 z;VZn}gnx^+2vs9Wz5;)i74&==Gio?uR9am*-q8uu%RJe7ySWKeHE7L);TtB3Jh*S?$(1#i zbjTQrFZQaRb5!FyoDG}|>x)!%;NSwqX z2jUag8j&>jwfop{)7SsTlkWr{Tj>8vxsRlHkk(D~cf{qmtX0jI0i9Jr@r6y8;g95N zecdDVocStZPl=zu*&1#Hb7D)p1kWtf*3+cP)h>@6aWAK2mo@EFQ2pO52tU<|at%YS_0zw+gih^s%l!hZA z>uE^V(5BCSv=-ceRKTjL5DBwFNl+OGYe3z}5I!uuusraAcU~ z5nFLM?4KOJXezMFCd%<&p>*`q_RbXloC7>a47=ax!8fS1kT!$v4`wX85Og+!ckoD3 z!QCzaeC8HoInY|^J!nl~e|=}g=2UZIV1UDarNJsl3T1c*U2mf~OMz;*f`{aDk}0^#ESQ5H!;jz~wtX z!#+MX1_C9K?#(VVr~&pHDrAu`IZt2Xs%A9rh~n@ScDLZNEkf0ZlCMC2V9nn< zL|K7fh5dvm1q8J=UQFYQayuK&4#tZ*UR8ow;)gR)b;&p0I~xmjhCdreIXo5gd>J!p zIAT;Y0Us-JUI<9nP9oDAf% zfh0aIZ)M38X%;cG&S}7a- z?=V5*&r#n)zIYwQJTQww3Vvz&!scVf$n)}*)?6~Rc|H+f~ zmd8thm1HpGN$i_Th7RxfE*Wu+pAW2vGgcT*`bfxYh z#TPbVhCh+7^>vTbOXjOKh&?BM{$^{q5zL7#@e(|@Oj}Qr=3B+Hcs{&OvLOEgP)h*< o9s?8r000O8a+5J#R^U=n{{)k61vmru6s(h}1t11g1poj50OVYee*gdg diff --git a/installers/maturita-installer-macos.command b/installers/maturita-installer-macos.command index 8d516d8..c0c7368 100755 --- a/installers/maturita-installer-macos.command +++ b/installers/maturita-installer-macos.command @@ -1,5 +1,5 @@ #!/bin/sh -# maturita.c installer for macOS. +# Graduately installer for macOS. # # Carries no application of its own. Fastly caches branch-named URLs on # raw.githubusercontent.com, so this script looks up the tip of `builds` @@ -24,7 +24,7 @@ say() { printf '%s\n' "$*"; } gui_dialog() { osascript - "$1" <<'APPLESCRIPT' on run argv - display dialog (item 1 of argv) with title "maturita.C" buttons {"OK"} default button 1 + display dialog (item 1 of argv) with title "Graduately" buttons {"OK"} default button 1 end run APPLESCRIPT } @@ -32,7 +32,7 @@ APPLESCRIPT gui_alert() { osascript - "$1" <<'APPLESCRIPT' on run argv - display dialog (item 1 of argv) with title "maturita.C" buttons {"OK"} default button 1 with icon stop + display dialog (item 1 of argv) with title "Graduately" buttons {"OK"} default button 1 with icon stop end run APPLESCRIPT } @@ -57,13 +57,13 @@ builds_sha() { if [ "$GUI" = 1 ]; then if ! osascript <<'APPLESCRIPT' -display dialog "Nainstalovat maturita.C do složky Aplikace? Stáhne se aktuální verze." with title "maturita.C" buttons {"Zrušit", "Instalovat"} default button "Instalovat" +display dialog "Nainstalovat Graduately do složky Aplikace? Stáhne se aktuální verze." with title "Graduately" buttons {"Zrušit", "Instalovat"} default button "Instalovat" APPLESCRIPT then exit 0 fi else - say "Installing maturita.C" + say "Installing Graduately" say "---------------------" fi @@ -78,16 +78,19 @@ command -v curl >/dev/null 2>&1 || die "Na Macu chybí curl, bez něj nejde nic # often is not, even when this installer can drop a .app there once. dest_dir="$HOME/Applications" mkdir -p "$dest_dir" -if [ -e "/Applications/Maturita.app" ] && [ -w "/Applications/Maturita.app" ]; then - rm -rf "/Applications/Maturita.app" -fi +# Remove legacy Maturita.app and any prior Graduately install in /Applications. +for legacy in Maturita.app Graduately.app; do + if [ -e "/Applications/$legacy" ] && [ -w "/Applications/$legacy" ]; then + rm -rf "/Applications/$legacy" + fi +done tmp=$(mktemp -d) trap 'rm -rf "$tmp"' EXIT INT TERM if [ "$GUI" = 1 ]; then osascript <<'APPLESCRIPT' >/dev/null || true -display notification "Stahuji aktuální verzi…" with title "maturita.C" +display notification "Stahuji aktuální verzi…" with title "Graduately" APPLESCRIPT fi @@ -116,6 +119,10 @@ rm -rf "$dest_dir/$name.old" if [ -e "$dest_dir/$name" ]; then mv "$dest_dir/$name" "$dest_dir/$name.old" fi +# Drop the old product name if we are installing Graduately.app. +if [ "$name" = "Graduately.app" ] && [ -e "$dest_dir/Maturita.app" ]; then + rm -rf "$dest_dir/Maturita.app" +fi if mv "$app" "$dest_dir/$name"; then rm -rf "$dest_dir/$name.old" else diff --git a/installers/maturita-installer-macos.zip b/installers/maturita-installer-macos.zip index 5c05064c49f64e37ac8d5752584026fa249f7836..d376234779134e8d438ef7eecb7a687ad4ce7a65 100644 GIT binary patch literal 3210 zcmbW3c{r478^DJ##*%|_Rj{;R1pq&AKX(0mWBu6y3``#x z001W5z3)xF8CCKhqQX4U7$-Ew=l={Z`=jBFke7|k{}J*z7nVON^Xh_}2!$B{ILie9 zDE&LgmlC==d4I2BJ=R^`W9@w88QIdY1nJs+8kkzC4*xf)a4UC9_g9jAg;%i#?6(2c&7of(3>3Rb;>fKB>M=*125m1^=h=VFRo>Ekoe-I^JW>e()`eo%iCKCpo)uO2S_2RV*i4Ug7%! z=Af|KN~t`WwH5@PYWa7C@?abb5ATW66=s6L@hc+u3!@qeMT60bJXzeUZcD5{@acyU zKMP>su@?EJTsBisUMDW0m4<6WPEpVr;bkp}DX|otyFS)}i~gzQug9*h((f%?vdUI6KPP&AQWpUiN`t7( z)+Y=~4H<_kEyU?IK2ixHmuUR7C`ZP>FpX(=5Ja5^nW`T0*mOT&JZ*8#(b5^B9_(HA zVT7s&icF;Tvqta7en`1#w51W1+{sZ$KQ(6U;aIZ0ax8=`BG0Vhp*h8B=vCA%m#;8< zGI(I(8hxwf?G&kTV%hE#;Q6`2*sMH#tXNugJFTPGVl)Xc+kUY9y;PPGs4|Q%rtlG{ z2=eRVU90pn<<_Cd94H^m&KbRN=VZ9XQx@JMAWmm#pk^z5(#bX_WkfX0RzQU>$)GRa zjw7?`r~>@b*%iW}En{cNeYHlSjj;|+qGk@FF1*7=de!y{-GCR@a<{N_; zt*E1A@LGHsbyl(qlS`Ae?J#i8*6SXNYg#%r9{c$`$Wkl zgz~F%_SYaeFHW!ocJr(qK8aay5tlRptyReO_9|jO$%b^ixw__40VyySdO%}`RgFV)w($#(;~69u+ZaP z%_%%e4pK1_Pdo*!4`&}e8oNy0zhfsS&bFiOG|#4BO_U>Thl*Z?@oOK*rORedTdhV7 z$*{yP_V8O549tp^P8rSnls~u-Cw4V};r{&PHyWDAI*4i$yKC>I$M3VNP*l$#_0h3+ zrk>Q-bE_0Dai8M6_i8wYS#Q;6%@wdV-MI>)0r&deuOLKRzqmL+a##G;bAAdDLL>~w z)YF!E>geL?qgpNpXXCXV?5qpmP`ySsL@(n@TiSdArN}I6k3zJ`KctDzDPPmx2}jB6pLR29b^HmdbA?=LDt(HmYI=&O333sK6cJE_25u zI0c~z`#(7bo|Ko%4l_igWz(juaPJpa9G45rm!MTAGTkgGLCebgpvoTTjS+9Y2Ii!f z$=t)y!13KrF_OwdL{pG)YXPBi__9+RBv{_y9OOQ$H2%GM)Qp=n>89Y0`*n}Ge3D1F zM4mDDbPAu5;|xO^o+`A?5*lW>c+EuTAF85oahFvt>EW78+MWYYDtN09Pw;$n1nK_!D1L*#}gR{BTNtxjOyx^10*_LM)+%ih1JFd%?0^Z~Ja zyyxhr>{H-`!_Gb3BBl8Gi~6o>b8#a+s}!az)n{{?NAA|pz^KDg8P90(WI^gfrl#~- z_>}YY5Eat(-ELqbymPlS zJ@-~X)*3H);@+dE){o8ub=^#~a^N9L21)rtDvx1fz0pM`S?lNvYLp#+0y9|8?TS5P zsj!_@dnABNARRxRSQcPtTV%H2+gLsQ^`CR;ukmT29*8Ui#iWMC8l zeoG_|{Hc^&fK|=U+wW^7=!;hVk5Yb{APM-IVD%4#uN3p&qh$Yvs`^pXe{}PEz`t7I z@3Q$Nx4q5)tcDBjy}nny|K|1u_?3G882Rr__!l`pJecJN$zQkRx1gXslLi1ldrNMw K+jajqH@^d$@<0dx literal 3093 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 diff --git a/installers/maturita-installer-windows.cmd b/installers/maturita-installer-windows.cmd index 0dbf2cb..db1d806 100644 --- a/installers/maturita-installer-windows.cmd +++ b/installers/maturita-installer-windows.cmd @@ -1,5 +1,5 @@ @echo off -rem maturita.c installer for Windows. +rem Graduately installer for Windows. rem rem Carries no application of its own. Fastly caches branch-named URLs on rem raw.githubusercontent.com, so this script looks up the tip of `builds` @@ -11,9 +11,9 @@ setlocal EnableDelayedExpansion set "REPO=pepaskopec-blip/maturita.c" set "BRANCH=builds" set "ASSET=maturita-windows-x64.zip" -set "DEST=%LOCALAPPDATA%\Programs\Maturita" +set "DEST=%LOCALAPPDATA%\Programs\Graduately" -echo Installing maturita.C +echo Installing Graduately echo --------------------- where curl >nul 2>&1 || goto :no_tools @@ -37,7 +37,7 @@ if not exist "%DEST%" mkdir "%DEST%" || goto :fail_dest tar -xf "%TMP_DIR%\%ASSET%" -C "%DEST%" || goto :fail_extract -set "LNK=%APPDATA%\Microsoft\Windows\Start Menu\Programs\maturita.C.lnk" +set "LNK=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Graduately.lnk" powershell -NoProfile -ExecutionPolicy Bypass -Command ^ "$s=(New-Object -ComObject WScript.Shell).CreateShortcut('%LNK%');" ^ "$s.TargetPath='%DEST%\maturita.exe';$s.WorkingDirectory='%DEST%';$s.Save()" >nul 2>&1 diff --git a/installers/maturita-installer-windows.zip b/installers/maturita-installer-windows.zip index 4a7dc31777ee6262abeb92a5960ad357d58d747a..66f9516e310c260937b2995c8a7819902f9d7ffc 100644 GIT binary patch delta 1281 zcmV+c1^)W+3g-$JP)h>@6aWAK2mpbeH(h@o76z3B0051V7b<_j5wvRN5wvP`cnbgl z1oZ&`00a~O005m<+j84B5Pj!Y>~O-!o-rvo&GcfAGF2qC$GUJ|h5eE)Kv7a_yY18u83$Y(?4CVm*WY4VC{TGGXe{A-&9a(V6f5A;SSAE& z$d!gmE;F?-iHm>okwd06M*~s;t17`$X1S6C1l$@>3z@)o%vb_SSz1uwTr-&#v1BD? z@Z-e^1xb&j*&?~+wy5W|L7ggTQQ9O`tFUFJeeuWh?cdEiPo(o=eOJ-}$Elbj{iF$o8I2*p{H)XHS2Gi+y)^9`O zMboT!`Q?AhgbG~;jmFbiKRP)d4o(J>$!IVeL{}57ZZ#{-)wc0r5O_(vZTipU?T#v% zPw`_vL9i%LBc!z!@JiMKUc7pK2%kQ|ts=gTq`J0B39}BfOv68hHA&A-C)cC57yW29 zKAl8Yn-Vwb3EE};kIo%?^fd%k%pXIxy{vRW5>Lh5qWuJt8c zJ1uyglO$=dpDI@pf&{x0r8n4n!Rq~ z@eWckf*<{)WZ*`;RYspZ7ca z@DZM!x(GDy4&TG)@MfRv1e?mKx-cLpXQT{sF3HJszDsB8zJ@NcdB08eNt?I1M+8Ox zdM!t-3P)=^*BIXlaA8Nk_71*^Tvxo>;@p2xR5>l9G4Y(FwZquq*S#LZYDWWC?IUzX zDL&A|ricelppeMA&Q)yk;cUahC})s!BwaEh{i%;AZUcVX~975Y;Eq*Bx0JHthMKK~h0>py?4 zf4!XgQJqX3@P0DXNKZ}+r7fZEbt1|<>g*qfElx6H`WEek*`nWRO5d2=8K84aF_%g^ zXO6h0CzM{bk^bY9-Q(VVxSb`zzf1(*)TEV{!~{HDzP-&b_jdObhGE-~zho5#)OQQr zIrM^HJF<3w$670W)NHTqCY6Y^m%M*w9hdaP0W1nmmLwk_EXW@1riH^^gLF?_a+{T8 z{Dr^e29r);B9Iwe@16G60nlh_Ys|-!WjZa~-xXWbIkikyv^6O82bg~XP)h*< r9s?8r000O8fu1*Ae;yVFl>`6)jgt@sI0L~Ew3AB(AO`IO00000JUC;c delta 1291 zcmV+m1@!vo3h@dTP)h>@6aWAK2ml6?Fcnbgl z1oZ&`00a~O005m<+iu%N5Pdh`e;5#9WCJE8r$H|c6jYHEB&h8OmWn*YX}qF_=GMzy zW_KA$O;YqD`i1?H&Mt3CW4lH5V94a`*_kuv%;-lF&#r&{G6OHiti@(&0(m!-uo zN}Z^3DKJW?$QvJ>ayoAn=u%R(F)ZjAkwA&97@c(tph#PEVnq_({+>ZARKf&IB_qTM z3bw`7bW<>CxMPC?Ah?*$UJVN@n7L5}Cec#xqTjV9sKcIJjLyd|hE?^=!_j;`T@0Jx zXkGO!+I)ZeIHr1=sL6D`7>1{>#-r2GY&ID!M&ad5t82}2b9q)D4qV1wA1^B{aCzM+ zWL&?CZu_{C>kKtQQfdKDWhvm%(}&0K=@VQlBJM=0cUCE3nmEfe+#gq`zBrq`o4mXj zhKuRhEWB(hZS_iN>wLvE^bPdiLlD*{!hoRZg8hHJ{KmcBebHW*GA`cPyl6{5CBeD6 zYsm@MUJIV{IF9R_<}XG=y4D$`pF%()Ub5uoJ*-gh+zbN157`xG!w?ms=W6EcnSvuO)xgepf~nm{ew4y=m!?1Z$CaB zd_L?Q!bf;;<|5F%IerVDgR4Wb7__BRbyPiJId`ov<&q3eFLpU?ELk%~_8&Is-s%1( z`;f5cua|b%sd7?7y7u^nfD1hNeQ@+$=zD+TwHKw1r^1OFjfs||vmM%wzaI=BQafU} zZ0@0Fl;v0A=nDDT9268fYlSTvxZxz1pn4iWqrCdxe;|{x9ICTIv`KHxDH`8(8aGz6 z#I`;;J^yJKw&p(LiB?9X_OhPjmvg$t!Wqi4bAD&;SjZb<`hUvxm;F5;&6?rCIj(=B zSIb{9vHorS_4V9O^LXx%596^$vei6O+7j$RFQnYV-rV#{$L+Nc3>0i#-2Rt|ox)I}u`jxeS7) zH(%sNG?EG|^p`Mjm^&kF7k;X>(kFk_vg>xQM5Ha|h3tr>dyZh8aWX6U17S_JX?8Ol z4{E3n)HAn=N!;J~V{U5c7-j;Q!FowG$BuxeRwHU(743-{h?-ea9@}b>-928cMr>yb zsfLk}yQ)3aJCpU6suNX`eVt(vuLauC7V|=Brs;AeRzwBO&uZq!_ubIh^Hx}Lu`AVu z<0^)6hP2hUs&rQnPZHfP1}RBI+^_9>F7uB4FZEQqxEHK7@EwUWon-F!Nr%0pUdn - maturita.C pro iOS + Graduately pro iOS -

maturita.C pro iPhone (iOS 26)

+

Graduately pro iPhone (iOS 26)

Nativní aplikace pro iOS 26+ s Liquid Glass. Není 1:1 kopie desktopu. Apple nepovolí instalaci jako Android APK. Nejjednodušší cesta je Mac diff --git a/installers/pack-installer-zips.sh b/installers/pack-installer-zips.sh index 8b870c4..ca5fb8e 100755 --- a/installers/pack-installer-zips.sh +++ b/installers/pack-installer-zips.sh @@ -12,7 +12,7 @@ chmod +x maturita-installer-macos.command maturita-installer-linux.sh tmp=$(mktemp -d) trap 'rm -rf "$tmp"' EXIT INT TERM -app="$tmp/Nainstalovat maturita.C.app" +app="$tmp/Nainstalovat Graduately.app" mkdir -p "$app/Contents/MacOS" cp macos/Info.plist "$app/Contents/Info.plist" cp maturita-installer-macos.command "$app/Contents/MacOS/installer" @@ -20,7 +20,7 @@ chmod +x "$app/Contents/MacOS/installer" rm -f "$here/maturita-installer-macos.zip" (cd "$tmp" && zip -r -q "$here/maturita-installer-macos.zip" \ - "Nainstalovat maturita.C.app") + "Nainstalovat Graduately.app") zip -q -FS maturita-installer-windows.zip maturita-installer-windows.cmd zip -q -FS maturita-installer-linux.zip maturita-installer-linux.sh @@ -28,12 +28,12 @@ zip -q -FS maturita-installer-linux.zip maturita-installer-linux.sh # Browsers download a zip; they render .html as a text tab on GitHub. # The page looks up the tip of `builds` so Fastly cannot serve a cached 404 # for the branch-named APK URL. -cp maturita-android.html "$tmp/Stahnout maturita.C.html" +cp maturita-android.html "$tmp/Stahnout Graduately.html" rm -f "$here/maturita-installer-android.zip" (cd "$tmp" && zip -q -FS "$here/maturita-installer-android.zip" \ - "Stahnout maturita.C.html") + "Stahnout Graduately.html") -cp maturita-ios.html "$tmp/Jak nainstalovat maturita.C.html" +cp maturita-ios.html "$tmp/Jak nainstalovat Graduately.html" rm -f "$here/maturita-installer-ios.zip" (cd "$tmp" && zip -q -FS "$here/maturita-installer-ios.zip" \ - "Jak nainstalovat maturita.C.html") + "Jak nainstalovat Graduately.html") diff --git a/ios/Maturita.xcodeproj/project.pbxproj b/ios/Maturita.xcodeproj/project.pbxproj index edadc13..f84ecf2 100644 --- a/ios/Maturita.xcodeproj/project.pbxproj +++ b/ios/Maturita.xcodeproj/project.pbxproj @@ -43,7 +43,7 @@ A201000000000000000015 /* ExercisesMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExercisesMore.swift; sourceTree = ""; }; A201000000000000000016 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; A201000000000000000018 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A301000000000000000001 /* Maturita.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Maturita.app; sourceTree = BUILT_PRODUCTS_DIR; }; + A301000000000000000001 /* Graduately.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Graduately.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -116,7 +116,7 @@ A501000000000000000006 /* Products */ = { isa = PBXGroup; children = ( - A301000000000000000001 /* Maturita.app */, + A301000000000000000001 /* Graduately.app */, ); name = Products; sourceTree = ""; @@ -138,8 +138,8 @@ dependencies = ( ); name = Maturita; - productName = Maturita; - productReference = A301000000000000000001 /* Maturita.app */; + productName = Graduately; + productReference = A301000000000000000001 /* Graduately.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -347,7 +347,7 @@ ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Maturita/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = maturita.c; + INFOPLIST_KEY_CFBundleDisplayName = Graduately; INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -361,7 +361,7 @@ ); MARKETING_VERSION = 0.1; PRODUCT_BUNDLE_IDENTIFIER = com.bukovinafilip.maturita; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = Graduately; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -385,7 +385,7 @@ ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Maturita/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = maturita.c; + INFOPLIST_KEY_CFBundleDisplayName = Graduately; INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -399,7 +399,7 @@ ); MARKETING_VERSION = 0.1; PRODUCT_BUNDLE_IDENTIFIER = com.bukovinafilip.maturita; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = Graduately; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; diff --git a/ios/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme b/ios/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme index 23bfa42..f9c480d 100644 --- a/ios/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme +++ b/ios/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme @@ -15,7 +15,7 @@ @@ -45,7 +45,7 @@ @@ -63,7 +63,7 @@ diff --git a/ios/Maturita/UI/Screens.swift b/ios/Maturita/UI/Screens.swift index a0f6d14..dc33b69 100644 --- a/ios/Maturita/UI/Screens.swift +++ b/ios/Maturita/UI/Screens.swift @@ -48,7 +48,7 @@ struct PracticeHome: View { .frame(maxWidth: MacChrome.contentMaxWidth, alignment: .leading) .frame(maxWidth: .infinity, alignment: .leading) } - .navigationTitle("Maturita") + .navigationTitle("Graduately") } @ViewBuilder @@ -142,7 +142,7 @@ struct PracticeHome: View { } } } - .navigationTitle("Maturita") + .navigationTitle("Graduately") .navigationBarTitleDisplayMode(.large) } diff --git a/macos/Maturita.xcodeproj/project.pbxproj b/macos/Maturita.xcodeproj/project.pbxproj index 07fa930..ed2a9c2 100644 --- a/macos/Maturita.xcodeproj/project.pbxproj +++ b/macos/Maturita.xcodeproj/project.pbxproj @@ -46,7 +46,7 @@ B201000000000000000017 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B201000000000000000018 /* Maturita.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Maturita.entitlements; sourceTree = ""; }; B201000000000000000019 /* PathMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PathMap.swift; path = ../ios/Maturita/UI/PathMap.swift; sourceTree = SOURCE_ROOT; }; - B301000000000000000001 /* Maturita.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Maturita.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B301000000000000000001 /* Graduately.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Graduately.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -121,7 +121,7 @@ B501000000000000000006 /* Products */ = { isa = PBXGroup; children = ( - B301000000000000000001 /* Maturita.app */, + B301000000000000000001 /* Graduately.app */, ); name = Products; sourceTree = ""; @@ -143,8 +143,8 @@ dependencies = ( ); name = Maturita; - productName = Maturita; - productReference = B301000000000000000001 /* Maturita.app */; + productName = Graduately; + productReference = B301000000000000000001 /* Graduately.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -353,7 +353,7 @@ ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Maturita/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = maturita.c; + INFOPLIST_KEY_CFBundleDisplayName = Graduately; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; INFOPLIST_KEY_NSHighResolutionCapable = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "GPL-3.0"; @@ -364,7 +364,7 @@ MACOSX_DEPLOYMENT_TARGET = 26.0; MARKETING_VERSION = 0.1; PRODUCT_BUNDLE_IDENTIFIER = com.bukovinafilip.maturita.macos; - PRODUCT_NAME = Maturita; + PRODUCT_NAME = Graduately; SDKROOT = macosx; SUPPORTED_PLATFORMS = macosx; SWIFT_EMIT_LOC_STRINGS = YES; @@ -387,7 +387,7 @@ ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Maturita/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = maturita.c; + INFOPLIST_KEY_CFBundleDisplayName = Graduately; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; INFOPLIST_KEY_NSHighResolutionCapable = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "GPL-3.0"; @@ -398,7 +398,7 @@ MACOSX_DEPLOYMENT_TARGET = 26.0; MARKETING_VERSION = 0.1; PRODUCT_BUNDLE_IDENTIFIER = com.bukovinafilip.maturita.macos; - PRODUCT_NAME = Maturita; + PRODUCT_NAME = Graduately; SDKROOT = macosx; SUPPORTED_PLATFORMS = macosx; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/macos/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme b/macos/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme index ef75b56..ca48394 100644 --- a/macos/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme +++ b/macos/Maturita.xcodeproj/xcshareddata/xcschemes/Maturita.xcscheme @@ -15,7 +15,7 @@ @@ -45,7 +45,7 @@ @@ -63,7 +63,7 @@ diff --git a/scripts/bundle-ios.sh b/scripts/bundle-ios.sh index b706ffd..c992d4f 100755 --- a/scripts/bundle-ios.sh +++ b/scripts/bundle-ios.sh @@ -25,13 +25,13 @@ xcodebuild \ CODE_SIGNING_REQUIRED=NO \ COMMIT="$COMMIT" -app=$(find "$dd" -name 'Maturita.app' -path '*/Release-iphoneos/*' | head -n 1) +app=$(find "$dd" -name 'Graduately.app' -path '*/Release-iphoneos/*' | head -n 1) if [ -z "$app" ]; then - echo "Maturita.app not found" >&2 + echo "Graduately.app not found" >&2 exit 1 fi mkdir -p "$root/ios/Payload" -cp -R "$app" "$root/ios/Payload/Maturita.app" +cp -R "$app" "$root/ios/Payload/Graduately.app" (cd "$root/ios" && zip -r -q "$root/dist-ios/maturita-ios.ipa" Payload) echo "wrote $root/dist-ios/maturita-ios.ipa" diff --git a/scripts/bundle-macos-swift.sh b/scripts/bundle-macos-swift.sh index 09f5f0d..72d1a4b 100755 --- a/scripts/bundle-macos-swift.sh +++ b/scripts/bundle-macos-swift.sh @@ -40,13 +40,13 @@ xcodebuild \ CODE_SIGNING_REQUIRED=NO \ COMMIT="$COMMIT" -app=$(find "$dd" -name 'Maturita.app' -path '*/Release/*' | head -n 1) +app=$(find "$dd" -name 'Graduately.app' -path '*/Release/*' | head -n 1) if [ -z "$app" ]; then - echo "Maturita.app not found" >&2 + echo "Graduately.app not found" >&2 exit 1 fi -dest="$root/dist/Maturita.app" +dest="$root/dist/Graduately.app" rm -rf "$dest" cp -R "$app" "$dest" @@ -67,7 +67,7 @@ pick_sign_identity() { } IDENTITY="$(pick_sign_identity)" -echo "==> Signing Maturita.app ($IDENTITY)" +echo "==> Signing Graduately.app ($IDENTITY)" sign_args="--force --sign $IDENTITY" if [ "$IDENTITY" != "-" ]; then sign_args="$sign_args --options runtime --timestamp" @@ -95,7 +95,7 @@ can_notarize() { } if can_notarize; then - echo "==> Notarizing Maturita.app" + echo "==> Notarizing Graduately.app" zip="$root/dist/.notarize-$out_zip" rm -f "$zip" ditto -c -k --keepParent "$dest" "$zip" @@ -123,6 +123,6 @@ fi rm -f "$root/dist/$out_zip" ( cd "$root/dist" - zip -qry "$out_zip" Maturita.app + zip -qry "$out_zip" Graduately.app ) echo "wrote $root/dist/$out_zip" diff --git a/src/i18n.c b/src/i18n.c index f395ed2..7e0f679 100644 --- a/src/i18n.c +++ b/src/i18n.c @@ -49,8 +49,8 @@ const TrEntry tr_ui[] = { "Could not prepare the update."}, {"update_err_devbuild", "Tento build nepochází z repozitáře (dev).", "This build did not come from the repository (dev)."}, - {"welcome_kicker", "maturita.c", "maturita.c"}, - {"welcome_title", "Maturita?\nTo dáte.", "Maturita?\nYou've got this."}, + {"welcome_kicker", "Graduately", "Graduately"}, + {"welcome_title", "Graduately\nTo dáte.", "Graduately\nYou've got this."}, {"welcome_body", "Procvičování k maturitě v jednom okně. Česky i anglicky, " "napsané v C studenty ze SSŠVT.", @@ -81,8 +81,8 @@ const TrEntry tr_ui[] = { "Systém teď nabídne instalaci nové verze (%s).", "The system will now offer to install the new version (%s)."}, {"update_err_badapk", - "Stažený soubor není platný build maturita.c.", - "The downloaded file is not a valid maturita.c build."}, + "Stažený soubor není platný build Graduately.", + "The downloaded file is not a valid Graduately build."}, {"changelog_title", "Co je nového", "What's new"}, {"changelog_dismiss", "Rozumím", "Got it"}, {"welcome_feat1_title", "Efektivní procvičování", "Focused practice"}, diff --git a/src/main.c b/src/main.c index 4cf4620..4ea27f0 100644 --- a/src/main.c +++ b/src/main.c @@ -457,13 +457,13 @@ void activate(GtkApplication *app, gpointer user_data) { window = GTK_WINDOW(gtk_application_window_new(app)); main_window = window; - gtk_window_set_title(window, "maturita.c"); + gtk_window_set_title(window, "Graduately"); gtk_window_set_default_size(window, 1080, 720); setup_window_icon(window); headerbar = gtk_header_bar_new(); gtk_widget_add_css_class(headerbar, "titlebar"); - title_label = gtk_label_new("maturita.c"); + title_label = gtk_label_new("Graduately"); gtk_widget_add_css_class(title_label, "app-title"); gtk_header_bar_set_title_widget(GTK_HEADER_BAR(headerbar), title_label); gtk_window_set_titlebar(window, headerbar); diff --git a/src/update.c b/src/update.c index 6bfe2c8..ab0a3de 100644 --- a/src/update.c +++ b/src/update.c @@ -250,7 +250,7 @@ static InstallKind install_target(char **target_out, char **parent_out) { #endif #ifdef __APPLE__ - /* .../Maturita.app/Contents/MacOS/maturita -> .../Maturita.app */ + /* .../Graduately.app/Contents/MacOS/maturita -> .../Graduately.app */ if (!target && exe) { char *macos_dir = g_path_get_dirname(exe); char *contents = g_path_get_dirname(macos_dir);