diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 11e3939..b035353 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -102,7 +102,7 @@ jobs: mv ./bin/android_debug.apk ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_debug.apk mv ./bin/android_source.zip ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_source.zip - - if: ${{ steps.cache-template.outputs.cache-hit != 'true' && github.event_name == 'workflow_dispatch' }} + - if: ${{ steps.cache-template.outputs.cache-hit != 'true' }} name: Build Godot release template for Android run: | cd godot diff --git a/app_info.json b/app_info.json index ff882b7..1b65971 100644 --- a/app_info.json +++ b/app_info.json @@ -1,5 +1,5 @@ { - "project_founder_and_manager": ["Anish Mishra"], + "project_founder_and_manager": "Anish Mishra", "authors": ["Anish Mishra (syntaxerror247)"], "donors": [], "anonymous_donors": 0, diff --git a/export_presets.cfg b/export_presets.cfg index 00244cb..a094993 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -34,7 +34,7 @@ architectures/arm64-v8a=true architectures/x86=false architectures/x86_64=false version/code=1 -version/name="1.0-alpha7" +version/name="1.0-alpha1" package/unique_name="com.godsvg.mobile" package/name="GodSVG Mobile" package/signed=true @@ -47,10 +47,10 @@ package/show_as_launcher_app=false launcher_icons/main_192x192="res://godot_only/android_icons/legacy_icon.png" launcher_icons/adaptive_foreground_432x432="res://godot_only/android_icons/adaptive_foreground.png" launcher_icons/adaptive_background_432x432="res://godot_only/android_icons/adaptive_background.png" -launcher_icons/adaptive_monochrome_432x432="" +launcher_icons/adaptive_monochrome_432x432="uid://cop6bgxvtv4uq" graphics/opengl_debug=false xr_features/xr_mode=0 -wear_os/swipe_to_dismiss=true +gesture/swipe_to_dismiss=false screen/immersive_mode=false screen/support_small=true screen/support_normal=true @@ -214,3 +214,4 @@ permissions/write_sms=false permissions/write_social_stream=false permissions/write_sync_settings=false permissions/write_user_dictionary=false +wear_os/swipe_to_dismiss=true diff --git a/godot_only/android_icons/monochrome_white.png b/godot_only/android_icons/monochrome_white.png new file mode 100644 index 0000000..93ec962 Binary files /dev/null and b/godot_only/android_icons/monochrome_white.png differ diff --git a/godot_only/android_icons/monochrome_white.png.import b/godot_only/android_icons/monochrome_white.png.import new file mode 100644 index 0000000..59112ad --- /dev/null +++ b/godot_only/android_icons/monochrome_white.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cop6bgxvtv4uq" +path="res://.godot/imported/monochrome_white.png-336fe08161ffbbd756752ed6dada0830.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://godot_only/android_icons/monochrome_white.png" +dest_files=["res://.godot/imported/monochrome_white.png-336fe08161ffbbd756752ed6dada0830.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 6a367ec..6a85d07 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="GodSVG Mobile" -config/version="1.0-alpha7" +config/version="1.0-alpha1" config/tags=PackedStringArray("application", "mobile", "project") run/main_scene="uid://bihwwoedqcyo8" config/use_custom_user_dir=true diff --git a/src/autoload/Configs.gd b/src/autoload/Configs.gd index 53c8ff3..010e37f 100644 --- a/src/autoload/Configs.gd +++ b/src/autoload/Configs.gd @@ -69,7 +69,7 @@ func reset_settings() -> void: savedata = SaveData.new() savedata.reset_to_default() savedata.language = "en" - savedata.set_shortcut_panel_slots({ 0: "undo", 1: "redo" }) + savedata.set_shortcut_panel_slots({ 0: "undo", 1: "redo", 2: "save"}) savedata.set_palettes([Palette.new("Pure", Palette.Preset.PURE)]) save() diff --git a/src/ui_parts/about_menu.gd b/src/ui_parts/about_menu.gd index 5d6c679..552281b 100644 --- a/src/ui_parts/about_menu.gd +++ b/src/ui_parts/about_menu.gd @@ -19,7 +19,7 @@ func _ready() -> void: stylebox.content_margin_top += 2.0 add_theme_stylebox_override("panel", stylebox) - %VersionLabel.text = "GodSVG v" + ProjectSettings.get_setting("application/config/version") + %VersionLabel.text = "GodSVG Mobile v" + ProjectSettings.get_setting("application/config/version") close_button.pressed.connect(queue_free) close_button.text = Translator.translate("Close") @@ -110,7 +110,7 @@ func _on_tab_changed(idx: int) -> void: # This part doesn't need to be translated. var licenses_dict := Engine.get_license_info() - %LicenseLabel.text = "MIT License\n\nCopyright (c) 2023 MewPurPur\n" +\ + %LicenseLabel.text = "MIT License\n\nCopyright (c) 2025 Anish Mishra\n" +\ "Copyright (c) 2023-present GodSVG contributors\n\n" + licenses_dict["Expat"] 3: for child in %GodSVGParts.get_children(): diff --git a/src/ui_parts/about_menu.tscn b/src/ui_parts/about_menu.tscn index f88c0c3..ff55ddc 100644 --- a/src/ui_parts/about_menu.tscn +++ b/src/ui_parts/about_menu.tscn @@ -68,9 +68,11 @@ theme_override_constants/separation = 8 [node name="ProjectFounderLabel" type="Label" parent="VBoxContainer/TabContainer/Authors/MarginContainer/VBoxContainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 50) layout_mode = 2 theme_override_font_sizes/font_size = 16 horizontal_alignment = 1 +vertical_alignment = 1 [node name="DevelopersLabel" type="Label" parent="VBoxContainer/TabContainer/Authors/MarginContainer/VBoxContainer"] unique_name_in_owner = true diff --git a/src/utils/FileUtils.gd b/src/utils/FileUtils.gd index 0be07a6..d662e75 100644 --- a/src/utils/FileUtils.gd +++ b/src/utils/FileUtils.gd @@ -51,7 +51,6 @@ static func save_svg_as() -> void: _save_svg_as_with_custom_final_callback(Callable()) static func open_export_dialog(export_data: ImageExportData, final_callback := Callable()) -> void: - OS.request_permissions() if OS.has_feature("web"): var web_format_name := ImageExportData.web_formats[export_data.format] if export_data.format == "svg": @@ -88,7 +87,8 @@ static func open_export_dialog(export_data: ImageExportData, final_callback := C export_dialog.file_selected.connect(non_native_callback) static func open_xml_export_dialog(xml: String, file_name: String) -> void: - OS.request_permissions() + if not OS.request_permissions(): + return if OS.has_feature("web"): _web_save(xml.to_utf8_buffer(), "application/xml") else: @@ -158,11 +158,11 @@ static func open_image_import_dialog(completion_callback: Callable) -> void: static func open_xml_import_dialog(completion_callback: Callable) -> void: _open_import_dialog(PackedStringArray(["xml"]), completion_callback) - # On web, the completion callback can't use the full file path, static func _open_import_dialog(extensions: PackedStringArray, completion_callback: Callable, native_dialog_title := "") -> void: - OS.request_permissions() + if not OS.request_permissions(): + return var extensions_with_dots := PackedStringArray() for extension in extensions: extensions_with_dots.append("." + extension)