diff options
author | Lluis Sanchez <lluis@xamarin.com> | 2014-11-11 12:12:14 +0300 |
---|---|---|
committer | Lluis Sanchez <lluis@xamarin.com> | 2014-11-11 12:12:14 +0300 |
commit | 419ccdb1ee355be6a266806941f5030a09c0f92a (patch) | |
tree | dd03f5fb8bd03be9ed97dce2e10eceb19e94e6c4 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui | |
parent | 068b2868011a6618fc0c12d2255f83880e736631 (diff) | |
parent | d9312f782b9c79832198f6193bddf1a89071d2c2 (diff) |
Merge branch 'master' into publishing-workflow
Conflicts:
version-checks
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui')
5 files changed, 32 insertions, 37 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs index a3e03b6c5e..6cb8bf907d 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs @@ -912,7 +912,7 @@ namespace MonoDevelop.Ide.Gui window.ViewContent.Project = null; } - void OnDocumentParsed (EventArgs e) + protected virtual void OnDocumentParsed (EventArgs e) { EventHandler handler = this.DocumentParsed; if (handler != null) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs index f008cf6790..c5468e9ee5 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs @@ -357,6 +357,7 @@ namespace MonoDevelop.Ide.Gui box.PackStart (toolbar.Container, false, false, 0); box.ReorderChild (toolbar.Container, 0); toolbar.Visible = (targetView == ActiveViewContent); + PathWidgetEnabled = !toolbar.Visible; } return toolbar; } @@ -654,6 +655,12 @@ namespace MonoDevelop.Ide.Gui return; pathDoc.PathChanged += HandlePathChange; this.pathDoc = pathDoc; + + // If a toolbar is already being shown, we don't show the pathbar yet + DocumentToolbar toolbar; + if (documentToolbars.TryGetValue (ActiveViewContent, out toolbar) && toolbar.Visible) + return; + PathWidgetEnabled = true; pathBar.SetPath (pathDoc.CurrentPath); } @@ -727,11 +734,15 @@ namespace MonoDevelop.Ide.Gui pathedDocument = (IPathedDocument) viewContents[newIndex].GetContent (typeof(IPathedDocument)); } - if (pathedDocument != null) + var toolbarVisible = false; + foreach (var t in documentToolbars) { + toolbarVisible = ActiveViewContent == t.Key; + t.Value.Container.Visible = toolbarVisible; + } + + if (pathedDocument != null && !toolbarVisible) AttachToPathedDocument (pathedDocument); - foreach (var t in documentToolbars) - t.Value.Container.Visible = ActiveViewContent == t.Key; if (subViewContent != null) subViewContent.Selected (); diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StartupInfo.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StartupInfo.cs index 069760122f..abaa1b0225 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StartupInfo.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StartupInfo.cs @@ -31,6 +31,7 @@ using System; using System.IO; using System.Collections.Generic; using System.Text.RegularExpressions; +using System.Linq; namespace MonoDevelop.Ide.Gui { @@ -50,6 +51,12 @@ namespace MonoDevelop.Ide.Gui public bool HasFiles { get { return requestedFileList.Count > 0; } } + + public bool HasSolutionFile { + get { + return requestedFileList.Any (f => File.Exists (f.FileName) && (Services.ProjectService.IsWorkspaceItemFile (f.FileName) || Services.ProjectService.IsSolutionItemFile (f.FileName))); + } + } /// <summary> /// Matches a filename string with optional line and column diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StatusProgressMonitor.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StatusProgressMonitor.cs index df4fd5efbe..3f2b85d4a4 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StatusProgressMonitor.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StatusProgressMonitor.cs @@ -63,8 +63,11 @@ namespace MonoDevelop.Ide.Gui { if (showTaskTitles) statusBar.ShowMessage (icon, CurrentTask); - if (!UnknownWork) + if (!UnknownWork) { statusBar.SetProgressFraction (GlobalWork); + DesktopService.SetGlobalProgress (GlobalWork); + } else + DesktopService.ShowGlobalProgressIndeterminate (); RunPendingEvents (); } @@ -93,7 +96,9 @@ namespace MonoDevelop.Ide.Gui } else if (SuccessMessages.Count == 0) { statusBar.ShowWarning (Warnings [Warnings.Count - 1]); } - + + DesktopService.ShowGlobalProgressError (); + base.OnCompleted (); if (showErrorDialogs) @@ -109,6 +114,8 @@ namespace MonoDevelop.Ide.Gui statusBar.Dispose (); } + DesktopService.SetGlobalProgress (GlobalWork); + base.OnCompleted (); } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs index 0ecfea80e6..39679f1573 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs @@ -1287,7 +1287,7 @@ namespace MonoDevelop.Ide.Gui return fileName; } set { - fileName = ResolveSymbolicLink (value.CanonicalPath); + fileName = value.CanonicalPath; if (fileName.IsNullOrEmpty) LoggingService.LogError ("FileName == null\n" + Environment.StackTrace); } @@ -1339,36 +1339,6 @@ namespace MonoDevelop.Ide.Gui this.Options &= ~OpenDocumentOptions.BringToFront; } } - - static FilePath ResolveSymbolicLink (FilePath fileName) - { - if (fileName.IsEmpty) - return fileName; - try { - var alreadyVisted = new HashSet<FilePath> (); - while (true) { - if (alreadyVisted.Contains (fileName)) { - LoggingService.LogError ("Cyclic links detected: " + fileName); - return FilePath.Empty; - } - alreadyVisted.Add (fileName); - var linkInfo = new Mono.Unix.UnixSymbolicLinkInfo (fileName); - if (linkInfo.IsSymbolicLink && linkInfo.HasContents) { - FilePath contentsPath = linkInfo.ContentsPath; - if (contentsPath.IsAbsolute) { - fileName = linkInfo.ContentsPath; - } else { - fileName = fileName.ParentDirectory.Combine (contentsPath); - } - fileName = fileName.CanonicalPath; - continue; - } - return ResolveSymbolicLink (fileName.ParentDirectory).Combine (fileName.FileName).CanonicalPath; - } - } catch (Exception) { - return fileName; - } - } } class LoadFileWrapper |