src/Builder4/Editor.bjs
authorAlan Knowles <alan@roojs.com>
Tue, 19 Mar 2024 15:01:54 +0000 (23:01 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 19 Mar 2024 15:01:54 +0000 (23:01 +0800)
src/Builder4/Editor.vala

src/Builder4/Editor.bjs
src/Builder4/Editor.vala

index 70cbbb4..4a8c7dd 100644 (file)
           " \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(\"selected-row\");",
-          "\t\t}",
-          "\t}\t",
+          "\tif (this.selected_row != nul) { ",
+          "\t\tthis.selected_row.remove_css_class(\"selected-row\");",
+          "\t}",
+          "\tthis.selected_row  = null;",
           "\tif (new_row > -1) {",
           "\t\tvar row = this.getWidgetAtRow(new_row);",
           "\t\tif (row != null) {",
           "\t\t\tGLib.debug(\" Add selected row\");",
-          " ",
+          " \t\t\t",
           "\t\t\trow.add_css_class(\"selected-row\");",
+          "\t\t\tthis.selected_row = row;",
+          "\t\t\t",
           "\t\t} else {",
           "\t\t\tGLib.debug(\"could not find widget on row %d\", new_row);",
           "\t\t}",
-          "\t\tthis.selected_row = new_row;",
+          "",
           "\t}",
           "",
           "",
index 69fa98b..dbbe9bb 100644 (file)
@@ -1919,22 +1919,22 @@ public class Editor : Object
                        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("selected-row");
-                               }
-                       }       
+                       if (this.selected_row != nul) { 
+                               this.selected_row.remove_css_class("selected-row");
+                       }
+                       this.selected_row  = null;
                        if (new_row > -1) {
                                var row = this.getWidgetAtRow(new_row);
                                if (row != null) {
                                        GLib.debug(" Add selected row");
-                
+                                       
                                        row.add_css_class("selected-row");
+                                       this.selected_row = row;
+                                       
                                } else {
                                        GLib.debug("could not find widget on row %d", new_row);
                                }
-                               this.selected_row = new_row;
+               
                        }