mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 07:53:26 +00:00
Merge pull request #106146 from gtibo/show-encryption-key
Add "Show Encryption Key" toggle
This commit is contained in:
commit
988721cda3
2 changed files with 27 additions and 1 deletions
|
@ -99,10 +99,12 @@ void ProjectExportDialog::_notification(int p_what) {
|
|||
case NOTIFICATION_VISIBILITY_CHANGED: {
|
||||
if (!is_visible()) {
|
||||
EditorSettings::get_singleton()->set_project_metadata("dialog_bounds", "export", Rect2(get_position(), get_size()));
|
||||
show_script_key->set_pressed(false);
|
||||
}
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_THEME_CHANGED: {
|
||||
_script_encryption_key_visibility_changed(show_script_key->is_pressed());
|
||||
duplicate_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Duplicate")));
|
||||
delete_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Remove")));
|
||||
patch_add_btn->set_button_icon(get_editor_theme_icon(SNAME("Add")));
|
||||
|
@ -395,6 +397,7 @@ void ProjectExportDialog::_edit_preset(int p_index) {
|
|||
enc_in_filters->set_editable(enc_pck_mode);
|
||||
enc_ex_filters->set_editable(enc_pck_mode);
|
||||
script_key->set_editable(enc_pck_mode);
|
||||
show_script_key->set_disabled(!enc_pck_mode);
|
||||
seed_input->set_editable(enc_pck_mode);
|
||||
|
||||
bool enc_directory_mode = current->get_enc_directory();
|
||||
|
@ -597,6 +600,10 @@ void ProjectExportDialog::_enc_pck_changed(bool p_pressed) {
|
|||
enc_in_filters->set_editable(p_pressed);
|
||||
enc_ex_filters->set_editable(p_pressed);
|
||||
script_key->set_editable(p_pressed);
|
||||
show_script_key->set_disabled(!p_pressed);
|
||||
if (!p_pressed) {
|
||||
show_script_key->set_pressed(false);
|
||||
}
|
||||
|
||||
_update_current_preset();
|
||||
}
|
||||
|
@ -644,6 +651,12 @@ void ProjectExportDialog::_script_encryption_key_changed(const String &p_key) {
|
|||
updating_script_key = false;
|
||||
}
|
||||
|
||||
void ProjectExportDialog::_script_encryption_key_visibility_changed(bool p_visible) {
|
||||
show_script_key->set_button_icon(get_editor_theme_icon(p_visible ? SNAME("GuiVisibilityVisible") : SNAME("GuiVisibilityHidden")));
|
||||
show_script_key->set_tooltip_text(p_visible ? TTRC("Hide encryption key") : TTRC("Show encryption key"));
|
||||
script_key->set_secret(!p_visible);
|
||||
}
|
||||
|
||||
bool ProjectExportDialog::_validate_script_encryption_key(const String &p_key) {
|
||||
bool is_valid = false;
|
||||
|
||||
|
@ -1699,13 +1712,24 @@ ProjectExportDialog::ProjectExportDialog() {
|
|||
enc_ex_filters);
|
||||
|
||||
script_key = memnew(LineEdit);
|
||||
script_key->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||
script_key->set_accessibility_name(TTRC("Encryption Key (256-bits as hexadecimal):"));
|
||||
script_key->connect(SceneStringName(text_changed), callable_mp(this, &ProjectExportDialog::_script_encryption_key_changed));
|
||||
script_key->set_secret(true);
|
||||
|
||||
show_script_key = memnew(Button);
|
||||
show_script_key->set_toggle_mode(true);
|
||||
show_script_key->connect(SceneStringName(toggled), callable_mp(this, &ProjectExportDialog::_script_encryption_key_visibility_changed));
|
||||
|
||||
HBoxContainer *encryption_hb = memnew(HBoxContainer);
|
||||
encryption_hb->add_child(script_key);
|
||||
encryption_hb->add_child(show_script_key);
|
||||
|
||||
script_key_error = memnew(Label);
|
||||
script_key_error->set_focus_mode(Control::FOCUS_ACCESSIBILITY);
|
||||
script_key_error->set_text(String::utf8("• ") + TTR("Invalid Encryption Key (must be 64 hexadecimal characters long)"));
|
||||
script_key_error->add_theme_color_override(SceneStringName(font_color), EditorNode::get_singleton()->get_editor_theme()->get_color(SNAME("error_color"), EditorStringName(Editor)));
|
||||
sec_vb->add_margin_child(TTR("Encryption Key (256-bits as hexadecimal):"), script_key);
|
||||
sec_vb->add_margin_child(TTRC("Encryption Key (256-bits as hexadecimal):"), encryption_hb);
|
||||
sec_vb->add_child(script_key_error);
|
||||
sections->add_child(sec_scroll_container);
|
||||
|
||||
|
|
|
@ -117,6 +117,7 @@ class ProjectExportDialog : public ConfirmationDialog {
|
|||
RichTextLabel *custom_feature_display = nullptr;
|
||||
|
||||
LineEdit *script_key = nullptr;
|
||||
Button *show_script_key = nullptr;
|
||||
Label *script_key_error = nullptr;
|
||||
|
||||
ProjectExportTextureFormatError *export_texture_format_error = nullptr;
|
||||
|
@ -200,6 +201,7 @@ class ProjectExportDialog : public ConfirmationDialog {
|
|||
void _enc_filters_changed(const String &p_text);
|
||||
void _seed_input_changed(const String &p_text);
|
||||
void _script_encryption_key_changed(const String &p_key);
|
||||
void _script_encryption_key_visibility_changed(bool p_visible);
|
||||
bool _validate_script_encryption_key(const String &p_key);
|
||||
|
||||
void _script_export_mode_changed(int p_mode);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue