private void PasteEffectInvoke(KeyboardAccelerator sender, KeyboardAcceleratorInvokedEventArgs args) { if (CheckedLayer == null || g_CanPaste == false || CopiedEffect == null) { return; } args.Handled = true; g_CanPaste = false; var copy = new EffectLineViewModel(CopiedEffect); copy.Left = (CheckedEffect != null) ? CheckedEffect.Right : 0; if (!CheckedLayer.TryInsertToTimelineFitly(copy)) { // TODO g_CanPaste = true; return; } TimeSpan delay = TimeSpan.FromMilliseconds(400); ThreadPoolTimer DelayTimer = ThreadPoolTimer.CreateTimer( (source) => { Dispatcher.RunAsync( CoreDispatcherPriority.High, () => { g_CanPaste = true; }); }, delay); }
private void ClearAllEffectInvoke(KeyboardAccelerator sender, KeyboardAcceleratorInvokedEventArgs args) { if (CheckedLayer != null) { CheckedEffect = null; CheckedLayer.ClearAllEffect(); args.Handled = true; } }
private void CutEffectInvoke(KeyboardAccelerator sender, KeyboardAcceleratorInvokedEventArgs args) { if (CheckedEffect == null) { return; } CopiedEffect = new EffectLineViewModel(CheckedEffect); CheckedLayer.DeleteEffectLine(CheckedEffect); args.Handled = true; }