1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Add donate button to project manager

- Move the `Remove Missing` button with the rest of the actions available.
- Add `ref` to existing donate link in the Help menu
This commit is contained in:
Emi
2025-10-23 22:21:18 +02:00
parent a4607f4522
commit 1b8b46f59a
3 changed files with 17 additions and 5 deletions

View File

@@ -3536,7 +3536,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);