mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-12 05:14:10 +02:00
Fixed file moving issues, multi-select issues
This commit is contained in:
parent
5dfb4a8f2e
commit
0543dfec65
2 changed files with 94 additions and 67 deletions
|
@ -280,6 +280,14 @@ namespace IDE
|
|||
if ((wasWatching) && (changePath))
|
||||
StartWatching();
|
||||
}
|
||||
|
||||
public void RecalcPath()
|
||||
{
|
||||
mPath.Clear();
|
||||
mPath.Append(mParentFolder.mPath);
|
||||
mPath.Append(Path.DirectorySeparatorChar);
|
||||
mPath.Append(mName);
|
||||
}
|
||||
}
|
||||
|
||||
public class ProjectSource : ProjectFileItem
|
||||
|
|
|
@ -321,12 +321,15 @@ namespace IDE.ui
|
|||
var destPath = targetProjectFolder.GetFullImportPath(.. scope .());
|
||||
destPath.AppendF($"{Path.DirectorySeparatorChar}{sourceProjectFileItem.mName}");
|
||||
|
||||
if (!targetProjectFolder.mChildMap.TryAdd(sourceProjectFileItem.mName, sourceProjectFileItem))
|
||||
{
|
||||
fileErrors.Add(scope:: .(destPath));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (File.Move(sourcePath, destPath) case .Ok)
|
||||
{
|
||||
gApp.FileRenamed(sourceProjectFileItem, sourcePath, destPath);
|
||||
}
|
||||
else
|
||||
fileErrors.Add(scope:: .(destPath));
|
||||
|
||||
if (targetProjectFolder != sourceProjectItem.mParentFolder)
|
||||
{
|
||||
|
@ -336,6 +339,15 @@ namespace IDE.ui
|
|||
targetListItem.AddChildAtIndex(0, source);
|
||||
targetListItem.mOpenButton.Open(true, false);
|
||||
targetProjectFolder.AddChildAtIndex(0, sourceProjectItem);
|
||||
|
||||
sourceProjectFileItem.RecalcPath();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetProjectFolder.mChildMap.Remove(sourceProjectFileItem.mName);
|
||||
fileErrors.Add(scope:: .(destPath));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2309,8 +2321,7 @@ namespace IDE.ui
|
|||
item = menu.AddItem("Ignore");
|
||||
item.mOnMenuItemSelected.Add(new (item) =>
|
||||
{
|
||||
var selectedItem = GetSelectedItem();
|
||||
if (selectedItem != null)
|
||||
mListView.GetRoot().WithSelectedItems(scope (selectedItem) =>
|
||||
{
|
||||
ProjectItem projectItem;
|
||||
mListViewToProjectMap.TryGetValue(selectedItem, out projectItem);
|
||||
|
@ -2320,7 +2331,7 @@ namespace IDE.ui
|
|||
projectItem.mIncludeKind = .Ignore;
|
||||
projectItem.mProject.SetChanged();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
else if (projectItem.mIncludeKind == .Manual)
|
||||
|
@ -2338,8 +2349,11 @@ namespace IDE.ui
|
|||
item = menu.AddItem("Unignore");
|
||||
item.mOnMenuItemSelected.Add(new (item) =>
|
||||
{
|
||||
var projectItem = GetSelectedProjectItem();
|
||||
if ((projectItem != null) && (projectItem.mIncludeKind == .Ignore))
|
||||
mListView.GetRoot().WithSelectedItems(scope (selectedItem) =>
|
||||
{
|
||||
ProjectItem projectItem;
|
||||
mListViewToProjectMap.TryGetValue(selectedItem, out projectItem);
|
||||
if (projectItem.mIncludeKind == .Ignore)
|
||||
{
|
||||
if (projectItem.mParentFolder.IsIgnored())
|
||||
projectItem.mIncludeKind = .Auto;
|
||||
|
@ -2347,6 +2361,7 @@ namespace IDE.ui
|
|||
Unignore(projectItem);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (let projectFolder = projectItem as ProjectFolder)
|
||||
|
@ -2360,7 +2375,10 @@ namespace IDE.ui
|
|||
|
||||
item.mOnMenuItemSelected.Add(new (item) =>
|
||||
{
|
||||
let projectItem = GetSelectedProjectItem();
|
||||
mListView.GetRoot().WithSelectedItems(scope (selectedItem) =>
|
||||
{
|
||||
ProjectItem projectItem;
|
||||
mListViewToProjectMap.TryGetValue(selectedItem, out projectItem);
|
||||
if (let projectFolder = projectItem as ProjectFolder)
|
||||
{
|
||||
projectFolder.mProject.SetChanged();
|
||||
|
@ -2409,6 +2427,7 @@ namespace IDE.ui
|
|||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue