From ce880f40ced3eb8b5263e699084e41d94d6f5f4b Mon Sep 17 00:00:00 2001 From: "Samir L. Boulema" Date: Wed, 16 Dec 2015 17:18:16 +0100 Subject: [PATCH] Change icon for error, Add option to disable message --- VsDingExtensionProject/OptionsDialog.cs | 5 ++++ .../VsDingExtensionProjectPackage.cs | 23 +++++++++++++++---- .../source.extension.vsixmanifest | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/VsDingExtensionProject/OptionsDialog.cs b/VsDingExtensionProject/OptionsDialog.cs index 131da46..0e29983 100644 --- a/VsDingExtensionProject/OptionsDialog.cs +++ b/VsDingExtensionProject/OptionsDialog.cs @@ -37,6 +37,10 @@ namespace VitaliiGanzha.VsDingExtension [Description("Show tray notifications for enabled events")] public bool ShowTrayNotifications { get; set; } + [DisplayName("Tray notifications message")] + [Description("Show message how to disable tray notifications")] + public bool ShowTrayDisableMessage { get; set; } + public OptionsDialog() { IsBeepOnBreakpointHit = true; @@ -45,6 +49,7 @@ namespace VitaliiGanzha.VsDingExtension IsBeepOnTestFailed = false; ShowTrayNotifications = true; IsBeepOnlyWhenVisualStudioIsInBackground = false; + ShowTrayDisableMessage = true; } } } diff --git a/VsDingExtensionProject/VsDingExtensionProjectPackage.cs b/VsDingExtensionProject/VsDingExtensionProjectPackage.cs index a5fed66..c643a60 100644 --- a/VsDingExtensionProject/VsDingExtensionProjectPackage.cs +++ b/VsDingExtensionProject/VsDingExtensionProjectPackage.cs @@ -102,6 +102,11 @@ } private void HandleEventSafe(SoundPlayer soundPlayer, string messageText) + { + HandleEventSafe(soundPlayer, messageText, ToolTipIcon.Info); + } + + private void HandleEventSafe(SoundPlayer soundPlayer, string messageText, ToolTipIcon icon) { if (!ShouldPerformNotificationAction()) { @@ -109,25 +114,33 @@ } PlaySoundSafe(soundPlayer); - ShowNotifyMessage(messageText); + ShowNotifyMessage(messageText, icon); } private void ShowNotifyMessage(string messageText) + { + ShowNotifyMessage(messageText, ToolTipIcon.Info); + } + + private void ShowNotifyMessage(string messageText, ToolTipIcon icon) { if (!_options.ShowTrayNotifications) { return; } - string autoAppendMessage = System.Environment.NewLine + "You can disable this notification in:" + System.Environment.NewLine + "Tools->Options->Ding->Show tray notifications"; - messageText = string.Format("{0}{1}", messageText, autoAppendMessage); + if (Options.ShowTrayDisableMessage) + { + string autoAppendMessage = System.Environment.NewLine + "You can disable this notification in:" + System.Environment.NewLine + "Tools->Options->Ding->Show tray notifications"; + messageText = string.Format("{0}{1}", messageText, autoAppendMessage); + } System.Threading.Tasks.Task.Run(async () => { var tray = new NotifyIcon { Icon = SystemIcons.Application, - BalloonTipIcon = ToolTipIcon.Info, + BalloonTipIcon = icon, BalloonTipText = messageText, BalloonTipTitle = "Visual Studio Ding extension", Visible = true @@ -171,7 +184,7 @@ var testOperation = ((TestRunRequest)operationStateChangedEventArgs.Operation); if (testOperation.DominantTestState == TestState.Failed) { - HandleEventSafe(testCompleteSoundPlayer, "Test execution failed!"); + HandleEventSafe(testCompleteSoundPlayer, "Test execution failed!", ToolTipIcon.Error); } } else diff --git a/VsDingExtensionProject/source.extension.vsixmanifest b/VsDingExtensionProject/source.extension.vsixmanifest index 3737064..b6868af 100644 --- a/VsDingExtensionProject/source.extension.vsixmanifest +++ b/VsDingExtensionProject/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + Visual Studio Ding extension This small extension will play notification sounds when following events occur: - Build Complete