aboutsummaryrefslogtreecommitdiffstats
path: root/i_info.go
diff options
context:
space:
mode:
Diffstat (limited to 'i_info.go')
-rw-r--r--i_info.go343
1 files changed, 0 insertions, 343 deletions
diff --git a/i_info.go b/i_info.go
deleted file mode 100644
index 271f1d0..0000000
--- a/i_info.go
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * ========================
- * ===== ===============
- * ====== ================
- * ====== ================
- * ====== ==== ==== ==
- * ====== === == = =
- * ====== === = == =
- * = === === = == ====
- * = === === = == = =
- * == ===== ==== ==
- * ========================
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 2023-2024, Joe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the organization nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * hardflip: src/i_info.go
- * Fri Jan 19 18:44:13 2024
- * Joe
- *
- * interfacing informations about items
- */
-
-package main
-
-import (
- "strconv"
-
- "github.com/gdamore/tcell/v2"
-)
-
-func i_info_panel_dirs(ui HardUI, dir *DirsNode) {
- line := 2
- if line > ui.dim[H] - 3 {
- return
- }
-
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Name: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, dir.Name)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Type: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, "Directory")
- if line += 2; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Path: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, dir.path())
-}
-
-func i_info_panel_host(ui HardUI, host *HostNode) {
- host_type := host.protocol_str()
- line := 2
- if line > ui.dim[H] - 3 {
- return
- }
- // name, type
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Name: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, host.Name)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Type: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, host_type)
- if line += 2; line > ui.dim[H] - 3 {
- return
- }
- if line > ui.dim[H] - 3 {
- return
- }
- // host, port
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Host: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, host.Host)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Port: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, strconv.Itoa(int(host.Port)))
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- // RDP shit
- if host.Protocol == 1 {
- if len(host.Domain) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Domain: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 11, line, ui.dim[W] - 2, line,
- ui.def_style, host.Domain)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- }
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- // user infos
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "User: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, host.User)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- if len(host.Pass) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Pass: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, "***")
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- if host.Protocol == 0 && len(host.Priv) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Privkey: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 12, line, ui.dim[W] - 2, line,
- ui.def_style, host.Priv)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- // jump
- if host.Protocol == 0 && len(host.Jump) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Jump settings: ")
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 4, line, ui.dim[W] - 2, line,
- ui.title_style, "Host: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 10, line, ui.dim[W] - 2, line,
- ui.def_style, host.Jump)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 4, line, ui.dim[W] - 2, line,
- ui.title_style, "Port: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 10, line, ui.dim[W] - 2, line,
- ui.def_style, strconv.Itoa(int(host.JumpPort)))
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 4, line, ui.dim[W] - 2, line,
- ui.title_style, "User: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 10, line, ui.dim[W] - 2, line,
- ui.def_style, host.JumpUser)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- if len(host.JumpPass) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 4, line, ui.dim[W] - 2, line,
- ui.title_style, "Pass: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 10, line, ui.dim[W] - 2, line,
- ui.def_style, "***")
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- if host.Protocol == 0 && len(host.JumpPriv) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 4, line, ui.dim[W] - 2, line,
- ui.title_style, "Privkey: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 13, line, ui.dim[W] - 2, line,
- ui.def_style, host.JumpPriv)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- // RDP shit
- if host.Protocol == 1 {
- qual := [3]string{"Low", "Medium", "High"}
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Screen size: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 16, line, ui.dim[W] - 2, line,
- ui.def_style,
- strconv.Itoa(int(host.Width)) + "x" +
- strconv.Itoa(int(host.Height)))
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Dynamic window: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 19, line, ui.dim[W] - 2, line,
- ui.def_style, strconv.FormatBool(host.Dynamic))
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Quality: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 12, line, ui.dim[W] - 2, line,
- ui.def_style, qual[host.Quality])
- line += 1
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
- // note
- if len(host.Note) > 0 {
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 3, line, ui.dim[W] - 2, line,
- ui.title_style, "Note: ")
- i_draw_text(ui.s,
- (ui.dim[W] / 3) + 9, line, ui.dim[W] - 2, line,
- ui.def_style, host.Note)
- if line += 1; line > ui.dim[H] - 3 {
- return
- }
- }
-}
-
-func i_draw_info_panel(ui HardUI, percent bool, litems *ItemsList) {
- i_draw_box(ui.s, (ui.dim[W] / 3), 0,
- ui.dim[W] - 1, ui.dim[H] - 2,
- " Infos ", false)
- ui.s.SetContent(ui.dim[W] / 3, 0, tcell.RuneTTee, nil, ui.def_style)
- ui.s.SetContent(ui.dim[W] / 3, ui.dim[H] - 2,
- tcell.RuneBTee, nil, ui.def_style)
- if litems == nil {
- return
- }
- // number display
- if litems.head != nil {
- text := " " + strconv.Itoa(litems.curr.ID) + " of " +
- strconv.Itoa(int(litems.last.ID)) + " "
- if percent == true {
- text += "- " +
- strconv.Itoa(litems.curr.ID * 100 / litems.last.ID) + "% "
- }
- i_draw_text(ui.s,
- (ui.dim[W] - 1) - len(text) - 1,
- ui.dim[H] - 2,
- (ui.dim[W] - 1) - 1,
- ui.dim[H] - 2,
- ui.def_style,
- text)
- } else {
- text := " 0 hosts "
- i_draw_text(ui.s,
- (ui.dim[W] - 1) - len(text) - 1,
- ui.dim[H] - 2,
- (ui.dim[W] - 1) - 1,
- ui.dim[H] - 2,
- ui.def_style,
- text)
- }
- // panel
- if litems.head == nil {
- return
- } else if litems.curr.is_dir() == true {
- i_info_panel_dirs(ui, litems.curr.Dirs)
- } else {
- i_info_panel_host(ui, litems.curr.Host)
- }
-}