/// <summary> /// Discards changes since the last <see cref="IEditableObject.BeginEdit()"/> call. /// </summary> void IEditableObject.CancelEdit() { if (_backup == null) { Log.Debug("IEditableObject is not in edit state"); return; } CancelEditCompletedEventArgs cancelEditCompletedEventArgs; var eventArgs = new CancelEditEventArgs(this); _cancelEditingEvent.SafeInvoke(this, eventArgs); OnCancelEdit(eventArgs); if (eventArgs.Cancel) { Log.Info("IEditableObject.CancelEdit is canceled by the event args"); cancelEditCompletedEventArgs = new CancelEditCompletedEventArgs(true); _cancelEditingCompletedEvent.SafeInvoke(this, cancelEditCompletedEventArgs); OnCancelEditCompleted(cancelEditCompletedEventArgs); return; } Log.Debug("IEditableObject.CancelEdit"); _backup.RestoreBackup(); _backup = null; cancelEditCompletedEventArgs = new CancelEditCompletedEventArgs(false); _cancelEditingCompletedEvent.SafeInvoke(this, cancelEditCompletedEventArgs); OnCancelEditCompleted(cancelEditCompletedEventArgs); }
private void Home_Tree_EditHeaderClosing(object sender, CancelEditEventArgs e) { e.Cancel = true; RemoteTreeViewItem treeItem = sender as RemoteTreeViewItem; if (treeItem == null) { return; } if (string.IsNullOrEmpty(e.NewValue)) { MainWindow.ShowNoticeDialog("提示", "名称不能为空"); return; } if (treeItem.RemoteType == RemoteType.dir) { RemoteItems.GetItemDirectory(treeItem.uuid); RemoteItems.ItemDirectory.Name = e.NewValue; RemoteItems.UpdateItemDirectory(); } else if (RemoteItems.ItemRemoteLink != null && RemoteItems.ItemRemoteLink.Id == treeItem.uuid) { RemoteItems.ItemRemoteLink.Name = e.NewValue; RemoteItems.UpdateItemRemoteLink(); TextBox_Name.Text = e.NewValue; } RemoteItems.SetItemName(treeItem, e.NewValue); }
/// <summary> /// Discards changes since the last <see cref="IEditableObject.BeginEdit()"/> call. /// </summary> void IEditableObject.CancelEdit() { if (_backup == null) { return; } var eventArgs = new CancelEditEventArgs(this); _cancelEditingEvent.SafeInvoke(this, eventArgs); OnCancelEdit(eventArgs); if (eventArgs.Cancel) { Log.Info("IEditableObject.CancelEdit is canceled by the event args"); return; } Log.Debug("IEditableObject.CancelEdit"); _backup.RestoreBackup(); _backup = null; }
private void Home_Tree_EditHeaderClosing(object sender, CancelEditEventArgs e) { RemoteTreeViewItem treeItem = ((RemoteTreeViewItem)sender); if (treeItem == null) { return; } if (string.IsNullOrEmpty(e.NewValue)) { MainWindow.ShowMessageDialog("提示", "名称不能为空"); e.Cancel = true; return; } if (treeItem.RemoteType == RemoteType.dir) { DbItemDirectory itemDirectory = Database.GeyDirectory(treeItem.uuid); itemDirectory.Name = e.NewValue; Database.Update(itemDirectory.Id, itemDirectory); } else { if (_itemRemoteLink != null && _itemRemoteLink.Id == treeItem.uuid) { _itemRemoteLink.Name = e.NewValue; Database.Update(_itemRemoteLink.Id, _itemRemoteLink); TextBox_Name.Text = e.NewValue; } else { DbItemRemoteLink itemRemoteLink = Database.GetRemoteLink(treeItem.uuid); itemRemoteLink.Name = e.NewValue; Database.Update(itemRemoteLink.Id, itemRemoteLink); } } }