Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Medrano <josmed@microsoft.com>2019-09-19 21:13:43 +0300
committermonojenkins <jo.shields+jenkins@xamarin.com>2019-10-23 21:16:17 +0300
commit6cef3c2aa354de010411e0461e77e12f68ef9994 (patch)
tree475030b4bf459651daa436d8ad6c0fdd1c604059
parentbca37fc2554b79a96576e944cc815aac82213d67 (diff)
Fixes current alignment centering Extension and children to parent
Fixes VSTS #935546 - [Shell] Extensions screen is not well aligned to parent Fixes VSTS #872599 - [Feedback] Extension manager cannot be closed if remote is unreachable
m---------main/external/mono-addins0
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/AddinsUpdateHandler.cs33
2 files changed, 30 insertions, 3 deletions
diff --git a/main/external/mono-addins b/main/external/mono-addins
-Subproject 09ac97652bef24b2e043bc8fda7a024cf4dc7a4
+Subproject 124fd2d88fdabf54c378bdf5041584f9e06b681
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/AddinsUpdateHandler.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/AddinsUpdateHandler.cs
index 826fcc0a25..7955d219a7 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/AddinsUpdateHandler.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/AddinsUpdateHandler.cs
@@ -98,7 +98,35 @@ namespace MonoDevelop.Ide.Updater
{
if (args.Button == Xwt.PointerButton.Left) {
HideAlert ();
- AddinManagerWindow.Run (IdeApp.Workbench.RootWindow.Visible ? IdeApp.Workbench.RootWindow : null);
+ OpenAddinManagerWindow ();
+ }
+ }
+
+ static void OpenAddinManagerWindow ()
+ {
+ if (!IdeApp.Workbench.RootWindow.Visible && WelcomePage.WelcomePageService.WelcomeWindow.nativeWidget is AppKit.NSWindow parentNsWindow) {
+ var dlg = AddinManagerWindow.Create ();
+
+ EventHandler shownEvent = null;
+ shownEvent = (s, e) => {
+ dlg.Shown -= shownEvent;
+ try {
+ var nativeWindow = Components.Mac.GtkMacInterop.GetNSWindow (dlg);
+ MessageService.CenterWindow (nativeWindow, parentNsWindow);
+ parentNsWindow.AddChildWindow (nativeWindow, AppKit.NSWindowOrderingMode.Above);
+ } catch (Exception ex) {
+ LoggingService.LogInternalError (ex);
+ }
+ };
+
+ dlg.Shown += shownEvent;
+ try {
+ dlg.Run ();
+ } finally {
+ dlg.Destroy ();
+ }
+ } else {
+ AddinManagerWindow.Run (IdeApp.Workbench.RootWindow);
}
}
@@ -112,8 +140,7 @@ namespace MonoDevelop.Ide.Updater
await t;
}
HideAlert ();
-
- AddinManagerWindow.Run (IdeApp.Workbench.RootWindow.Visible ? IdeApp.Workbench.RootWindow : null);
+ OpenAddinManagerWindow ();
}
public static void HideAlert ()