aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe <rbo@gmx.us>2025-02-28 12:30:17 +0100
committerJoe <rbo@gmx.us>2025-02-28 12:30:17 +0100
commit397e45ad924ed97e7da0731fc54e3dccaf02cb20 (patch)
tree8dd171cdae05bb5fd61029e58725d84adaabf2d0
parenthere (diff)
downloadhardflip-397e45ad924ed97e7da0731fc54e3dccaf02cb20.tar.gz
hardflip-397e45ad924ed97e7da0731fc54e3dccaf02cb20.tar.bz2
hardflip-397e45ad924ed97e7da0731fc54e3dccaf02cb20.tar.xz
hardflip-397e45ad924ed97e7da0731fc54e3dccaf02cb20.tar.zst
hardflip-397e45ad924ed97e7da0731fc54e3dccaf02cb20.zip
fuck im reseting this shit hard
Diffstat (limited to '')
-rw-r--r--src/e_keys.go1
-rw-r--r--src/i_ui.go82
2 files changed, 55 insertions, 28 deletions
diff --git a/src/e_keys.go b/src/e_keys.go
index ce378eb..859a925 100644
--- a/src/e_keys.go
+++ b/src/e_keys.go
@@ -372,6 +372,7 @@ func e_insert_name_events(data *HardData, ui *HardUI,
tmp = data.litems.head
}
data.litems.curr = tmp
+ data.litems.reset_id()
} else if event.Key() == tcell.KeyEnter {
if ui.buff.len() == 0 {
ui.s.HideCursor()
diff --git a/src/i_ui.go b/src/i_ui.go
index 486cc29..fd65c32 100644
--- a/src/i_ui.go
+++ b/src/i_ui.go
@@ -239,7 +239,9 @@ func i_draw_bottom_text(ui HardUI, insert *HostNode, insert_err []error) {
text = ui.msg_buff
} else {
switch ui.mode {
- case NORMAL_MODE:
+ case NORMAL_MODE,
+ INSERT_NAME_MODE,
+ RENAME_MODE:
text = NORMAL_KEYS_HINTS
case DELETE_MODE:
text = CONFIRM_KEYS_HINTS
@@ -511,32 +513,54 @@ func i_prompt_dir(ui HardUI, prompt string, home_dir string) {
ui.s.ShowCursor(len(prompt) + 1 + ui.buff.cursor, ui.dim[H] - 1)
}
-func i_prompt_insert(ui HardUI, curr *ItemsNode) {
- path := "/"
- if curr != nil {
- if ui.mode == RENAME_MODE {
- if curr.is_dir() == false {
- path = curr.path()
- } else {
- path = curr.Dirs.Parent.path()
- }
- } else {
- path = curr.path()
+func i_prompt_insert(ui HardUI, litems *ItemsList, icons bool, curr *ItemsNode) {
+ // path := "/"
+ // if curr != nil {
+ // if ui.mode == RENAME_MODE {
+ // if curr.is_dir() == false {
+ // path = curr.path()
+ // } else {
+ // path = curr.Dirs.Parent.path()
+ // }
+ // } else {
+ // path = curr.path()
+ // }
+ // }
+ // path = path[1:]
+ // prompt := "Name: "
+ // i_draw_text(ui.s,
+ // 1, ui.dim[H] - 1, ui.dim[W] - 1, ui.dim[H] - 1,
+ // ui.style[DEF_STYLE], prompt)
+ // i_draw_text(ui.s, len(prompt) + 1,
+ // ui.dim[H] - 1, ui.dim[W] - 1, ui.dim[H] - 1,
+ // ui.style[DEF_STYLE], path)
+ // i_draw_text(ui.s, len(prompt) + 1 + len(path),
+ // ui.dim[H] - 1, ui.dim[W] - 1, ui.dim[H] - 1,
+ // ui.style[DEF_STYLE].Bold(true), ui.buff.str())
+ // ui.s.ShowCursor(len(prompt) + 1 + len(path) +
+ // ui.buff.cursor, ui.dim[H] - 1)
+ // FIX: fix this shit
+
+ logger.Println("draw: ", litems.draw.ID)
+ logger.Println("curr: ", litems.curr.ID)
+ spaces := 1
+ depth := 0
+ ptr := litems.curr;
+ if ptr.is_dir() == false && ptr.Host != nil {
+ depth = int(ptr.Host.parent.Depth)
+ for i := 0; i < depth + 1 - 2; i++ {
+ spaces += 2
+ }
+ } else if ptr.Dirs != nil {
+ depth = int(ptr.Dirs.Depth)
+ for i := 0; i < int(depth) - 2; i++ {
+ spaces += 2
}
}
- path = path[1:]
- prompt := "Name: "
- i_draw_text(ui.s,
- 1, ui.dim[H] - 1, ui.dim[W] - 1, ui.dim[H] - 1,
- ui.style[DEF_STYLE], prompt)
- i_draw_text(ui.s, len(prompt) + 1,
- ui.dim[H] - 1, ui.dim[W] - 1, ui.dim[H] - 1,
- ui.style[DEF_STYLE], path)
- i_draw_text(ui.s, len(prompt) + 1 + len(path),
- ui.dim[H] - 1, ui.dim[W] - 1, ui.dim[H] - 1,
- ui.style[DEF_STYLE].Bold(true), ui.buff.str())
- ui.s.ShowCursor(len(prompt) + 1 + len(path) +
- ui.buff.cursor, ui.dim[H] - 1)
+ if icons == true {
+ spaces += 2
+ }
+ ui.s.ShowCursor(1 + spaces + ui.buff.cursor, 1 + litems.curr.ID - litems.draw.ID)
}
func i_prompt_fuzz(ui HardUI) {
@@ -892,14 +916,16 @@ func i_ui(data_dir string) {
case MKDIR_MODE:
i_prompt_mkdir(data.ui, data.litems.curr)
case INSERT_NAME_MODE:
- i_prompt_insert(data.ui, data.litems.curr)
+ i_prompt_insert(data.ui, data.litems,
+ data.opts.Icon, data.litems.curr)
case INSERT_MODE:
- i_draw_insert_panel(&data.ui, data.insert, data.home_dir)
+ // i_draw_insert_panel(&data.ui, data.insert, data.home_dir)
if data.insert_err != nil {
i_draw_insert_err_msg(data.ui, data.insert_err)
}
case RENAME_MODE:
- i_prompt_insert(data.ui, data.litems.curr)
+ i_prompt_insert(data.ui, data.litems,
+ data.opts.Icon, data.litems.curr)
case HELP_MODE:
i_draw_help(&data.ui)
case FUZZ_MODE: