Skip to content

Commit 4f13cb9

Browse files
committed
add: show encryption key toggle
1 parent f23807d commit 4f13cb9

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

editor/export/project_export.cpp

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,12 @@ void ProjectExportDialog::_notification(int p_what) {
9696
case NOTIFICATION_VISIBILITY_CHANGED: {
9797
if (!is_visible()) {
9898
EditorSettings::get_singleton()->set_project_metadata("dialog_bounds", "export", Rect2(get_position(), get_size()));
99+
show_script_key->set_pressed(false);
99100
}
100101
} break;
101102

102103
case NOTIFICATION_THEME_CHANGED: {
104+
_script_encryption_key_visibility_changed(show_script_key->is_pressed());
103105
duplicate_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Duplicate")));
104106
delete_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Remove")));
105107
patch_add_btn->set_button_icon(get_editor_theme_icon(SNAME("Add")));
@@ -596,8 +598,7 @@ void ProjectExportDialog::_enc_pck_changed(bool p_pressed) {
596598
script_key->set_editable(p_pressed);
597599
show_script_key->set_disabled(!p_pressed);
598600
if (!p_pressed) {
599-
show_script_key->set_pressed_no_signal(false);
600-
script_key->set_secret(true);
601+
show_script_key->set_pressed(false);
601602
}
602603

603604
_update_current_preset();
@@ -646,7 +647,9 @@ void ProjectExportDialog::_script_encryption_key_changed(const String &p_key) {
646647
updating_script_key = false;
647648
}
648649

649-
void ProjectExportDialog::_script_encryption_key_visibility_changed(const bool &p_visible) {
650+
void ProjectExportDialog::_script_encryption_key_visibility_changed(bool p_visible) {
651+
show_script_key->set_button_icon(get_editor_theme_icon(p_visible ? SNAME("GuiVisibilityVisible") : SNAME("GuiVisibilityHidden")));
652+
show_script_key->set_tooltip_text(p_visible ? TTRC("Hide Encryption Key.") : TTRC("Show Encryption Key."));
650653
script_key->set_secret(!p_visible);
651654
}
652655

@@ -1703,20 +1706,24 @@ ProjectExportDialog::ProjectExportDialog() {
17031706
enc_ex_filters);
17041707

17051708
script_key = memnew(LineEdit);
1706-
script_key->set_accessibility_name(TTRC("Encryption Key"));
1709+
script_key->set_h_size_flags(Control::SIZE_EXPAND_FILL);
1710+
script_key->set_accessibility_name(TTRC("Encryption Key (256-bits as hexadecimal):"));
17071711
script_key->connect(SceneStringName(text_changed), callable_mp(this, &ProjectExportDialog::_script_encryption_key_changed));
17081712
script_key->set_secret(true);
17091713

1710-
show_script_key = memnew(CheckButton);
1711-
show_script_key->set_text("Show Encryption Key");
1714+
show_script_key = memnew(Button);
1715+
show_script_key->set_toggle_mode(true);
17121716
show_script_key->connect(SceneStringName(toggled), callable_mp(this, &ProjectExportDialog::_script_encryption_key_visibility_changed));
17131717

1718+
HBoxContainer *encryption_hb = memnew(HBoxContainer);
1719+
encryption_hb->add_child(script_key);
1720+
encryption_hb->add_child(show_script_key);
1721+
17141722
script_key_error = memnew(Label);
17151723
script_key_error->set_focus_mode(Control::FOCUS_ACCESSIBILITY);
17161724
script_key_error->set_text(String::utf8("") + TTR("Invalid Encryption Key (must be 64 hexadecimal characters long)"));
17171725
script_key_error->add_theme_color_override(SceneStringName(font_color), EditorNode::get_singleton()->get_editor_theme()->get_color(SNAME("error_color"), EditorStringName(Editor)));
1718-
sec_vb->add_margin_child(TTR("Encryption Key (256-bits as hexadecimal):"), script_key);
1719-
sec_vb->add_child(show_script_key);
1726+
sec_vb->add_margin_child(TTRC("Encryption Key (256-bits as hexadecimal):"), encryption_hb);
17201727
sec_vb->add_child(script_key_error);
17211728
sections->add_child(sec_scroll_container);
17221729

editor/export/project_export.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ class ProjectExportDialog : public ConfirmationDialog {
115115
RichTextLabel *custom_feature_display = nullptr;
116116

117117
LineEdit *script_key = nullptr;
118-
CheckButton *show_script_key = nullptr;
118+
Button *show_script_key = nullptr;
119119
Label *script_key_error = nullptr;
120120

121121
ProjectExportTextureFormatError *export_texture_format_error = nullptr;
@@ -199,7 +199,7 @@ class ProjectExportDialog : public ConfirmationDialog {
199199
void _enc_filters_changed(const String &p_text);
200200
void _seed_input_changed(const String &p_text);
201201
void _script_encryption_key_changed(const String &p_key);
202-
void _script_encryption_key_visibility_changed(const bool &p_visible);
202+
void _script_encryption_key_visibility_changed(bool p_visible);
203203
bool _validate_script_encryption_key(const String &p_key);
204204

205205
void _script_export_mode_changed(int p_mode);

0 commit comments

Comments
 (0)