- Timestamp:
- 03/22/10 16:53:27 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.PluginAdministrator/3.3/PluginEditor.cs
r3081 r3179 133 133 134 134 foreach (var plugin in IteratePlugins(selectedPlugins)) { 135 SetMainFormStatusBar("Uploading", plugin); 135 136 adminClient.DeployPlugin(MakePluginDescription(plugin), CreateZipPackage(plugin)); 136 137 } … … 144 145 } 145 146 } 147 146 148 #endregion 147 149 … … 187 189 var plugin = (IPluginDescription)item.Tag; 188 190 // also check all dependencies 189 modifiedPlugins.Add(plugin); 191 if (!modifiedPlugins.Contains(plugin)) 192 modifiedPlugins.Add(plugin); 190 193 foreach (var dep in GetAllDependencies(plugin)) { 191 modifiedPlugins.Add(dep); 194 if (!modifiedPlugins.Contains(dep)) 195 modifiedPlugins.Add(dep); 192 196 } 193 197 } … … 197 201 var plugin = (IPluginDescription)item.Tag; 198 202 // also uncheck all dependent plugins 199 modifiedPlugins.Add(plugin); 203 if (!modifiedPlugins.Contains(plugin)) 204 modifiedPlugins.Add(plugin); 200 205 foreach (var dep in GetAllDependents(plugin)) { 201 modifiedPlugins.Add(dep); 206 if (!modifiedPlugins.Contains(dep)) 207 modifiedPlugins.Add(dep); 202 208 } 203 209 } … … 231 237 232 238 private IEnumerable<IPluginDescription> IteratePlugins(IEnumerable<IPluginDescription> plugins) { 239 HashSet<IPluginDescription> yieldedItems = new HashSet<IPluginDescription>(); 233 240 foreach (var plugin in plugins) { 234 241 foreach (var dependency in IteratePlugins(plugin.Dependencies)) { 235 yield return dependency; 236 } 237 yield return plugin; 242 if (!yieldedItems.Contains(dependency)) { 243 yieldedItems.Add(dependency); 244 yield return dependency; 245 } 246 } 247 if (!yieldedItems.Contains(plugin)) { 248 yieldedItems.Add(plugin); 249 yield return plugin; 250 } 238 251 } 239 252 } … … 309 322 MainFormManager.GetMainForm<MainForm>().HideProgressBar(); 310 323 } 324 private void SetMainFormStatusBar(string p, IPluginDescription plugin) { 325 if (InvokeRequired) Invoke((Action<string, IPluginDescription>)SetMainFormStatusBar, p, plugin); 326 else { 327 MainFormManager.GetMainForm<MainForm>().SetStatusBarText(p + " " + plugin.ToString()); 328 } 329 } 330 311 331 #endregion 312 332 }
Note: See TracChangeset
for help on using the changeset viewer.