summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2022-08-18 06:52:46 +0200
committerPhilipp Gesang <phg@phi-gamma.net>2022-08-18 06:52:46 +0200
commit024df15050387e35c5e0c0471ec7af6440c94993 (patch)
tree65f84632b6c430436211a1466a50db527ca64d46
parente05fd5a4d49742ef00a34e55bf5ba5c1fe91c3d2 (diff)
downloadvtcol-024df15050387e35c5e0c0471ec7af6440c94993.tar.gz
edit: implement hjkl key bindings
-rw-r--r--src/edit.rs24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/edit.rs b/src/edit.rs
index 0e62267..d640db2 100644
--- a/src/edit.rs
+++ b/src/edit.rs
@@ -84,15 +84,27 @@ slint::slint! {
if (event.text == "q") {
user-quit();
}
- if (event.text == " ") {
+ if (event.text == "h") {
+ debug("select prev");
+ master.select-prev();
+ }
+ else if (event.text == "l") {
+ debug("select next");
+ master.select-next();
+ }
+ else if (event.text == " ") {
if (event.modifiers.shift) {
debug("select prev");
- color-vbox.select-prev();
+ master.select-prev();
} else {
debug("select next");
- color-vbox.select-next();
+ master.select-next();
}
}
+ else if (event.text == "j" || event.text == "k") {
+ debug("select other row");
+ master.select-other-row();
+ }
if (event.modifiers.control) {
//debug("control was pressed during this event");
}
@@ -105,6 +117,7 @@ slint::slint! {
callback select-prev();
callback select-next();
+ callback select-other-row();
select-prev () => {
Aux.selected = Aux.selected == 0 ? 15 : Aux.selected - 1;
@@ -116,6 +129,11 @@ slint::slint! {
debug ("selected next, now", Aux.selected);
}
+ select-other-row () => {
+ Aux.selected = mod (Aux.selected + 8, 16);
+ debug ("selected row above/below, now", Aux.selected);
+ }
+
status := HorizontalBox {
width : 100%;