Browse Source

fix deleting rows from settings designer

4.1
Eusebiu Marcu 14 years ago
parent
commit
c180a154f2
  1. 3
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.Designer.cs
  2. 22
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs
  3. 1
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs

3
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.Designer.cs generated

@ -53,13 +53,14 @@ namespace ICSharpCode.SettingsEditor
this.ValueColumn}); this.ValueColumn});
this.grid.DataSource = this.bindingSource; this.grid.DataSource = this.bindingSource;
this.grid.Dock = System.Windows.Forms.DockStyle.Fill; this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
this.grid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; this.grid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
this.grid.Location = new System.Drawing.Point(0, 0); this.grid.Location = new System.Drawing.Point(0, 0);
this.grid.Name = "grid"; this.grid.Name = "grid";
this.grid.Size = new System.Drawing.Size(486, 362); this.grid.Size = new System.Drawing.Size(486, 362);
this.grid.TabIndex = 0; this.grid.TabIndex = 0;
this.grid.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.GridDataError); this.grid.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.GridDataError);
this.grid.SelectionChanged += new System.EventHandler(this.GridSelectionChanged); this.grid.SelectionChanged += new System.EventHandler(this.GridSelectionChanged);
this.grid.UserDeletingRow += new System.Windows.Forms.DataGridViewRowCancelEventHandler(this.GridUserDeletingRow);
// //
// NameColumn // NameColumn
// //

22
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs

@ -49,12 +49,8 @@ namespace ICSharpCode.SettingsEditor
public SettingsView() public SettingsView()
{ {
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent(); InitializeComponent();
ambience = AmbienceService.GetCurrentAmbience(); ambience = AmbienceService.GetCurrentAmbience();
foreach (Type type in defaultAvailableTypes) { foreach (Type type in defaultAvailableTypes) {
types.Add(type); types.Add(type);
@ -77,9 +73,7 @@ namespace ICSharpCode.SettingsEditor
bindingSource.ListChanged += delegate(object sender, ListChangedEventArgs e) { bindingSource.ListChanged += delegate(object sender, ListChangedEventArgs e) {
if (e.NewIndex >= 0 && e.NewIndex < bindingSource.Count) { if (e.NewIndex >= 0 && e.NewIndex < bindingSource.Count) {
if (((SettingsEntry)bindingSource[e.NewIndex]).Name != null) { if (((SettingsEntry)bindingSource[e.NewIndex]).Name != null) {
if (SettingsChanged != null) { OnSettingsChanged(e);
SettingsChanged(this, e);
}
} }
} }
}; };
@ -163,5 +157,19 @@ namespace ICSharpCode.SettingsEditor
} }
return null; return null;
} }
void GridUserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
if (e.Row != null && !e.Cancel) {
OnSettingsChanged(EventArgs.Empty);
}
}
protected virtual void OnSettingsChanged(EventArgs e)
{
if (SettingsChanged != null) {
SettingsChanged(this, e);
}
}
} }
} }

1
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs

@ -31,6 +31,7 @@ namespace ICSharpCode.SettingsEditor
propertyContainer.SelectedObjects = view.GetSelectedEntriesForPropertyGrid().ToArray(); propertyContainer.SelectedObjects = view.GetSelectedEntriesForPropertyGrid().ToArray();
}; };
view.SettingsChanged += delegate { view.SettingsChanged += delegate {
if (this.PrimaryFile != null)
this.PrimaryFile.MakeDirty(); this.PrimaryFile.MakeDirty();
if (appConfigFile != null) if (appConfigFile != null)
appConfigFile.MakeDirty(); appConfigFile.MakeDirty();

Loading…
Cancel
Save