Merge pull request #111969 from coppolaemilio/add-donate-button-on-project-manager

Add donate button to project manager
This commit is contained in:
Thaddeus Crews
2025-10-24 11:23:00 -05:00
3 changed files with 17 additions and 5 deletions

View File

@ -3542,7 +3542,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
about->popup_centered(Size2(780, 500) * EDSCALE);
} break;
case HELP_SUPPORT_GODOT_DEVELOPMENT: {
OS::get_singleton()->shell_open("https://fund.godotengine.org");
OS::get_singleton()->shell_open("https://fund.godotengine.org/?ref=help_menu");
} break;
}
}

View File

@ -269,6 +269,7 @@ void ProjectManager::_update_theme(bool p_skip_creation) {
erase_btn->set_button_icon(get_editor_theme_icon("Remove"));
erase_missing_btn->set_button_icon(get_editor_theme_icon("Clear"));
create_tag_btn->set_button_icon(get_editor_theme_icon("Add"));
donate_btn->set_button_icon(get_editor_theme_icon("Heart"));
tag_error->add_theme_color_override(SceneStringName(font_color), get_theme_color("error_color", EditorStringName(Editor)));
tag_edit_error->add_theme_color_override(SceneStringName(font_color), get_theme_color("error_color", EditorStringName(Editor)));
@ -1287,6 +1288,10 @@ void ProjectManager::_titlebar_resized() {
}
}
void ProjectManager::_open_donate_page() {
OS::get_singleton()->shell_open("https://fund.godotengine.org/?ref=project_manager");
}
// Object methods.
ProjectManager::ProjectManager() {
@ -1658,14 +1663,19 @@ ProjectManager::ProjectManager() {
erase_btn->connect(SceneStringName(pressed), callable_mp(this, &ProjectManager::_erase_project));
project_list_sidebar->add_child(erase_btn);
Control *filler = memnew(Control);
filler->set_v_size_flags(Control::SIZE_EXPAND_FILL);
project_list_sidebar->add_child(filler);
erase_missing_btn = memnew(Button);
erase_missing_btn->set_text(TTRC("Remove Missing"));
erase_missing_btn->connect(SceneStringName(pressed), callable_mp(this, &ProjectManager::_erase_missing_projects));
project_list_sidebar->add_child(erase_missing_btn);
Control *filler = memnew(Control);
filler->set_v_size_flags(Control::SIZE_EXPAND_FILL);
project_list_sidebar->add_child(filler);
donate_btn = memnew(Button);
donate_btn->set_text(TTRC("Donate"));
donate_btn->connect(SceneStringName(pressed), callable_mp(this, &ProjectManager::_open_donate_page));
project_list_sidebar->add_child(donate_btn);
}
}

View File

@ -163,6 +163,7 @@ class ProjectManager : public Control {
Button *show_in_fm_btn = nullptr;
Button *erase_btn = nullptr;
Button *erase_missing_btn = nullptr;
Button *donate_btn = nullptr;
HBoxContainer *open_btn_container = nullptr;
PopupMenu *open_options_popup = nullptr;
@ -203,6 +204,7 @@ class ProjectManager : public Control {
void _update_project_buttons();
void _open_options_popup();
void _open_recovery_mode_ask(bool manual = false);
void _open_donate_page();
void _on_project_created(const String &dir, bool edit);
void _on_project_duplicated(const String &p_original_path, const String &p_duplicate_path, bool p_edit);