From ad8cb3a1840a3c93a5e0174b2b8f259ce9c279bd Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 19 Mar 2024 22:23:21 +0800 Subject: [PATCH] src/Builder4/Editor.bjs src/Builder4/Editor.vala --- src/Builder4/Editor.bjs | 24 +++++++++++++++++++++++- src/Builder4/Editor.vala | 24 +++++++++++++++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/Builder4/Editor.bjs b/src/Builder4/Editor.bjs index 9e842cbdc..27ad9c6ae 100644 --- a/src/Builder4/Editor.bjs +++ b/src/Builder4/Editor.bjs @@ -1265,7 +1265,29 @@ "}" ], "| void updateSelectedLine" : [ - "() {", + "(int line) {", + "\t", + "\tvar new_row = -1;", + "\tvar sym = _this.navliststore.symbolAtLine(line);", + "\tif (sym) {", + "\t \tnew_row = _this.navigationselmodel.getRowFromSymbol(sym);", + " \t}", + " \tif (new_row == this.selected_row) {", + " \t\treturn;", + "\t}", + "\tif (this.selected_row > -1) {", + "\t\tvar old = this.getWidgetAtRow(this.selected_row);", + "\t\tif (old !=null) {", + "\t\t\told.remove_css_class(\"selcted-row\");", + "\t\t}", + "\t}\t", + "\tif (new_row > -1) {", + "\t\tvar row = this.getWidgetAtRow((new_row);", + "\t\tif (row != null) {", + "\t\t\trow.remove_css_class(\"selcted-row\");", + "\t\t}", + "\t}", + "", "", "}" ] diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index 31c2230d7..6eac372f5 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -1888,7 +1888,29 @@ public class Editor : Object } return rn; } - public void updateSelectedLine () { + public void updateSelectedLine (int line) { + + var new_row = -1; + var sym = _this.navliststore.symbolAtLine(line); + if (sym) { + new_row = _this.navigationselmodel.getRowFromSymbol(sym); + } + if (new_row == this.selected_row) { + return; + } + if (this.selected_row > -1) { + var old = this.getWidgetAtRow(this.selected_row); + if (old !=null) { + old.remove_css_class("selcted-row"); + } + } + if (new_row > -1) { + var row = this.getWidgetAtRow((new_row); + if (row != null) { + row.remove_css_class("selcted-row"); + } + } + } } -- 2.39.2