fix: close project actually destroys dock, editor perf single-pass line attributes

- Set WA_DeleteOnClose on doc docks so all close paths trigger cleanup
- Create fresh empty class when last project closes
- Add splitDockWidget/resizeDocks to project_new() so workspace doesn't eat editor space
- Merge applyMarginText, applyMarkers, applyFoldLevels into single-pass applyLineAttributes
- Cache line texts for heatmap/symbol coloring passes (avoid redundant Scintilla IPC)
- Zero-alloc scroll width scan replaces QString::split
This commit is contained in:
IChooseYou
2026-03-08 08:13:36 -06:00
committed by IChooseYou
parent 596f410b96
commit 43365c1aff
3 changed files with 79 additions and 57 deletions

View File

@@ -3227,6 +3227,13 @@ QDockWidget* MainWindow::project_new(const QString& classKeyword) {
currentCtrl->activeSourceIndex());
}
// Ensure workspace dock is split alongside editor with sensible proportions
if (m_docDocks.size() == 1 && m_workspaceDock) {
splitDockWidget(m_workspaceDock, m_docDocks.first(), Qt::Horizontal);
resizeDocks({m_workspaceDock}, {128}, Qt::Horizontal);
m_workspaceDock->show();
}
rebuildWorkspaceModel();
return dock;
}