feat(wallpapers): add image crop support and i18n strings

Adds per-image image-crop support with persistent settings.
Rendering adapts to crop mode, zoom and position per image.
Locales the UI strings and notifications; app name updated.

- Cropping workflow with per-image crop state and rendering
- Localizes strings and notifications for en and de
- Introduces set_image_crop command and its permission schema
This commit is contained in:
2026-08-20 23:26:15 +02:00
parent 2cfc7c5dcb
commit 197090ddd2
23 changed files with 622 additions and 74 deletions
@@ -0,0 +1,4 @@
<resources>
<string name="app_name">WallpaperFlow</string>
<string name="main_activity_title">WallpaperFlow</string>
</resources>
@@ -1,4 +1,4 @@
<resources>
<string name="app_name">"LockScreenWallpaper"</string>
<string name="main_activity_title">"LockScreenWallpaper"</string>
<string name="app_name">"WallpaperFlow"</string>
<string name="main_activity_title">"WallpaperFlow"</string>
</resources>
File diff suppressed because one or more lines are too long
+14 -2
View File
@@ -2193,10 +2193,10 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
@@ -2228,6 +2228,12 @@
"const": "wallpaper:allow-select-images",
"markdownDescription": "Enables the select_images command without any pre-configured scope."
},
{
"description": "Enables the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-set-image-crop",
"markdownDescription": "Enables the set_image_crop command without any pre-configured scope."
},
{
"description": "Enables the set_setting command without any pre-configured scope.",
"type": "string",
@@ -2264,6 +2270,12 @@
"const": "wallpaper:deny-select-images",
"markdownDescription": "Denies the select_images command without any pre-configured scope."
},
{
"description": "Denies the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-set-image-crop",
"markdownDescription": "Denies the set_image_crop command without any pre-configured scope."
},
{
"description": "Denies the set_setting command without any pre-configured scope.",
"type": "string",
+14 -2
View File
@@ -2193,10 +2193,10 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
@@ -2228,6 +2228,12 @@
"const": "wallpaper:allow-select-images",
"markdownDescription": "Enables the select_images command without any pre-configured scope."
},
{
"description": "Enables the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-set-image-crop",
"markdownDescription": "Enables the set_image_crop command without any pre-configured scope."
},
{
"description": "Enables the set_setting command without any pre-configured scope.",
"type": "string",
@@ -2264,6 +2270,12 @@
"const": "wallpaper:deny-select-images",
"markdownDescription": "Denies the select_images command without any pre-configured scope."
},
{
"description": "Denies the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-set-image-crop",
"markdownDescription": "Denies the set_image_crop command without any pre-configured scope."
},
{
"description": "Denies the set_setting command without any pre-configured scope.",
"type": "string",
+14 -2
View File
@@ -2193,10 +2193,10 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
@@ -2228,6 +2228,12 @@
"const": "wallpaper:allow-select-images",
"markdownDescription": "Enables the select_images command without any pre-configured scope."
},
{
"description": "Enables the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-set-image-crop",
"markdownDescription": "Enables the set_image_crop command without any pre-configured scope."
},
{
"description": "Enables the set_setting command without any pre-configured scope.",
"type": "string",
@@ -2264,6 +2270,12 @@
"const": "wallpaper:deny-select-images",
"markdownDescription": "Denies the select_images command without any pre-configured scope."
},
{
"description": "Denies the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-set-image-crop",
"markdownDescription": "Denies the set_image_crop command without any pre-configured scope."
},
{
"description": "Denies the set_setting command without any pre-configured scope.",
"type": "string",
+14 -2
View File
@@ -2193,10 +2193,10 @@
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
},
{
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"description": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`",
"type": "string",
"const": "wallpaper:default",
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
"markdownDescription": "Allow the LockScreenWallpaper app to manage its wallpaper collection\n#### This default permission set includes:\n\n- `allow-get-state`\n- `allow-get-gallery`\n- `allow-select-images`\n- `allow-delete-image`\n- `allow-set-image-crop`\n- `allow-set-setting`\n- `allow-next-wallpaper`"
},
{
"description": "Enables the delete_image command without any pre-configured scope.",
@@ -2228,6 +2228,12 @@
"const": "wallpaper:allow-select-images",
"markdownDescription": "Enables the select_images command without any pre-configured scope."
},
{
"description": "Enables the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:allow-set-image-crop",
"markdownDescription": "Enables the set_image_crop command without any pre-configured scope."
},
{
"description": "Enables the set_setting command without any pre-configured scope.",
"type": "string",
@@ -2264,6 +2270,12 @@
"const": "wallpaper:deny-select-images",
"markdownDescription": "Denies the select_images command without any pre-configured scope."
},
{
"description": "Denies the set_image_crop command without any pre-configured scope.",
"type": "string",
"const": "wallpaper:deny-set-image-crop",
"markdownDescription": "Denies the set_image_crop command without any pre-configured scope."
},
{
"description": "Denies the set_setting command without any pre-configured scope.",
"type": "string",
+3 -3
View File
@@ -1,9 +1,9 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "LockScreenWallpaper",
"productName": "WallpaperFlow",
"version": "0.1.0",
"identifier": "de.wechselbild.app",
"build": { "beforeDevCommand": "npm run dev", "devUrl": "http://localhost:1420", "beforeBuildCommand": "npm run build", "frontendDist": "../dist" },
"app": { "windows": [{ "title": "LockScreenWallpaper", "width": 420, "height": 860, "resizable": true }], "security": { "csp": null } },
"bundle": { "active": true, "targets": "all", "icon": [] }
"app": { "windows": [{ "title": "WallpaperFlow", "width": 420, "height": 860, "resizable": true }], "security": { "csp": null } },
"bundle": { "active": true, "targets": "all", "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico", "icons/icon.png"] }
}