Merge pull request #12310 from Paulb23/toggle_highlight_current_line
Added setting to toggle current line highlighting
This commit is contained in:
commit
ad5613ec40
5 changed files with 23 additions and 2 deletions
|
@ -1089,6 +1089,7 @@ void CodeTextEditor::update_editor_settings() {
|
|||
text_editor->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_numbers/line_length_guideline_column"));
|
||||
text_editor->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/highlighting/syntax_highlighting"));
|
||||
text_editor->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_all_occurrences"));
|
||||
text_editor->set_highlight_current_line(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_current_line"));
|
||||
text_editor->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink"));
|
||||
text_editor->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed"));
|
||||
text_editor->set_draw_breakpoint_gutter(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_breakpoint_gutter"));
|
||||
|
|
|
@ -632,6 +632,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||
_initial_set("text_editor/highlighting/syntax_highlighting", true);
|
||||
|
||||
_initial_set("text_editor/highlighting/highlight_all_occurrences", true);
|
||||
_initial_set("text_editor/highlighting/highlight_current_line", true);
|
||||
_initial_set("text_editor/cursor/scroll_past_end_of_file", false);
|
||||
|
||||
_initial_set("text_editor/indent/type", 0);
|
||||
|
|
|
@ -348,6 +348,7 @@ void ShaderEditor::_editor_settings_changed() {
|
|||
shader_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_line_numbers"));
|
||||
shader_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/highlighting/syntax_highlighting"));
|
||||
shader_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_all_occurrences"));
|
||||
shader_editor->get_text_edit()->set_highlight_current_line(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_current_line"));
|
||||
shader_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink"));
|
||||
shader_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed"));
|
||||
shader_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/theme/line_spacing"));
|
||||
|
|
|
@ -734,7 +734,7 @@ void TextEdit::_notification(int p_what) {
|
|||
|
||||
if (str.length() == 0) {
|
||||
// draw line background if empty as we won't loop at at all
|
||||
if (line == cursor.line) {
|
||||
if (line == cursor.line && highlight_current_line) {
|
||||
VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(0, ofs_y, xmargin_end, get_row_height()), cache.current_line_color);
|
||||
}
|
||||
|
||||
|
@ -965,7 +965,7 @@ void TextEdit::_notification(int p_what) {
|
|||
//current line highlighting
|
||||
bool in_selection = (selection.active && line >= selection.from_line && line <= selection.to_line && (line > selection.from_line || j >= selection.from_column) && (line < selection.to_line || j < selection.to_column));
|
||||
|
||||
if (line == cursor.line) {
|
||||
if (line == cursor.line && highlight_current_line) {
|
||||
// if its the first char draw behind line numbers
|
||||
if (j == 0) {
|
||||
VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(0, ofs_y, (char_ofs + char_margin), get_row_height()), cache.current_line_color);
|
||||
|
@ -4732,6 +4732,15 @@ int TextEdit::get_breakpoint_gutter_width() const {
|
|||
return cache.breakpoint_gutter_width;
|
||||
}
|
||||
|
||||
void TextEdit::set_highlight_current_line(bool p_enabled) {
|
||||
highlight_current_line = p_enabled;
|
||||
update();
|
||||
}
|
||||
|
||||
bool TextEdit::is_highlight_current_line_enabled() const {
|
||||
return highlight_current_line;
|
||||
}
|
||||
|
||||
bool TextEdit::is_text_field() const {
|
||||
|
||||
return true;
|
||||
|
@ -4859,6 +4868,9 @@ void TextEdit::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_syntax_coloring", "enable"), &TextEdit::set_syntax_coloring);
|
||||
ClassDB::bind_method(D_METHOD("is_syntax_coloring_enabled"), &TextEdit::is_syntax_coloring_enabled);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_highlight_current_line", "enabled"), &TextEdit::set_highlight_current_line);
|
||||
ClassDB::bind_method(D_METHOD("is_highlight_current_line_enabled"), &TextEdit::is_highlight_current_line_enabled);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_smooth_scroll_enable", "enable"), &TextEdit::set_smooth_scroll_enabled);
|
||||
ClassDB::bind_method(D_METHOD("is_smooth_scroll_enabled"), &TextEdit::is_smooth_scroll_enabled);
|
||||
ClassDB::bind_method(D_METHOD("set_v_scroll_speed", "speed"), &TextEdit::set_v_scroll_speed);
|
||||
|
@ -4870,6 +4882,7 @@ void TextEdit::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("menu_option", "option"), &TextEdit::menu_option);
|
||||
ClassDB::bind_method(D_METHOD("get_menu"), &TextEdit::get_menu);
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_current_line"), "set_highlight_current_line", "is_highlight_current_line_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "syntax_highlighting"), "set_syntax_coloring", "is_syntax_coloring_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "show_line_numbers"), "set_show_line_numbers", "is_show_line_numbers_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_all_occurrences"), "set_highlight_all_occurrences", "is_highlight_all_occurrences_enabled");
|
||||
|
@ -4991,6 +5004,7 @@ TextEdit::TextEdit() {
|
|||
auto_brace_completion_enabled = false;
|
||||
brace_matching_enabled = false;
|
||||
highlight_all_occurrences = false;
|
||||
highlight_current_line = false;
|
||||
indent_using_spaces = false;
|
||||
space_indent = " ";
|
||||
auto_indent = false;
|
||||
|
|
|
@ -253,6 +253,7 @@ class TextEdit : public Control {
|
|||
bool scroll_past_end_of_file_enabled;
|
||||
bool auto_brace_completion_enabled;
|
||||
bool brace_matching_enabled;
|
||||
bool highlight_current_line;
|
||||
bool auto_indent;
|
||||
bool cut_copy_line;
|
||||
bool insert_mode;
|
||||
|
@ -514,6 +515,9 @@ public:
|
|||
void set_show_line_numbers(bool p_show);
|
||||
bool is_show_line_numbers_enabled() const;
|
||||
|
||||
void set_highlight_current_line(bool p_enabled);
|
||||
bool is_highlight_current_line_enabled() const;
|
||||
|
||||
void set_line_numbers_zero_padded(bool p_zero_padded);
|
||||
|
||||
void set_show_line_length_guideline(bool p_show);
|
||||
|
|
Loading…
Reference in a new issue