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 <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-09-23 19:54:58 +02:00
commit 6bdd25dd74
29 changed files with 96 additions and 85 deletions

View file

@ -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:

View file

@ -7,7 +7,7 @@
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="maturita.c"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Maturita"

View file

@ -75,7 +75,7 @@ class MainActivity : ComponentActivity() {
private fun crashView(dump: String, retry: () -> 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)
}

View file

@ -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) }
}

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Graduately</string>
</resources>

View file

@ -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

View file

@ -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

View file

@ -11,7 +11,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Nainstalovat maturita.C</string>
<string>Nainstalovat Graduately</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Stáhnout maturita.C</title>
<title>Stáhnout Graduately</title>
<style>
body {
font-family: system-ui, sans-serif;
@ -27,7 +27,7 @@
</style>
</head>
<body>
<h1>maturita.C pro Android</h1>
<h1>Graduately pro Android</h1>
<p>Klepni na tlačítko. Až se APK stáhne, otevři ho a povol instalaci z neznámých zdrojů.</p>
<p>
<a class="btn" id="dl"

View file

@ -1,5 +1,5 @@
#!/bin/sh
# maturita.c installer for Linux.
# Graduately installer for Linux.
#
# Carries no application of its own. Fastly caches branch-named URLs on
# raw.githubusercontent.com, so this script looks up the tip of `builds`
@ -34,7 +34,7 @@ builds_sha() {
head -n 1
}
say "Installing maturita.C"
say "Installing Graduately"
say "---------------------"
arch=$(uname -m)
@ -76,7 +76,7 @@ mkdir -p "$DESKTOP_DIR"
cat > "$DESKTOP_DIR/maturita.desktop" <<EOF
[Desktop Entry]
Type=Application
Name=maturita.C
Name=Graduately
Comment=Practice app for the Czech maturita exam
Exec=$DEST
Icon=maturita

View file

@ -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

View file

@ -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

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>maturita.C pro iOS</title>
<title>Graduately pro iOS</title>
<style>
body {
font-family: system-ui, sans-serif;
@ -28,7 +28,7 @@
</style>
</head>
<body>
<h1>maturita.C pro iPhone (iOS 26)</h1>
<h1>Graduately pro iPhone (iOS 26)</h1>
<p>
Nativní aplikace pro iOS 26+ s Liquid Glass. Není 1:1 kopie desktopu.
Apple nepovolí instalaci jako Android APK. Nejjednodušší cesta je Mac

View file

@ -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")

View file

@ -43,7 +43,7 @@
A201000000000000000015 /* ExercisesMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExercisesMore.swift; sourceTree = "<group>"; };
A201000000000000000016 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
A201000000000000000018 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
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 = "<group>";
@ -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;

View file

@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A601000000000000000001"
BuildableName = "Maturita.app"
BuildableName = "Graduately.app"
BlueprintName = "Maturita"
ReferencedContainer = "container:Maturita.xcodeproj">
</BuildableReference>
@ -45,7 +45,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A601000000000000000001"
BuildableName = "Maturita.app"
BuildableName = "Graduately.app"
BlueprintName = "Maturita"
ReferencedContainer = "container:Maturita.xcodeproj">
</BuildableReference>
@ -63,7 +63,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A601000000000000000001"
BuildableName = "Maturita.app"
BuildableName = "Graduately.app"
BlueprintName = "Maturita"
ReferencedContainer = "container:Maturita.xcodeproj">
</BuildableReference>

View file

@ -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)
}

View file

@ -46,7 +46,7 @@
B201000000000000000017 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
B201000000000000000018 /* Maturita.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Maturita.entitlements; sourceTree = "<group>"; };
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 = "<group>";
@ -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;

View file

@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B601000000000000000001"
BuildableName = "Maturita.app"
BuildableName = "Graduately.app"
BlueprintName = "Maturita"
ReferencedContainer = "container:Maturita.xcodeproj">
</BuildableReference>
@ -45,7 +45,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B601000000000000000001"
BuildableName = "Maturita.app"
BuildableName = "Graduately.app"
BlueprintName = "Maturita"
ReferencedContainer = "container:Maturita.xcodeproj">
</BuildableReference>
@ -63,7 +63,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B601000000000000000001"
BuildableName = "Maturita.app"
BuildableName = "Graduately.app"
BlueprintName = "Maturita"
ReferencedContainer = "container:Maturita.xcodeproj">
</BuildableReference>

View file

@ -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"

View file

@ -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"

View file

@ -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"},

View file

@ -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);

View file

@ -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);