Merge pull request #31326 from Calinou/template-manager-disable-download-dev

Only display download buttons in the template manager when available
This commit is contained in:
Rémi Verschelde 2019-08-13 13:22:08 +02:00 committed by GitHub
commit 985955d5b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 4 deletions

View File

@ -69,6 +69,9 @@ void ExportTemplateManager::_update_template_list() {
memdelete(d); memdelete(d);
String current_version = VERSION_FULL_CONFIG; String current_version = VERSION_FULL_CONFIG;
// Downloadable export templates are only available for stable, alpha, beta and RC versions.
// Therefore, don't display download-related features when using a development version
const bool downloads_available = String(VERSION_STATUS) != String("dev");
Label *current = memnew(Label); Label *current = memnew(Label);
current->set_h_size_flags(SIZE_EXPAND_FILL); current->set_h_size_flags(SIZE_EXPAND_FILL);
@ -76,10 +79,14 @@ void ExportTemplateManager::_update_template_list() {
if (templates.has(current_version)) { if (templates.has(current_version)) {
current->add_color_override("font_color", get_color("success_color", "Editor")); current->add_color_override("font_color", get_color("success_color", "Editor"));
// Only display a redownload button if it can be downloaded in the first place
if (downloads_available) {
Button *redownload = memnew(Button); Button *redownload = memnew(Button);
redownload->set_text(TTR("Re-Download")); redownload->set_text(TTR("Redownload"));
current_hb->add_child(redownload); current_hb->add_child(redownload);
redownload->connect("pressed", this, "_download_template", varray(current_version)); redownload->connect("pressed", this, "_download_template", varray(current_version));
}
Button *uninstall = memnew(Button); Button *uninstall = memnew(Button);
uninstall->set_text(TTR("Uninstall")); uninstall->set_text(TTR("Uninstall"));
@ -91,6 +98,12 @@ void ExportTemplateManager::_update_template_list() {
current->add_color_override("font_color", get_color("error_color", "Editor")); current->add_color_override("font_color", get_color("error_color", "Editor"));
Button *redownload = memnew(Button); Button *redownload = memnew(Button);
redownload->set_text(TTR("Download")); redownload->set_text(TTR("Download"));
if (!downloads_available) {
redownload->set_disabled(true);
redownload->set_tooltip(TTR("Official export templates aren't available for development builds."));
}
redownload->connect("pressed", this, "_download_template", varray(current_version)); redownload->connect("pressed", this, "_download_template", varray(current_version));
current_hb->add_child(redownload); current_hb->add_child(redownload);
current->set_text(current_version + " " + TTR("(Missing)")); current->set_text(current_version + " " + TTR("(Missing)"));