diff options
author | Lluis Sanchez Gual <lluis@novell.com> | 2011-06-21 23:23:51 +0400 |
---|---|---|
committer | Lluis Sanchez Gual <lluis@novell.com> | 2011-06-22 22:42:43 +0400 |
commit | e11306f5ee63a0230bca5601c43ed81b545b2dcb (patch) | |
tree | 20fb0ee10d1c3474f6c650c10c0da33508c5fe41 /main/src/core | |
parent | 1612c1ee66a1746977df92f69a10c4037c325232 (diff) |
Add command for sending feedback
Diffstat (limited to 'main/src/core')
6 files changed, 28 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Ide/ExtensionModel/Commands.addin.xml b/main/src/core/MonoDevelop.Ide/ExtensionModel/Commands.addin.xml index b2a6b5cb84..e478518d90 100644 --- a/main/src/core/MonoDevelop.Ide/ExtensionModel/Commands.addin.xml +++ b/main/src/core/MonoDevelop.Ide/ExtensionModel/Commands.addin.xml @@ -685,6 +685,11 @@ defaultHandler = "MonoDevelop.Ide.Updater.CheckForUpdatesHandler" _label = "_Check for Updates" _description = "Check for updates to MonoDevelop and packages it requires" /> + <Command id = "MonoDevelop.Ide.Commands.HelpCommands.SendFeedback" + defaultHandler = "MonoDevelop.Ide.Commands.SendFeedbackHandler" + _label = "Send Feedback" + icon = "md-feedback" + _description = "Send feedback to the MonoDevelop development team" /> </Category> <!-- SearchCommands --> diff --git a/main/src/core/MonoDevelop.Ide/ExtensionModel/MainMenu.addin.xml b/main/src/core/MonoDevelop.Ide/ExtensionModel/MainMenu.addin.xml index a937604833..99bffe6ded 100644 --- a/main/src/core/MonoDevelop.Ide/ExtensionModel/MainMenu.addin.xml +++ b/main/src/core/MonoDevelop.Ide/ExtensionModel/MainMenu.addin.xml @@ -224,6 +224,7 @@ <ItemSet id = "Help" _label = "_Help"> <CommandItem id = "MonoDevelop.Ide.Commands.HelpCommands.Help" /> <CommandItem id = "MonoDevelop.Ide.Commands.HelpCommands.TipOfTheDay" /> + <CommandItem id = "MonoDevelop.Ide.Commands.HelpCommands.SendFeedback" /> <CommandItem id = "MonoDevelop.Ide.Updater.UpdateCommands.CheckForUpdates" /> <SeparatorItem id = "Separator2" /> <ItemSet id = "Web" _label = "_Web"> diff --git a/main/src/core/MonoDevelop.Ide/ExtensionModel/StockIcons.addin.xml b/main/src/core/MonoDevelop.Ide/ExtensionModel/StockIcons.addin.xml index 44041cdba0..b422da79ce 100644 --- a/main/src/core/MonoDevelop.Ide/ExtensionModel/StockIcons.addin.xml +++ b/main/src/core/MonoDevelop.Ide/ExtensionModel/StockIcons.addin.xml @@ -229,6 +229,7 @@ <StockIcon stockid = "md-text-editor" resource = "text-editor-22.png" /> <StockIcon stockid = "md-external-tools" resource = "tools-external-tools-16.png" size="Menu" /> <StockIcon stockid = "md-external-tools" resource = "tools-external-tools-24.png"/> + <StockIcon stockid = "md-feedback" resource = "baloon.png" size="Menu" /> </Extension> </ExtensionModel> diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/HelpCommands.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/HelpCommands.cs index 0846979172..c8d01b69d9 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/HelpCommands.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/HelpCommands.cs @@ -81,4 +81,12 @@ namespace MonoDevelop.Ide.Commands } } } + + class SendFeedbackHandler : CommandHandler + { + protected override void Run () + { + FeedbackService.ShowFeedbackWidnow (); + } + } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs index c3018951ee..398a0bb044 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs @@ -95,6 +95,13 @@ namespace MonoDevelop.Ide PackStart (fr, false, false, 0); feedbackButton.Clicked += HandleFeedbackButtonClicked; feedbackButton.ClickOnRelease = true; + FeedbackService.FeedbackPositionGetter = delegate { + int x, y; + feedbackButton.GdkWindow.GetOrigin (out x, out y); + x += feedbackButton.Allocation.Width; + y -= 6; + return new Gdk.Point (x, y); + }; // Dock area @@ -188,13 +195,7 @@ namespace MonoDevelop.Ide void HandleFeedbackButtonClicked (object sender, EventArgs e) { - int x, y; - feedbackButton.GdkWindow.GetOrigin (out x, out y); - //x += feedbackButton.Allocation.X; - //y += feedbackButton.Allocation.Y; - x += feedbackButton.Allocation.Width; - y -= 6; - FeedbackService.ShowFeedbackWidnow (x, y); + FeedbackService.ShowFeedbackWidnow (); } void HandleEventMessageBoxButtonPressEvent (object o, ButtonPressEventArgs args) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/FeedbackService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/FeedbackService.cs index 5a995790b3..b53d89ee81 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/FeedbackService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/FeedbackService.cs @@ -39,12 +39,15 @@ namespace MonoDevelop.Ide static bool sending; static object sendingLock = new object (); - public static void ShowFeedbackWidnow (int x, int y) + public static void ShowFeedbackWidnow () { - FeedbackDialog d = new FeedbackDialog (x, y); + var p = FeedbackPositionGetter (); + FeedbackDialog d = new FeedbackDialog (p.X, p.Y); d.Show (); } + internal static Func<Gdk.Point> FeedbackPositionGetter { get; set; } + public static int FeedbacksSent { get { return PropertyService.Get<int> ("MonoDevelop.Feedback.Count", 0); } } |