internal static bool InvokeEvent(object sender, GitUIEventHandler gitUIEventHandler) { try { var e = new GitUIEventArgs(Instance); if (gitUIEventHandler != null) { gitUIEventHandler(sender, e); } return(!e.Cancel); } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); } return(true); }
/// <summary> /// /// </summary> /// <param name="requiresValidWorkingDir">If action requires valid working directory</param> /// <param name="owner">Owner window</param> /// <param name="preEvent">Event invoked before performing action</param> /// <param name="postEvent">Event invoked after performing action</param> /// <param name="action">Action to do</param> /// <returns>true if action was done, false otherwise</returns> public bool DoAction(IWin32Window owner, bool requiresValidWorkingDir, GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func <bool> action) { if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner)) { return(false); } if (!InvokeEvent(owner, preEvent)) { return(false); } bool actionDone = action(); InvokePostEvent(owner, actionDone, postEvent); return(actionDone); }
public void ShowModelessForm(IWin32Window owner, bool requiresValidWorkingDir, GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func<Form> provideForm) { if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner)) return; if (!InvokeEvent(owner, preEvent)) return; Form form = provideForm(); FormClosedEventHandler formClosed = null; formClosed = (sender, e) => { form.FormClosed -= formClosed; InvokePostEvent(owner, true, postEvent); }; form.FormClosed += formClosed; form.ShowInTaskbar = true; if (Application.OpenForms.Count > 0) form.Show(); else form.ShowDialog(); }
public void InvokeEventOnClose(Form form, GitUIEventHandler ev) { form.FormClosed += (object o, FormClosedEventArgs ea) => { InvokeEvent(form == null ? null : form.Owner, ev); }; }
/// <summary> /// /// </summary> /// <param name="requiresValidWorkingDir">If action requires valid working directory</param> /// <param name="owner">Owner window</param> /// <param name="changesRepo">if successfuly done action changes repo state</param> /// <param name="preEvent">Event invoked before performing action</param> /// <param name="postEvent">Event invoked after performing action</param> /// <param name="action">Action to do. Return true to indicate that the action was successfully done.</param> /// <returns>true if action was sccessfully done, false otherwise</returns> public bool DoActionOnRepo(IWin32Window owner, bool requiresValidWorkingDir, bool changesRepo, GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func<bool> action) { bool actionDone = false; RepoChangedNotifier.Lock(); try { if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner)) return false; if (!InvokeEvent(owner, preEvent)) return false; try { actionDone = action(); } finally { InvokePostEvent(owner, actionDone, postEvent); } } finally { RepoChangedNotifier.UnLock(changesRepo && actionDone); } return actionDone; }
private bool InvokeEvent(IWin32Window ownerForm, GitUIEventHandler gitUIEventHandler) { return InvokeEvent(this, ownerForm, gitUIEventHandler); }
internal bool InvokeEvent(object sender, IWin32Window ownerForm, GitUIEventHandler gitUIEventHandler) { try { var e = new GitUIEventArgs(ownerForm, this); if (gitUIEventHandler != null) gitUIEventHandler(sender, e); return !e.Cancel; } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); } return true; }
/// <summary> /// /// </summary> /// <param name="requiresValidWorkingDir">If action requires valid working directory</param> /// <param name="owner">Owner window</param> /// <param name="preEvent">Event invoked before performing action</param> /// <param name="postEvent">Event invoked after performing action</param> /// <param name="action">Action to do</param> /// <returns>true if action was done, false otherwise</returns> public bool DoAction(IWin32Window owner, bool requiresValidWorkingDir, GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func<bool> action) { if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner)) return false; if (!InvokeEvent(owner, preEvent)) return false; bool actionDone = action(); InvokePostEvent(owner, actionDone, postEvent); return actionDone; }
private bool InvokeEvent(GitUIEventHandler gitUIEventHandler) { return InvokeEvent(this, gitUIEventHandler); }
internal static bool InvokeEvent(object sender, GitUIEventHandler gitUIEventHandler) { try { var e = new GitUIEventArgs(Instance); if (gitUIEventHandler != null) gitUIEventHandler(sender, e); return !e.Cancel; } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); } return true; }
private bool InvokeEvent(GitUIEventHandler gitUIEventHandler) { return(InvokeEvent(this, gitUIEventHandler)); }
internal static bool InvokeEvent(GitUIEventHandler gitUIEventHandler) { try { GitUIEventArgs e = new GitUIEventArgs(GitUICommands.Instance); if (gitUIEventHandler != null) gitUIEventHandler.Invoke(e); return !e.Cancel; } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); } return true; }
private bool InvokeEvent(IWin32Window ownerForm, GitUIEventHandler gitUIEventHandler) { return(InvokeEvent(this, ownerForm, gitUIEventHandler)); }