Преглед изворни кода

Fixed deleting of active config

Brian Fiete пре 3 година
родитељ
комит
1c7b7df25f
1 измењених фајлова са 20 додато и 5 уклоњено
  1. 20 5
      IDE/src/ui/TargetedPropertiesDialog.bf

+ 20 - 5
IDE/src/ui/TargetedPropertiesDialog.bf

@@ -384,6 +384,8 @@ namespace IDE.ui
 
 
 		protected void ConfigDeleted(String configName)
 		protected void ConfigDeleted(String configName)
 		{
 		{
+			int32 category = mPropPage.mCategoryType;
+
 			bool currentChanged = false;
 			bool currentChanged = false;
 			int idx = mConfigNames.IndexOf(configName);
 			int idx = mConfigNames.IndexOf(configName);
 			if (idx != -1)
 			if (idx != -1)
@@ -422,7 +424,17 @@ namespace IDE.ui
 			}
 			}
 
 
 			if (currentChanged)
 			if (currentChanged)
-				SelectConfig(mConfigNames);
+			{
+				mPropPage = null;
+				SelectConfig(mConfigNames, category);
+			}
+
+			if ((mActiveConfigName == configName) && (!mConfigNames.IsEmpty))
+			{
+				var newConfigName = mConfigNames[0];
+				gApp.mMainFrame.mStatusBar.SelectConfig(newConfigName);
+				mActiveConfigName.Set(newConfigName);
+			}
 		}
 		}
 
 
 		protected void ConfigRenamed(String from, String to)
 		protected void ConfigRenamed(String from, String to)
@@ -761,7 +773,7 @@ namespace IDE.ui
 				ShowPropPage(categoryType);
 				ShowPropPage(categoryType);
 		}
 		}
 
 
-		protected void SelectConfig(List<String> configNames)
+		protected void SelectConfig(List<String> configNames, int32 category = -1)
 		{
 		{
 			if (configNames != mConfigNames)
 			if (configNames != mConfigNames)
 			{
 			{
@@ -770,7 +782,7 @@ namespace IDE.ui
 					mConfigNames.Add(configName);
 					mConfigNames.Add(configName);
 			}
 			}
 			if (mConfigNames.Count == 1)
 			if (mConfigNames.Count == 1)
-				SelectConfig(mConfigNames[0]);
+				SelectConfig(mConfigNames[0], category);
 			else
 			else
 			{
 			{
 				mConfigComboBox.Label = "<Multiple>";
 				mConfigComboBox.Label = "<Multiple>";
@@ -795,13 +807,16 @@ namespace IDE.ui
 			}
 			}
 		}
 		}
 
 
-        protected void SelectConfig(String configName)
+        protected void SelectConfig(String configName, int32 category = -1)
         {
         {
+			var category;
+			if (category == -1)
+				category = mPropPage.mCategoryType;
 			var newConfigName = new String(configName);
 			var newConfigName = new String(configName);
 			ClearAndDeleteItems(mConfigNames);
 			ClearAndDeleteItems(mConfigNames);
             mConfigNames.Add(newConfigName);
             mConfigNames.Add(newConfigName);
             mConfigComboBox.Label = newConfigName;
             mConfigComboBox.Label = newConfigName;
-            ShowPropPage(mPropPage.mCategoryType);
+            ShowPropPage(category);
         }
         }
 
 
         protected void SelectPlatform(String platformName, int32 category = -1)
         protected void SelectPlatform(String platformName, int32 category = -1)