From 2826ad53d871789b483dcee6aa7acaaafba8fd7c Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 17 Mar 2026 23:15:39 -0400 Subject: [PATCH] feat(gui): Update all text viewer usages to specify types and support markdown preview for presets --- src/gui_2.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/gui_2.py b/src/gui_2.py index b64aa56..1d01b36 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -300,6 +300,7 @@ class App: imgui.same_line() if imgui.button("[+]##" + label + id_suffix): self.show_text_viewer = True + self.text_viewer_type = 'markdown' if label in ('message', 'text', 'content', 'system') else 'json' if label in ('tool_calls', 'data') else 'powershell' if label == 'script' else 'text' self.text_viewer_title = label self.text_viewer_content = content @@ -1174,16 +1175,14 @@ class App: imgui.separator() imgui.text("Prompt Content:") imgui.same_line() - if imgui.button("MD Preview" if not self._prompt_md_preview else "Edit Mode"): - self._prompt_md_preview = not self._prompt_md_preview + if imgui.button("Pop out MD Preview"): + self.text_viewer_title = f"Preset: {self._editing_preset_name}" + self.text_viewer_content = self._editing_preset_system_prompt + self.text_viewer_type = "markdown" + self.show_text_viewer = True rem_y = imgui.get_content_region_avail().y - if self._prompt_md_preview: - if imgui.begin_child("prompt_preview", imgui.ImVec2(-1, rem_y), True): - markdown_helper.render(self._editing_preset_system_prompt, context_id="prompt_preset_preview") - imgui.end_child() - else: - _, self._editing_preset_system_prompt = imgui.input_text_multiline("##pcont", self._editing_preset_system_prompt, imgui.ImVec2(-1, rem_y)) + _, self._editing_preset_system_prompt = imgui.input_text_multiline("##pcont", self._editing_preset_system_prompt, imgui.ImVec2(-1, rem_y)) imgui.end_child() # Footer Buttons @@ -2364,6 +2363,7 @@ def hello(): if res: self.text_viewer_title = path self.text_viewer_content = res + self.text_viewer_type = Path(path).suffix.lstrip('.') if Path(path).suffix else 'text' self.show_text_viewer = True if code_block: if is_nerv: imgui.push_style_color(imgui.Col_.text, vec4(80, 255, 80)) @@ -3057,7 +3057,7 @@ def hello(): script = entry.get("script", "") res = entry.get("result", "") # Use a clear, formatted combined view for the detail window - combined = f"COMMAND:\n{script}\n\n{'='*40}\nOUTPUT:\n{res}" + combined = f"**COMMAND:**\n```powershell\n{script}\n```\n\n---\n**OUTPUT:**\n```text\n{res}\n```" script_preview = script.replace("\n", " ")[:150] if len(script) > 150: script_preview += "..." @@ -3065,6 +3065,7 @@ def hello(): if imgui.is_item_clicked(): self.text_viewer_title = f"Tool Call #{i+1} Details" self.text_viewer_content = combined + self.text_viewer_type = 'markdown' self.show_text_viewer = True imgui.table_next_column() @@ -3074,6 +3075,7 @@ def hello(): if imgui.is_item_clicked(): self.text_viewer_title = f"Tool Call #{i+1} Details" self.text_viewer_content = combined + self.text_viewer_type = 'markdown' self.show_text_viewer = True imgui.end_table()