new_editor: retire xcui editor lib and narrow project reconcile

This commit is contained in:
2026-04-22 22:50:56 +08:00
parent 3048c7cc90
commit 39b083f7f7
8 changed files with 337 additions and 653 deletions

View File

@@ -582,9 +582,7 @@ void ProjectBrowserModel::Initialize(const std::filesystem::path& repoRoot) {
void ProjectBrowserModel::Refresh() {
TraceProjectBrowser("ProjectBrowserModel::Refresh begin");
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
TraceProjectBrowser(
"ProjectBrowserModel::Refresh end currentFolder=" +
m_currentFolderId +
@@ -594,6 +592,12 @@ void ProjectBrowserModel::Refresh() {
std::to_string(m_assetEntries.size()));
}
void ProjectBrowserModel::RefreshBrowserState() {
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
}
bool ProjectBrowserModel::Empty() const {
return m_treeItems.empty();
}
@@ -701,9 +705,7 @@ bool ProjectBrowserModel::CreateFolder(
return false;
}
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
if (createdFolderId != nullptr) {
*createdFolderId = BuildRelativeItemId(newFolderPath, m_assetsRootPath);
}
@@ -768,9 +770,7 @@ bool ProjectBrowserModel::CreateMaterial(
return false;
}
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
if (createdItemId != nullptr) {
*createdItemId = BuildRelativeItemId(materialPath, m_assetsRootPath);
}
@@ -828,9 +828,7 @@ bool ProjectBrowserModel::RenameItem(
itemId,
destinationItemId);
}
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
if (renamedItemId != nullptr) {
*renamedItemId = destinationItemId;
}
@@ -864,9 +862,7 @@ bool ProjectBrowserModel::DeleteItem(std::string_view itemId) {
std::filesystem::remove_all(sourcePath.value());
RemoveMetaSidecarIfPresent(sourcePath.value());
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
return true;
} catch (...) {
return false;
@@ -958,9 +954,7 @@ bool ProjectBrowserModel::MoveItemToFolder(
itemId,
destinationItemId);
}
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
if (movedItemId != nullptr) {
*movedItemId = destinationItemId;
}
@@ -1062,9 +1056,7 @@ bool ProjectBrowserModel::ReparentFolder(
m_currentFolderId,
sourceFolderId,
destinationFolderId);
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
if (movedFolderId != nullptr) {
*movedFolderId = destinationFolderId;
@@ -1126,9 +1118,7 @@ bool ProjectBrowserModel::MoveFolderToRoot(
m_currentFolderId,
sourceFolderId,
destinationFolderId);
RefreshFolderTree();
EnsureValidCurrentFolder();
RefreshAssetList();
RefreshBrowserState();
if (movedFolderId != nullptr) {
*movedFolderId = destinationFolderId;