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
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs1
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs2
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs6
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs1
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj1
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/BlameCommand.cs7
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs3
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/DiffCommand.cs7
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs29
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs2
10 files changed, 39 insertions, 20 deletions
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs
index 9b0e3d85e3..6bbc421a54 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs
@@ -143,7 +143,6 @@ namespace MonoDevelop.VersionControl.Git
}
this.DefaultWidth = 332;
this.DefaultHeight = 184;
- this.Show ();
this.usernameEntry.Changed += new global::System.EventHandler (this.OnChanged);
this.emailEntry.Changed += new global::System.EventHandler (this.OnChanged);
}
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs
index 55278dbfa6..9ed5f6cec4 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs
@@ -95,7 +95,7 @@ namespace MonoDevelop.VersionControl.Git
string user;
string email;
- repo.GetUserInfo (out user, out email);
+ repo.GetUserInfo (out user, out email, CommitDialog);
string val = sol.UserProperties.GetValue<string> ("GitUserInfo");
if (val == "UsingMD") {
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs
index cf2b6d1a44..f2e4f1f90c 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs
@@ -903,7 +903,7 @@ namespace MonoDevelop.VersionControl.Git
}
}
- protected override VersionControlOperation GetSupportedOperations (VersionInfo vinfo)
+ protected internal override VersionControlOperation GetSupportedOperations (VersionInfo vinfo)
{
VersionControlOperation ops = base.GetSupportedOperations (vinfo);
if (GetCurrentRemote () == null)
@@ -1353,7 +1353,7 @@ namespace MonoDevelop.VersionControl.Git
return name == null && email == null;
}
- public void GetUserInfo (out string name, out string email)
+ public void GetUserInfo (out string name, out string email, Components.Window parent = null)
{
try {
string lname = null, lemail = null;
@@ -1369,7 +1369,7 @@ namespace MonoDevelop.VersionControl.Git
Runtime.RunInMainThread (() => {
var dlg = new UserGitConfigDialog ();
try {
- if ((Gtk.ResponseType)MessageService.RunCustomDialog (dlg) == Gtk.ResponseType.Ok) {
+ if ((Gtk.ResponseType)MessageService.RunCustomDialog (dlg, parent) == Gtk.ResponseType.Ok) {
dlgName = dlg.UserText;
dlgEmail = dlg.EmailText;
SetUserInfo (dlgName, dlgEmail);
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs
index c639251548..bc56415478 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs
@@ -89,6 +89,7 @@ namespace MonoDevelop.VersionControl.Dialogs
continue;
}
if (ext.Initialize (changeSet)) {
+ ext.CommitDialog = this;
var newTitle = ext.FormatDialogTitle (changeSet, Title);
if (newTitle != null)
Title = newTitle;
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj
index edc0664983..fa094de8ec 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj
@@ -525,6 +525,7 @@
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="MonoDevelop.VersionControl.Git.Tests" />
+ <InternalsVisibleTo Include="MonoDevelop.VersionControl.Git" />
<InternalsVisibleTo Include="MonoDevelop.MacDev" />
</ItemGroup>
<ItemGroup>
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/BlameCommand.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/BlameCommand.cs
index d3757a0e81..ca73d7011c 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/BlameCommand.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/BlameCommand.cs
@@ -26,6 +26,7 @@
using System.Linq;
using System.Threading.Tasks;
+using Microsoft.VisualStudio.Text.Editor;
using Mono.Addins;
using MonoDevelop.Ide;
using MonoDevelop.Ide.Gui;
@@ -52,7 +53,11 @@ namespace MonoDevelop.VersionControl
foreach (var item in items) {
var document = await IdeApp.Workbench.OpenDocument (item.Path, item.ContainerProject, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);
- document?.GetContent<VersionControlDocumentController> ()?.ShowBlameView ();
+ if (document == null)
+ continue;
+ document.RunWhenContentAdded<ITextView> (tv => {
+ document.GetContent<VersionControlDocumentController> ()?.ShowBlameView ();
+ });
}
return true;
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs
index 59f9fe1025..75a3d1fd34 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs
@@ -6,8 +6,9 @@ namespace MonoDevelop.VersionControl
/// <summary>
/// Base class for commit dialog extensions.
/// </summary>
- public class CommitDialogExtension: Gtk.EventBox
+ public class CommitDialogExtension : Gtk.EventBox
{
+ internal VersionControl.Dialogs.CommitDialog CommitDialog { get; set; }
/// <summary>
/// Initialize the extension.
/// </summary>
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/DiffCommand.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/DiffCommand.cs
index 408ad6a88f..33aeba3529 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/DiffCommand.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/DiffCommand.cs
@@ -26,6 +26,7 @@
using System.Linq;
using System.Threading.Tasks;
+using Microsoft.VisualStudio.Text.Editor;
using Mono.Addins;
using MonoDevelop.Ide;
using MonoDevelop.Ide.Gui;
@@ -51,7 +52,11 @@ namespace MonoDevelop.VersionControl
foreach (var item in items) {
var document = await IdeApp.Workbench.OpenDocument (item.Path, item.ContainerProject, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);
- document?.GetContent<VersionControlDocumentController> ()?.ShowDiffView ();
+ if (document == null)
+ continue;
+ document.RunWhenContentAdded<ITextView> (tv => {
+ document.GetContent<VersionControlDocumentController> ()?.ShowDiffView ();
+ });
}
return true;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs
index dd003cab69..7d59ecb6e6 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.WelcomePage/WelcomePageService.cs
@@ -110,23 +110,26 @@ namespace MonoDevelop.Ide.WelcomePage
// Try to get a dialog version of the "welcome screen" first
if (!await ShowWelcomeWindow (options)) {
- ShowWelcomePage (true);
+ await Runtime.RunInMainThread (() => ShowWelcomePage (true));
}
}
public static async void HideWelcomePageOrWindow ()
{
- if (WelcomeWindowProvider != null) {
- await WelcomeWindowProvider.HideWindow ();
- WelcomeWindowHidden?.Invoke (WelcomeWindow, EventArgs.Empty);
- } else {
- HideWelcomePage (true);
- }
- visible = false;
+ await Runtime.RunInMainThread (async () => {
+ if (WelcomeWindowProvider != null) {
+ await WelcomeWindowProvider.HideWindow ();
+ visible = false;
+ WelcomeWindowHidden?.Invoke (WelcomeWindow, EventArgs.Empty);
+ } else {
+ HideWelcomePage (true);
+ }
+ });
}
public static void ShowWelcomePage (bool animate = false)
{
+ Runtime.AssertMainThread ();
if (!visible) {
visible = true;
if (welcomePage == null) {
@@ -150,6 +153,7 @@ namespace MonoDevelop.Ide.WelcomePage
public static void HideWelcomePage (bool animate = false)
{
+ Runtime.AssertMainThread ();
if (visible) {
visible = false;
((DefaultWorkbench)IdeApp.Workbench.RootWindow).BottomBar.Show ();
@@ -164,10 +168,11 @@ namespace MonoDevelop.Ide.WelcomePage
return false;
}
- await WelcomeWindowProvider.ShowWindow (options);
- visible = true;
-
- WelcomeWindowShown?.Invoke (WelcomeWindow, EventArgs.Empty);
+ await Runtime.RunInMainThread (async () => {
+ await WelcomeWindowProvider.ShowWindow (options);
+ visible = true;
+ WelcomeWindowShown?.Invoke (WelcomeWindow, EventArgs.Empty);
+ });
return true;
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs
index dd6b82f1fc..0fea13b651 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs
@@ -395,6 +395,8 @@ namespace MonoDevelop.Ide
NSWindow nativeParent = null;
try {
nativeParent = parent;
+ if (nativeParent.Handle == nsdialog.Handle)
+ throw new InvalidOperationException ("Can't add dialog as child to itself.");
nativeParent.AddChildWindow (nsdialog, NSWindowOrderingMode.Above);
} catch (Exception ex) {
LoggingService.LogInternalError ("Failed to get the native parent window", ex);