public AbstractProcessingTask EditSettings(IWin32Window owner, AbstractProcessingTask task, bool defaultsettings) { AbstractProcessingTask ret = task.Clone(); if (ret != null) { if (!ret.RunSettings()) { this.Grid.SelectedObject = task; if (this.ShowDialog(owner) == System.Windows.Forms.DialogResult.OK) { ret = (AbstractProcessingTask)this.Grid.SelectedObject; if (defaultsettings && task.HasBrowsableSettings) { task.SaveToFile(Program.TaskPath); } } } } return ret; }