Back and Forward walk the panels too, not just the sheets
Opening a Properties or Link view was invisible to the history, so Back from one did two things at once: it took the panel down and stepped to the sheet before the one it was opened over. There was no way back to a picture you had just been reading. A history entry is now a (kind, element) pair naming what the editor pane held -- a sheet, a Properties view, or a Link View -- and restoring one puts that back: a sheet entry selects its tree node, a panel entry re-opens the panel. So opening a panel is a move like opening a sheet. Back from a Properties view lands on whatever came before it and Forward brings the panel back, and following a link out of the Link View now has a way home: Back returns to the picture the link was followed from, and a second Back to the sheet that was open before that. The panel's own Close is deliberately not recorded. It means "leave this view", and recording it would put a sheet entry after the panel's, so Back would re-open the panel that had just been closed. Leaving the position alone means Back steps to what came before the panel and Forward re-opens it, which is what the arrows are for. Both arrows still go through close_editor_panel first, so unsaved Properties edits are asked about exactly as before and a refusal leaves the view and the position where they were. Pruning now has two kinds of entry to check -- a sheet needs a tree node, a panel needs its component still in the document -- and collapses any pair it leaves naming the same view, since a Back that visibly does nothing is worse than a shorter trail. sheet_history and its functions are renamed for what they now hold. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -8,7 +8,7 @@ so later rebinding would only ever be seen by the module that did it.
|
||||
import configparser
|
||||
import os
|
||||
|
||||
VERSION = "0.0.0.056"
|
||||
VERSION = "0.0.0.057"
|
||||
PROPERTIES_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "editor.properties")
|
||||
DEFAULT_GRID_SIZE = 10
|
||||
DEFAULT_ADD_TIMESTAMP = True
|
||||
|
||||
Reference in New Issue
Block a user