move rag status indictor to usage analytics window/panel

This commit is contained in:
2026-05-14 21:21:15 -04:00
parent f2c265ec69
commit 08125ac63a
+20 -16
View File
@@ -894,6 +894,7 @@ class App:
""" """
[C: tests/test_gui_window_controls.py:test_gui_window_controls_minimize_maximize_close] [C: tests/test_gui_window_controls.py:test_gui_window_controls_minimize_maximize_close]
""" """
with imscope.menu("manual slop") as (active): with imscope.menu("manual slop") as (active):
if active and imgui.menu_item("Quit", "Ctrl+Q", False)[0]: if active and imgui.menu_item("Quit", "Ctrl+Q", False)[0]:
self.runner_params.app_shall_exit = True self.runner_params.app_shall_exit = True
@@ -938,19 +939,7 @@ class App:
for profile_id, profile in self.workspace_profiles.items(): for profile_id, profile in self.workspace_profiles.items():
if imgui.menu_item(profile.name, "", False)[0]: if imgui.menu_item(profile.name, "", False)[0]:
self.controller._cb_delete_workspace_profile(profile_id, self._new_workspace_profile_scope) self.controller._cb_delete_workspace_profile(profile_id, self._new_workspace_profile_scope)
# RAG status indicator
if self.controller.rag_config and self.controller.rag_config.enabled:
imgui.same_line()
status = self.controller.rag_status
if status == "indexing...": color = vec4(100, 255, 100)
elif status == "error": color = vec4(255, 100, 100)
else: color = vec4(180, 180, 180)
imgui.text_colored(color, f"[RAG: {status}]")
if imgui.is_item_hovered(): imgui.set_tooltip(f"RAG is enabled. Status: {status}. Click to rebuild index.")
if imgui.is_item_clicked(): self.controller.event_queue.put('click', 'btn_rebuild_rag_index')
# Draw right-aligned window controls directly in the menu bar (Win32 only) # Draw right-aligned window controls directly in the menu bar (Win32 only)
if sys.platform == "win32": if sys.platform == "win32":
try: try:
@@ -961,7 +950,7 @@ class App:
hwnd = ctypes.pythonapi.PyCapsule_GetPointer(hwnd_capsule, b"nb_handle") hwnd = ctypes.pythonapi.PyCapsule_GetPointer(hwnd_capsule, b"nb_handle")
except Exception: except Exception:
hwnd = 0 hwnd = 0
if hwnd: if hwnd:
btn_w = 40 btn_w = 40
# Use window width (points) instead of display_size (pixels) for correct scaling # Use window width (points) instead of display_size (pixels) for correct scaling
@@ -1002,9 +991,10 @@ class App:
if imgui.button("X", (btn_w, bar_h)): if imgui.button("X", (btn_w, bar_h)):
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0) win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
imgui.pop_style_color() imgui.pop_style_color()
imgui.pop_style_color() imgui.pop_style_color()
def _render_history_window(self) -> None: def _render_history_window(self) -> None:
if not self.show_windows.get('Undo/Redo History', False): if not self.show_windows.get('Undo/Redo History', False):
return return
@@ -1167,7 +1157,7 @@ class App:
self._flush_to_config() self._flush_to_config()
models.save_config(self.config) models.save_config(self.config)
imgui.end() imgui.end()
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_theme_panel") if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_theme_panel")
def _render_shader_live_editor(self) -> None: def _render_shader_live_editor(self) -> None:
@@ -1193,6 +1183,20 @@ class App:
self._render_tool_analytics_panel() self._render_tool_analytics_panel()
imgui.separator() imgui.separator()
self._render_session_insights_panel() self._render_session_insights_panel()
imgui.separator()
# RAG status indicator
if self.controller.rag_config and self.controller.rag_config.enabled:
# imgui.same_line()
status = self.controller.rag_status
if status == "indexing...": color = vec4(100, 255, 100)
elif status == "error": color = vec4(255, 100, 100)
else: color = vec4(180, 180, 180)
imgui.text_colored(color, f"[RAG: {status}]")
if imgui.is_item_hovered(): imgui.set_tooltip(f"RAG is enabled. Status: {status}. Click to rebuild index.")
if imgui.is_item_clicked(): self.controller.event_queue.put('click', 'btn_rebuild_rag_index')
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_usage_analytics_panel") if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_usage_analytics_panel")
def _render_cache_panel(self) -> None: def _render_cache_panel(self) -> None: