Exemple #1
0
void FindReplaceBar::_unhandled_input(const Ref<InputEvent> &p_event) {

	Ref<InputEventKey> k = p_event;
	if (k.is_valid()) {

		if (k->is_pressed() && (text_edit->has_focus() || text_vbc->is_a_parent_of(get_focus_owner()))) {

			bool accepted = true;

			switch (k->get_scancode()) {

				case KEY_ESCAPE: {

					_hide_bar();
				} break;
				default: {

					accepted = false;
				} break;
			}

			if (accepted) {
				accept_event();
			}
		}
	}
}
Exemple #2
0
void FindReplaceBar::_unhandled_input(const InputEvent &p_event) {

	if (p_event.type == InputEvent::KEY) {

		const InputEventKey& k = p_event.key;

		if (k.pressed && (text_edit->has_focus() || text_vbc->is_a_parent_of(get_focus_owner()))) {

			bool accepted = true;

			switch (k.scancode) {

				case KEY_ESCAPE: {

					_hide_bar();
				} break;
				default: {

					accepted = false;
				} break;
			}

			if (accepted) {
				accept_event();
			}
		}
	}
}
Exemple #3
0
void RenameDialog::_insert_text(String text) {

	LineEdit *focus_owner = Object::cast_to<LineEdit>(get_focus_owner());

	if (_is_main_field(focus_owner)) {
		focus_owner->selection_delete();
		focus_owner->append_at_cursor(text);
		_update_preview();
	}
}
Exemple #4
0
void RenameDialog::_update_substitute() {

	LineEdit *focus_owner_line_edit = Object::cast_to<LineEdit>(get_focus_owner());
	bool is_main_field = _is_main_field(focus_owner_line_edit);

	but_insert_name->set_disabled(!is_main_field);
	but_insert_parent->set_disabled(!is_main_field);
	but_insert_type->set_disabled(!is_main_field);
	but_insert_scene->set_disabled(!is_main_field);
	but_insert_root->set_disabled(!is_main_field);
	but_insert_count->set_disabled(!is_main_field);

	// The focus mode seems to be reset when disabling/re-enabling
	but_insert_name->set_focus_mode(FOCUS_NONE);
	but_insert_parent->set_focus_mode(FOCUS_NONE);
	but_insert_type->set_focus_mode(FOCUS_NONE);
	but_insert_scene->set_focus_mode(FOCUS_NONE);
	but_insert_root->set_focus_mode(FOCUS_NONE);
	but_insert_count->set_focus_mode(FOCUS_NONE);
}