From add74081a8a25c6c6813077d281aabd38d1319d8 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 2 Jun 2015 19:22:41 +0800 Subject: [PATCH] src/Builder4/Editor.bjs src/Builder4/Editor.vala --- src/Builder4/Editor.bjs | 2 +- src/Builder4/Editor.vala | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Builder4/Editor.bjs b/src/Builder4/Editor.bjs index 95f4a2b9b..b85a71eba 100644 --- a/src/Builder4/Editor.bjs +++ b/src/Builder4/Editor.bjs @@ -11,7 +11,7 @@ "# Xcls_MainWindow window" : "null", "# string activeEditor" : "\"\"", "| bool saveContents" : " () {\n \n \n if (_this.file == null) {\n return true;\n }\n \n \n \n \n \n var str = _this.buffer.toString();\n \n _this.buffer.checkSyntax();\n \n \n \n // LeftPanel.model.changed( str , false);\n _this.dirty = false;\n _this.save_button.el.sensitive = false;\n \n // find the text for the node..\n if (_this.file.xtype != \"PlainFile\") {\n if (ptype == \"listener\") {\n this.node.listeners.set(key,str);\n \n } else {\n this.node.props.set(key,str);\n }\n } else {\n _this.file.setSource( str );\n }\n \n // call the signal..\n this.save();\n \n return true;\n\n} ", - "| void scroll_to_line" : "(int line) {\n var buf = this.view.el.get_buffer();\n \n var sbuf = (Gtk.SourceBuffer) buf;\n\n\n\tGtk.TextIter iter; \n sbuf.get_iter_at_line(out iter, line);\n this.view.el.scroll_to_iter(iter, 0.1f, true, 0.0f, 0.0f);\n \n}\n", + "| void scroll_to_line" : "(int line) {\n\n\tGLib.Timeout.add(1000, () => {\n \n\t\tvar buf = this.view.el.get_buffer();\n\n\t\tvar sbuf = (Gtk.SourceBuffer) buf;\n\n\n\t\tGtk.TextIter iter; \n\t\tsbuf.get_iter_at_line(out iter, line);\n\t\tthis.view.el.scroll_to_iter(iter, 0.1f, true, 0.0f, 0.0f);\n\t}); \n}\n", "# int pos_root_x" : "", "# int pos_root_y" : "", "# string ptype" : "\"\"", diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index d615af297..cff5e5092 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -99,15 +99,18 @@ public class Editor : Object } public void scroll_to_line (int line) { - var buf = this.view.el.get_buffer(); - - var sbuf = (Gtk.SourceBuffer) buf; - - Gtk.TextIter iter; - sbuf.get_iter_at_line(out iter, line); - this.view.el.scroll_to_iter(iter, 0.1f, true, 0.0f, 0.0f); + GLib.Timeout.add(1000, () => { + var buf = this.view.el.get_buffer(); + + var sbuf = (Gtk.SourceBuffer) buf; + + + Gtk.TextIter iter; + sbuf.get_iter_at_line(out iter, line); + this.view.el.scroll_to_iter(iter, 0.1f, true, 0.0f, 0.0f); + }); } public void show (JsRender.JsRender file, JsRender.Node? node, string ptype, string key) { -- 2.39.2