Fix editor one-click icons not showing.

This commit is contained in:
Pāvels Nadtočajevs
2025-07-21 12:15:00 +03:00
parent 71a9948157
commit e407f55fbf
16 changed files with 56 additions and 23 deletions

View File

@@ -417,9 +417,9 @@ Error EditorExportPlatform::_save_zip_patch_file(void *p_userdata, const String
return _save_zip_file(p_userdata, p_path, p_data, p_file, p_total, p_enc_in_filters, p_enc_ex_filters, p_key, p_seed);
}
Ref<ImageTexture> EditorExportPlatform::get_option_icon(int p_index) const {
Ref<Texture2D> EditorExportPlatform::get_option_icon(int p_index) const {
Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme();
ERR_FAIL_COND_V(theme.is_null(), Ref<ImageTexture>());
ERR_FAIL_COND_V(theme.is_null(), Ref<Texture2D>());
return theme->get_icon(SNAME("Play"), EditorStringName(EditorIcons));
}

View File

@@ -326,7 +326,7 @@ public:
virtual bool poll_export() { return false; }
virtual int get_options_count() const { return 0; }
virtual String get_options_tooltip() const { return ""; }
virtual Ref<ImageTexture> get_option_icon(int p_index) const;
virtual Ref<Texture2D> get_option_icon(int p_index) const;
virtual String get_option_label(int p_device) const { return ""; }
virtual String get_option_tooltip(int p_device) const { return ""; }
virtual String get_device_architecture(int p_device) const { return ""; }

View File

@@ -2325,10 +2325,10 @@ String EditorExportPlatformAppleEmbedded::get_options_tooltip() const {
return TTR("Select device from the list");
}
Ref<ImageTexture> EditorExportPlatformAppleEmbedded::get_option_icon(int p_index) const {
Ref<Texture2D> EditorExportPlatformAppleEmbedded::get_option_icon(int p_index) const {
MutexLock lock(device_lock);
Ref<ImageTexture> icon;
Ref<Texture2D> icon;
if (p_index >= 0 || p_index < devices.size()) {
Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme();
if (theme.is_valid()) {

View File

@@ -202,7 +202,7 @@ public:
virtual int get_options_count() const override;
virtual String get_options_tooltip() const override;
virtual Ref<ImageTexture> get_option_icon(int p_index) const override;
virtual Ref<Texture2D> get_option_icon(int p_index) const override;
virtual String get_option_label(int p_index) const override;
virtual String get_option_tooltip(int p_index) const override;
virtual Error run(const Ref<EditorExportPreset> &p_preset, int p_device, BitField<EditorExportPlatform::DebugFlags> p_debug_flags) override;

View File

@@ -53,6 +53,10 @@ void EditorExportPlatformExtension::_bind_methods() {
GDVIRTUAL_BIND(_get_options_tooltip);
GDVIRTUAL_BIND(_get_option_icon, "device");
#ifndef DISABLE_DEPRECATED
GDVIRTUAL_BIND_COMPAT(_get_option_icon_bind_compat_108825, "device");
#endif
GDVIRTUAL_BIND(_get_option_label, "device");
GDVIRTUAL_BIND(_get_option_tooltip, "device");
GDVIRTUAL_BIND(_get_device_architecture, "device");
@@ -178,11 +182,17 @@ String EditorExportPlatformExtension::get_options_tooltip() const {
return ret;
}
Ref<ImageTexture> EditorExportPlatformExtension::get_option_icon(int p_index) const {
Ref<ImageTexture> ret;
Ref<Texture2D> EditorExportPlatformExtension::get_option_icon(int p_index) const {
Ref<Texture2D> ret;
if (GDVIRTUAL_CALL(_get_option_icon, p_index, ret)) {
return ret;
}
#ifndef DISABLE_DEPRECATED
Ref<ImageTexture> comp_ret;
if (GDVIRTUAL_CALL(_get_option_icon_bind_compat_108825, p_index, comp_ret)) {
return comp_ret;
}
#endif
return EditorExportPlatform::get_option_icon(p_index);
}

View File

@@ -79,8 +79,12 @@ public:
virtual String get_options_tooltip() const override;
GDVIRTUAL0RC(String, _get_options_tooltip);
virtual Ref<ImageTexture> get_option_icon(int p_index) const override;
GDVIRTUAL1RC(Ref<ImageTexture>, _get_option_icon, int);
virtual Ref<Texture2D> get_option_icon(int p_index) const override;
GDVIRTUAL1RC(Ref<Texture2D>, _get_option_icon, int);
#ifndef DISABLE_DEPRECATED
GDVIRTUAL1RC_COMPAT(_get_option_icon_bind_compat_108825, Ref<ImageTexture>, _get_option_icon, int)
#endif
virtual String get_option_label(int p_device) const override;
GDVIRTUAL1RC(String, _get_option_label, int);