Moved widget titles to variables and added icons.

This commit is contained in:
Jakob Friedl
2025-10-09 13:01:51 +02:00
parent 4e0eae77b8
commit 3259040daa
3 changed files with 21 additions and 16 deletions

View File

@@ -7,8 +7,6 @@ import ./views/modals/generatePayload
import ../common/[types, utils, crypto] import ../common/[types, utils, crypto]
import ./core/websocket import ./core/websocket
import sugar
proc main(ip: string = "localhost", port: int = 37573) = proc main(ip: string = "localhost", port: int = 37573) =
var app = createApp(1024, 800, imnodes = true, title = "Conquest", docking = true) var app = createApp(1024, 800, imnodes = true, title = "Conquest", docking = true)
defer: app.destroyApp() defer: app.destroyApp()
@@ -39,12 +37,11 @@ proc main(ip: string = "localhost", port: int = 37573) =
# Create components # Create components
var var
dockspace = Dockspace() dockspace = Dockspace()
sessionsTable = SessionsTable("Sessions [Table View]", addr consoles) sessionsTable = SessionsTable(WIDGET_SESSIONS, addr consoles)
listenersTable = ListenersTable("Listeners") listenersTable = ListenersTable(WIDGET_LISTENERS)
eventlog = Eventlog("Eventlog") eventlog = Eventlog(WIDGET_EVENTLOG)
lootDownloads = LootDownloads("Downloads") lootDownloads = LootDownloads(WIDGET_DOWNLOADS)
lootScreenshots = LootScreenshots("Screenshots") lootScreenshots = LootScreenshots(WIDGET_SCREENSHOTS)
let io = igGetIO() let io = igGetIO()
@@ -104,7 +101,7 @@ proc main(ip: string = "localhost", port: int = 37573) =
# The only case that is not covered is when the listeners table is hidden and the bottom panel was split # The only case that is not covered is when the listeners table is hidden and the bottom panel was split
var agentConsole = Console(agent) var agentConsole = Console(agent)
consoles[agent.agentId] = agentConsole consoles[agent.agentId] = agentConsole
let listenersWindow = igFindWindowByName("Listeners") let listenersWindow = igFindWindowByName(WIDGET_LISTENERS)
if listenersWindow != nil and listenersWindow.DockNode != nil: if listenersWindow != nil and listenersWindow.DockNode != nil:
igSetNextWindowDockID(listenersWindow.DockNode.ID, ImGuiCond_FirstUseEver.int32) igSetNextWindowDockID(listenersWindow.DockNode.ID, ImGuiCond_FirstUseEver.int32)
else: else:

View File

@@ -1 +1,9 @@
import ../utils/fonticon/IconsFontAwesome6
const CONQUEST_ROOT* {.strdefine.} = "" const CONQUEST_ROOT* {.strdefine.} = ""
const WIDGET_SESSIONS* = " " & ICON_FA_LIST & " " & "Sessions [Table View]"
const WIDGET_LISTENERS* = " " & ICON_FA_HEADPHONES & " " & "Listeners"
const WIDGET_EVENTLOG* = "Eventlog"
const WIDGET_DOWNLOADS* = " " & ICON_FA_DOWNLOAD & " " & "Downloads"
const WIDGET_SCREENSHOTS* = " " & ICON_FA_IMAGE & " " & "Screenshots"

View File

@@ -1,6 +1,6 @@
import tables, strutils import tables, strutils
import imguin/[cimgui, glfw_opengl, simple] import imguin/[cimgui, glfw_opengl, simple]
import ../utils/appImGui import ../utils/[appImGui, globals]
type type
DockspaceComponent* = ref object of RootObj DockspaceComponent* = ref object of RootObj
@@ -53,11 +53,11 @@ proc draw*(component: DockspaceComponent, showComponent: ptr bool, views: Table[
discard igDockBuilderSplitNode(dockspaceId, ImGuiDir_Down, 5.0f, dockBottom, dockTop) discard igDockBuilderSplitNode(dockspaceId, ImGuiDir_Down, 5.0f, dockBottom, dockTop)
discard igDockBuilderSplitNode(dockTop[], ImGuiDir_Right, 0.5f, dockTopRight, dockTopLeft) discard igDockBuilderSplitNode(dockTop[], ImGuiDir_Right, 0.5f, dockTopRight, dockTopLeft)
igDockBuilderDockWindow("Sessions [Table View]", dockTopLeft[]) igDockBuilderDockWindow(WIDGET_SESSIONS, dockTopLeft[])
igDockBuilderDockWindow("Listeners", dockBottom[]) igDockBuilderDockWindow(WIDGET_LISTENERS, dockBottom[])
igDockBuilderDockWindow("Eventlog", dockTopRight[]) igDockBuilderDockWindow(WIDGET_EVENTLOG, dockTopRight[])
igDockBuilderDockWindow("Downloads", dockBottom[]) igDockBuilderDockWindow(WIDGET_DOWNLOADS, dockBottom[])
igDockBuilderDockWindow("Screenshots", dockBottom[]) igDockBuilderDockWindow(WIDGET_SCREENSHOTS, dockBottom[])
igDockBuilderDockWindow("Dear ImGui Demo", dockTopRight[]) igDockBuilderDockWindow("Dear ImGui Demo", dockTopRight[])
igDockBuilderFinish(dockspaceId) igDockBuilderFinish(dockspaceId)