feat(gui): Add branch discussion action to history entries
This commit is contained in:
@@ -2191,8 +2191,22 @@ class AppController:
|
|||||||
discussions[name] = project_manager.default_discussion()
|
discussions[name] = project_manager.default_discussion()
|
||||||
self._switch_discussion(name)
|
self._switch_discussion(name)
|
||||||
|
|
||||||
def _rename_discussion(self, old_name: str, new_name: str) -> None:
|
def _branch_discussion(self, index: int) -> None:
|
||||||
|
self._flush_disc_entries_to_project()
|
||||||
|
# Generate a unique branch name
|
||||||
|
base_name = f"{self.active_discussion}_take"
|
||||||
|
counter = 1
|
||||||
|
new_name = f"{base_name}_{counter}"
|
||||||
disc_sec = self.project.get("discussion", {})
|
disc_sec = self.project.get("discussion", {})
|
||||||
|
discussions = disc_sec.get("discussions", {})
|
||||||
|
while new_name in discussions:
|
||||||
|
counter += 1
|
||||||
|
new_name = f"{base_name}_{counter}"
|
||||||
|
|
||||||
|
project_manager.branch_discussion(self.project, self.active_discussion, new_name, index)
|
||||||
|
self._switch_discussion(new_name)
|
||||||
|
|
||||||
|
def _rename_discussion(self, old_name: str, new_name: str) -> None: disc_sec = self.project.get("discussion", {})
|
||||||
discussions = disc_sec.get("discussions", {})
|
discussions = disc_sec.get("discussions", {})
|
||||||
if old_name not in discussions:
|
if old_name not in discussions:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2479,6 +2479,8 @@ def hello():
|
|||||||
imgui.pop_id()
|
imgui.pop_id()
|
||||||
break # Break from inner loop, clipper will re-step
|
break # Break from inner loop, clipper will re-step
|
||||||
imgui.same_line()
|
imgui.same_line()
|
||||||
|
if imgui.button("Branch"):
|
||||||
|
self._branch_discussion(i) imgui.same_line()
|
||||||
preview = entry["content"].replace("\\n", " ")[:60]
|
preview = entry["content"].replace("\\n", " ")[:60]
|
||||||
if len(entry["content"]) > 60: preview += "..."
|
if len(entry["content"]) > 60: preview += "..."
|
||||||
if not preview.strip() and entry.get("thinking_segments"):
|
if not preview.strip() and entry.get("thinking_segments"):
|
||||||
|
|||||||
Reference in New Issue
Block a user