private void CopyFirstLink() { var action = this.GetFirstQuickAction(true, out var urlValues); if (action != null) { this.SendCloseNotificationsEvent(); action.Copy(urlValues); var titleNotification = new NotificationForm(this, String.Format(CultureInfo.CurrentCulture, "{0} link copied", action.Name)); titleNotification.StartPosY = Screen.PrimaryScreen.WorkingArea.Height - (titleNotification.Height + 5); titleNotification.RightClick += (object sender, MouseEventArgs e) => { this.SendCloseNotificationsEvent(); }; titleNotification.ShowInactiveTopmost(); titleNotification.FadeIn(); } }
public void ShowNotifications() { if (this.Configuration.ShowHUD && this.ClipboardRules != null && this.ClipboardRules.Any()) { this.SendCloseNotificationsEvent(); int index = 0; int startPosY = Screen.PrimaryScreen.WorkingArea.Height; foreach (var rule in this.ClipboardRules) { var actions = from action in rule.QuickActions where action.IsEnabled select action; if (this.Configuration.LimitNotificationCount) { actions = actions.Take(this.Configuration.MaxNotificationCount - index).AsQueryable(); } foreach (var quickAction in actions) { var notification = new NotificationForm(this, quickAction); notification.StartPosY = startPosY -= notification.Height + 5; notification.OpenClick += (object sender, MouseEventArgs e) => { quickAction.Run(rule.Values); if (actions.Count() == 1) { this.SendCloseNotificationsEvent(); } }; notification.CopyLinkClick += (object sender, MouseEventArgs e) => { quickAction.Copy(rule.Values); if (actions.Count() == 1) { this.SendCloseNotificationsEvent(); } }; notification.RightClick += (object sender, MouseEventArgs e) => { this.SendCloseNotificationsEvent(); }; notification.ShowInactiveTopmost(); notification.FadeIn(); } var titleNotification = new NotificationForm(this, rule.Label); titleNotification.StartPosY = (startPosY -= titleNotification.Height + 5); titleNotification.RightClick += (object sender, MouseEventArgs e) => { this.SendCloseNotificationsEvent(); }; titleNotification.ShowInactiveTopmost(); titleNotification.FadeIn(); } } }