+ if (this.el.text == "") {
+ _this.treescroll.el.visible = false;
+ return;
+ }
+ _this.treescroll.el.visible = true;
+ _this.treefilter.el.changed(Gtk.FilterChange.DIFFERENT);
+ });
+ }
+
+ // user defined functions
+ }
+ public class Xcls_EventControllerKey37 : Object
+ {
+ public Gtk.EventControllerKey el;
+ private Xcls_MainWindow _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_EventControllerKey37(Xcls_MainWindow _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.EventControllerKey();
+
+ // my vars (dec)
+
+ // set gobject values
+
+ //listeners
+ this.el.key_released.connect( (keyval, keycode, state) => {
+ if (!_this.treescroll.el.visible || _this.treeselmodel.el.get_n_items() < 0) {
+ return;
+ }
+ GLib.debug(
+
+ "searcj key release %d, %d, %d ?= %d" ,
+ (int) keyval, (int) keycode, state,
+ (int)Gdk.Key.Return
+ );
+ if (!_this.treescroll.el.visible || _this.treeselmodel.el.get_n_items() < 0) {
+ return;
+ }
+
+ var dir = 0;
+
+ if (keyval == Gdk.Key.Return) {
+ var tr = (Gtk.TreeListRow)_this.treeselmodel.el.selected_item;
+ GLib.debug("SELECTED = %s", tr.item.get_type().name());
+ var f = (JsRender.JsRender) tr.item;
+ GLib.debug("Click %s", f.name);
+ if (f.xtype == "Dir") {
+ return;
+ }
+
+
+ _this.windowstate.fileViewOpen(f,
+ _this.keystate.is_shift != 1
+ );
+
+ _this.splitview.el.show_sidebar = false;
+ return;
+
+
+ }
+ if (keyval == Gdk.Key.Up) {
+ dir = -1;
+ }if (keyval == Gdk.Key.Down) {
+ dir = 1;
+ }
+ if (dir == 0) {
+ return;
+ }
+ var ns = _this.treeselmodel.el.selected + dir;
+ if (ns < 0) {
+ ns = 0;
+ }
+ if (ns >= _this.treeselmodel.el.get_n_items()) {
+ ns = _this.treeselmodel.el.get_n_items()-1;
+ }
+ _this.treeselmodel.el.selected = ns;