Add the About dialog to the project manager
The About button is located in the bottom-right corner of the project manager. This allows removing the copyright notice from the window title (which looked a bit ugly in comparison to other applications).
This commit is contained in:
parent
2e87857d75
commit
76722b5108
|
@ -38,16 +38,15 @@
|
||||||
#include "core/version_hash.gen.h"
|
#include "core/version_hash.gen.h"
|
||||||
|
|
||||||
void EditorAbout::_theme_changed() {
|
void EditorAbout::_theme_changed() {
|
||||||
Control *base = EditorNode::get_singleton()->get_gui_base();
|
const Ref<Font> font = get_theme_font("source", "EditorFonts");
|
||||||
Ref<Font> font = base->get_theme_font("source", "EditorFonts");
|
const int font_size = get_theme_font_size("source_size", "EditorFonts");
|
||||||
int font_size = base->get_theme_font_size("source_size", "EditorFonts");
|
|
||||||
_tpl_text->add_theme_font_override("normal_font", font);
|
_tpl_text->add_theme_font_override("normal_font", font);
|
||||||
_tpl_text->add_theme_font_size_override("normal_font_size", font_size);
|
_tpl_text->add_theme_font_size_override("normal_font_size", font_size);
|
||||||
_tpl_text->add_theme_constant_override("line_separation", 6 * EDSCALE);
|
_tpl_text->add_theme_constant_override("line_separation", 6 * EDSCALE);
|
||||||
_license_text->add_theme_font_override("normal_font", font);
|
_license_text->add_theme_font_override("normal_font", font);
|
||||||
_license_text->add_theme_font_size_override("normal_font_size", font_size);
|
_license_text->add_theme_font_size_override("normal_font_size", font_size);
|
||||||
_license_text->add_theme_constant_override("line_separation", 6 * EDSCALE);
|
_license_text->add_theme_constant_override("line_separation", 6 * EDSCALE);
|
||||||
_logo->set_texture(base->get_theme_icon("Logo", "EditorIcons"));
|
_logo->set_texture(get_theme_icon("Logo", "EditorIcons"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorAbout::_notification(int p_what) {
|
void EditorAbout::_notification(int p_what) {
|
||||||
|
|
|
@ -44,6 +44,10 @@
|
||||||
|
|
||||||
#include "editor_scale.h"
|
#include "editor_scale.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE: Do not assume the EditorNode singleton to be available in this class' methods.
|
||||||
|
* EditorAbout is also used from the project manager where EditorNode isn't initialized.
|
||||||
|
*/
|
||||||
class EditorAbout : public AcceptDialog {
|
class EditorAbout : public AcceptDialog {
|
||||||
GDCLASS(EditorAbout, AcceptDialog);
|
GDCLASS(EditorAbout, AcceptDialog);
|
||||||
|
|
||||||
|
|
|
@ -1852,6 +1852,9 @@ void ProjectManager::_notification(int p_what) {
|
||||||
case NOTIFICATION_WM_CLOSE_REQUEST: {
|
case NOTIFICATION_WM_CLOSE_REQUEST: {
|
||||||
_dim_window();
|
_dim_window();
|
||||||
} break;
|
} break;
|
||||||
|
case NOTIFICATION_WM_ABOUT: {
|
||||||
|
_show_about();
|
||||||
|
} break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2255,6 +2258,10 @@ void ProjectManager::_erase_missing_projects() {
|
||||||
erase_missing_ask->popup_centered();
|
erase_missing_ask->popup_centered();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectManager::_show_about() {
|
||||||
|
about->popup_centered(Size2(780, 500) * EDSCALE);
|
||||||
|
}
|
||||||
|
|
||||||
void ProjectManager::_language_selected(int p_id) {
|
void ProjectManager::_language_selected(int p_id) {
|
||||||
String lang = language_btn->get_item_metadata(p_id);
|
String lang = language_btn->get_item_metadata(p_id);
|
||||||
EditorSettings::get_singleton()->set("interface/editor/editor_language", lang);
|
EditorSettings::get_singleton()->set("interface/editor/editor_language", lang);
|
||||||
|
@ -2444,12 +2451,7 @@ ProjectManager::ProjectManager() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TRANSLATORS: This refers to the application where users manage their Godot projects.
|
// TRANSLATORS: This refers to the application where users manage their Godot projects.
|
||||||
if (TS->is_locale_right_to_left(TranslationServer::get_singleton()->get_tool_locale())) {
|
DisplayServer::get_singleton()->window_set_title(VERSION_NAME + String(" - ") + TTR("Project Manager"));
|
||||||
// For RTL languages, embed translated part of the title (using control characters) to ensure correct order.
|
|
||||||
DisplayServer::get_singleton()->window_set_title(VERSION_NAME + String(" - ") + String::chr(0x202B) + TTR("Project Manager") + String::chr(0x202C) + String::chr(0x200E) + " - " + String::chr(0xA9) + " 2007-2021 Juan Linietsky, Ariel Manzur & Godot Contributors");
|
|
||||||
} else {
|
|
||||||
DisplayServer::get_singleton()->window_set_title(VERSION_NAME + String(" - ") + TTR("Project Manager") + " - " + String::chr(0xA9) + " 2007-2021 Juan Linietsky, Ariel Manzur & Godot Contributors");
|
|
||||||
}
|
|
||||||
|
|
||||||
FileDialog::set_default_show_hidden_files(EditorSettings::get_singleton()->get("filesystem/file_dialog/show_hidden_files"));
|
FileDialog::set_default_show_hidden_files(EditorSettings::get_singleton()->get("filesystem/file_dialog/show_hidden_files"));
|
||||||
|
|
||||||
|
@ -2583,6 +2585,13 @@ ProjectManager::ProjectManager() {
|
||||||
erase_missing_btn->set_text(TTR("Remove Missing"));
|
erase_missing_btn->set_text(TTR("Remove Missing"));
|
||||||
erase_missing_btn->connect("pressed", callable_mp(this, &ProjectManager::_erase_missing_projects));
|
erase_missing_btn->connect("pressed", callable_mp(this, &ProjectManager::_erase_missing_projects));
|
||||||
tree_vb->add_child(erase_missing_btn);
|
tree_vb->add_child(erase_missing_btn);
|
||||||
|
|
||||||
|
tree_vb->add_spacer();
|
||||||
|
|
||||||
|
about_btn = memnew(Button);
|
||||||
|
about_btn->set_text(TTR("About"));
|
||||||
|
about_btn->connect("pressed", callable_mp(this, &ProjectManager::_show_about));
|
||||||
|
tree_vb->add_child(about_btn);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -2716,6 +2725,9 @@ ProjectManager::ProjectManager() {
|
||||||
open_templates->get_ok_button()->set_text(TTR("Open Asset Library"));
|
open_templates->get_ok_button()->set_text(TTR("Open Asset Library"));
|
||||||
open_templates->connect("confirmed", callable_mp(this, &ProjectManager::_open_asset_library));
|
open_templates->connect("confirmed", callable_mp(this, &ProjectManager::_open_asset_library));
|
||||||
add_child(open_templates);
|
add_child(open_templates);
|
||||||
|
|
||||||
|
about = memnew(EditorAbout);
|
||||||
|
add_child(about);
|
||||||
}
|
}
|
||||||
|
|
||||||
_load_recent_projects();
|
_load_recent_projects();
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#ifndef PROJECT_MANAGER_H
|
#ifndef PROJECT_MANAGER_H
|
||||||
#define PROJECT_MANAGER_H
|
#define PROJECT_MANAGER_H
|
||||||
|
|
||||||
|
#include "editor/editor_about.h"
|
||||||
#include "editor/plugins/asset_library_editor_plugin.h"
|
#include "editor/plugins/asset_library_editor_plugin.h"
|
||||||
#include "scene/gui/dialogs.h"
|
#include "scene/gui/dialogs.h"
|
||||||
#include "scene/gui/file_dialog.h"
|
#include "scene/gui/file_dialog.h"
|
||||||
|
@ -62,6 +63,7 @@ class ProjectManager : public Control {
|
||||||
Button *rename_btn;
|
Button *rename_btn;
|
||||||
Button *erase_btn;
|
Button *erase_btn;
|
||||||
Button *erase_missing_btn;
|
Button *erase_missing_btn;
|
||||||
|
Button *about_btn;
|
||||||
|
|
||||||
EditorAssetLibrary *asset_library;
|
EditorAssetLibrary *asset_library;
|
||||||
|
|
||||||
|
@ -78,6 +80,7 @@ class ProjectManager : public Control {
|
||||||
ConfirmationDialog *multi_scan_ask;
|
ConfirmationDialog *multi_scan_ask;
|
||||||
ConfirmationDialog *ask_update_settings;
|
ConfirmationDialog *ask_update_settings;
|
||||||
ConfirmationDialog *open_templates;
|
ConfirmationDialog *open_templates;
|
||||||
|
EditorAbout *about;
|
||||||
|
|
||||||
HBoxContainer *settings_hb;
|
HBoxContainer *settings_hb;
|
||||||
|
|
||||||
|
@ -100,6 +103,7 @@ class ProjectManager : public Control {
|
||||||
void _erase_missing_projects();
|
void _erase_missing_projects();
|
||||||
void _erase_project_confirm();
|
void _erase_project_confirm();
|
||||||
void _erase_missing_projects_confirm();
|
void _erase_missing_projects_confirm();
|
||||||
|
void _show_about();
|
||||||
void _update_project_buttons();
|
void _update_project_buttons();
|
||||||
void _language_selected(int p_id);
|
void _language_selected(int p_id);
|
||||||
void _restart_confirm();
|
void _restart_confirm();
|
||||||
|
|
Loading…
Reference in New Issue