/// <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);
        }
Example #2
0
        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;
        }
Example #4
0
        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);
                }
            }
        }