mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Fixed manually added files with same name as auto files in IDE
This commit is contained in:
parent
d59f79ef79
commit
480f909cec
3 changed files with 28 additions and 12 deletions
|
@ -37,6 +37,14 @@ namespace IDE
|
|||
public String mName = new String() ~ delete _;
|
||||
public String mComment = new String() ~ delete _;
|
||||
|
||||
public bool IncludeInMap
|
||||
{
|
||||
get
|
||||
{
|
||||
return mIncludeKind != .Manual;
|
||||
}
|
||||
}
|
||||
|
||||
public ~this()
|
||||
{
|
||||
Debug.Assert(mRefCount == 0);
|
||||
|
@ -236,9 +244,12 @@ namespace IDE
|
|||
|
||||
bool didNameMatch = mName == fileName;
|
||||
|
||||
mParentFolder.mChildMap.Remove(mName);
|
||||
mName.Set(newName);
|
||||
mParentFolder.mChildMap.Add(mName, this);
|
||||
if (IncludeInMap)
|
||||
{
|
||||
mParentFolder.mChildMap.Remove(mName);
|
||||
mName.Set(newName);
|
||||
mParentFolder.mChildMap.Add(mName, this);
|
||||
}
|
||||
|
||||
if ((didNameMatch) && (changePath))
|
||||
{
|
||||
|
@ -480,8 +491,12 @@ namespace IDE
|
|||
}
|
||||
|
||||
mChildItems.Insert(index, item);
|
||||
bool added = mChildMap.TryAdd(item.mName, item);
|
||||
Debug.Assert(added);
|
||||
|
||||
if (item.IncludeInMap)
|
||||
{
|
||||
bool added = mChildMap.TryAdd(item.mName, item);
|
||||
Debug.Assert(added);
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void InsertChild(ProjectItem item, ProjectItem insertBefore)
|
||||
|
@ -505,7 +520,8 @@ namespace IDE
|
|||
projectFileItem.StopWatching();
|
||||
}
|
||||
|
||||
mChildMap.Remove(item.mName);
|
||||
if (item.IncludeInMap)
|
||||
mChildMap.Remove(item.mName);
|
||||
mChildItems.Remove(item);
|
||||
item.mParentFolder = null;
|
||||
}
|
||||
|
|
|
@ -1103,7 +1103,7 @@ namespace IDE.ui
|
|||
app.RemoveProject(project);
|
||||
}
|
||||
|
||||
void ProjectItemUnregister(ProjectItem projectItem, bool isDeleting)
|
||||
void ProjectItemUnregister(ProjectItem projectItem, bool isRemovingProjectSource)
|
||||
{
|
||||
var projectSource = projectItem as ProjectSource;
|
||||
if (projectSource != null)
|
||||
|
@ -1136,7 +1136,7 @@ namespace IDE.ui
|
|||
var sourceViewPanel = tab.mContent as SourceViewPanel;
|
||||
if ((sourceViewPanel != null) && (sourceViewPanel.mProjectSource == projectSource))
|
||||
{
|
||||
if (isDeleting)
|
||||
if (isRemovingProjectSource)
|
||||
sourceViewPanel.DetachFromProjectItem();
|
||||
else
|
||||
sourceViewPanel.QueueFullRefresh(true);
|
||||
|
@ -1145,7 +1145,7 @@ namespace IDE.ui
|
|||
|
||||
if (isProjectEnabled)
|
||||
{
|
||||
if (isDeleting)
|
||||
if (isRemovingProjectSource)
|
||||
{
|
||||
gApp.mBfResolveHelper.ProjectSourceRemoved(projectSource);
|
||||
gApp.mWorkspace.ProjectSourceRemoved(projectSource);
|
||||
|
@ -1198,8 +1198,6 @@ namespace IDE.ui
|
|||
if (projectItem == null)
|
||||
return;
|
||||
|
||||
ProjectItemUnregister(projectItem, forceRemove);
|
||||
|
||||
bool doReleaseRef = false;
|
||||
bool didRemove = false;
|
||||
if ((forceRemove) || (projectItem.mParentFolder == null) || (projectItem.mParentFolder.mIncludeKind == .Manual) || (projectItem.mIncludeKind == .Manual) || (deletePathFunc != null))
|
||||
|
@ -1252,6 +1250,8 @@ namespace IDE.ui
|
|||
}
|
||||
}
|
||||
|
||||
ProjectItemUnregister(projectItem, didRemove);
|
||||
|
||||
if ((didRemove) || (!mShowIgnored))
|
||||
{
|
||||
listItem.mParentItem.RemoveChildItem(listItem);
|
||||
|
|
|
@ -297,7 +297,7 @@ namespace IDE.ui
|
|||
{
|
||||
scope AutoBeefPerf("ExpressionEditWidget.UpdateText");
|
||||
|
||||
if (keyChar == 0)
|
||||
if ((keyChar == 0) && (doAutoComplete))
|
||||
return; // Is documentation pass
|
||||
|
||||
DeleteAndNullify!(mLastError);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue