ide; (#993) fixed exact same file in two projects but one is excluded prevents single...
authorRejean Loyer <rejean.loyer@gmail.com>
Thu, 29 Aug 2013 20:06:12 +0000 (16:06 -0400)
committerJerome St-Louis <jerome@ecere.com>
Thu, 29 Aug 2013 21:51:05 +0000 (17:51 -0400)
ide/src/designer/CodeEditor.ec
ide/src/ide.ec
ide/src/project/ProjectView.ec

index e0d2509..556b59a 100644 (file)
@@ -790,7 +790,7 @@ class CodeEditor : Window
       ProjectView projectView = ide.projectView;
       if(projectView)
       {
-         ProjectNode node = projectView.GetNodeFromWindow(this, null, false);
+         ProjectNode node = projectView.GetNodeFromWindow(this, null, true, false);
          if(node)
          {
             node.modified = modifiedDocument;
@@ -1393,9 +1393,9 @@ class CodeEditor : Window
          {
             if(ide.projectView)
             {
-               ProjectNode node = ide.projectView.GetNodeFromWindow(this, null, false);
+               ProjectNode node = ide.projectView.GetNodeFromWindow(this, null, true, false);
                if(!node)
-                  node = ide.projectView.GetNodeFromWindow(this, null, true);
+                  node = ide.projectView.GetNodeFromWindow(this, null, true, true);
                if(!node)
                {
                   char * s;
@@ -2132,7 +2132,7 @@ class CodeEditor : Window
          ProjectView projectView = ide.projectView;
          if(projectView)
          {
-            ProjectNode node = projectView.GetNodeFromWindow(this, null, false);
+            ProjectNode node = projectView.GetNodeFromWindow(this, null, false, false);
             if(node && node.modified)
             {
                node.modified = false;
index e1dbe70..5953f6f 100644 (file)
@@ -2904,8 +2904,8 @@ class IDEWorkSpace : Window
             if(projectView && projectView.project)
             {
                bool isCObject = false;
-               ProjectNode node = projectView.GetNodeFromWindow(client, null, false);
-               if(!node && (node = projectView.GetNodeFromWindow(client, null, true)))
+               ProjectNode node = projectView.GetNodeFromWindow(client, null, false, false);
+               if(!node && (node = projectView.GetNodeFromWindow(client, null, false, true)))
                   isCObject = true;
                if(node)
                {
@@ -2927,10 +2927,10 @@ class IDEWorkSpace : Window
                            ProjectNode node = null;
                            for(p : ide.workspace.projects)
                            {
-                              node = projectView.GetNodeFromWindow(activeClient, p, false);
+                              node = projectView.GetNodeFromWindow(activeClient, p, true, false);
                               if(node) break;
                            }
-                           if(!node && (node = projectView.GetNodeFromWindow(activeClient, null, true)))
+                           if(!node && (node = projectView.GetNodeFromWindow(activeClient, null, true, true)))
                               isCObject = true;
                            if(node)
                            {
index 734fc73..f4a6d79 100644 (file)
@@ -578,7 +578,7 @@ class ProjectView : Window
       return project.topNode.Find(moduleName, false) != null;
    }
 
-   ProjectNode GetNodeFromWindow(Window document, Project project, bool isCObject)
+   ProjectNode GetNodeFromWindow(Window document, Project project, bool skipExcluded, bool isCObject)
    {
       if(document.fileName)
       {
@@ -595,7 +595,10 @@ class ProjectView : Window
             {
                prj = project ? project : p;
                if((node = prj.topNode.Find(name, false)))
-                  return node;
+               {
+                  if(!skipExcluded || !node.GetIsExcluded(prj.config))
+                     return node;
+               }
                if(project) break;
             }
          }
@@ -605,7 +608,10 @@ class ProjectView : Window
             {
                prj = project ? project : p;
                if((node = prj.topNode.FindByFullPath(documentFileName, false)))
-                  return node;
+               {
+                  if(!skipExcluded || !node.GetIsExcluded(prj.config))
+                     return node;
+               }
                if(project) break;
             }
          }
@@ -760,7 +766,7 @@ class ProjectView : Window
       {
          if(document.modifiedDocument)
          {
-            ProjectNode node = GetNodeFromWindow(document, prj, false);
+            ProjectNode node = GetNodeFromWindow(document, prj, false, false);
             if(node && !document.MenuFileSave(null, 0))
             {
                result = false;
@@ -852,7 +858,7 @@ class ProjectView : Window
          }
          else
          {
-            ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false);
+            ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false, false);
             if(node)
                prj = node.project;
          }
@@ -882,7 +888,7 @@ class ProjectView : Window
       }
       else
       {
-         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false);
+         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false, false);
          if(node)
             prj = node.project;
       }
@@ -915,7 +921,7 @@ class ProjectView : Window
       }
       else
       {
-         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false);
+         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false, false);
          if(node)
             prj = node.project;
       }
@@ -949,7 +955,7 @@ class ProjectView : Window
       }
       else
       {
-         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false);
+         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false, false);
          if(node)
             prj = node.project;
       }
@@ -1004,7 +1010,7 @@ class ProjectView : Window
       }
       else
       {
-         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false);
+         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false, false);
          if(node) prj = node.project;
       }
       config = prj.config;
@@ -1042,7 +1048,7 @@ class ProjectView : Window
       }
       else
       {
-         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false);
+         ProjectNode node = GetNodeFromWindow(ide.activeClient, null, false, false);
          if(node)
             prj = node.project;
       }
@@ -1067,7 +1073,7 @@ class ProjectView : Window
       {
          if(document.modifiedDocument)
          {
-            ProjectNode n = GetNodeFromWindow(document, project, mode == cObject ? true : false);
+            ProjectNode n = GetNodeFromWindow(document, project, false, mode == cObject ? true : false);
             for(node : nodes)
             {
                if(n && n.IsInNode(node) && !document.MenuFileSave(null, 0))
@@ -1118,7 +1124,7 @@ class ProjectView : Window
       {
          if(document.modifiedDocument)
          {
-            ProjectNode n = GetNodeFromWindow(document, project, false);
+            ProjectNode n = GetNodeFromWindow(document, project, false, false);
             for(node : nodes)
             {
                if(n && n.IsInNode(node) && !document.MenuFileSave(null, 0))