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:
authorLluis Sanchez <lluis@xamarin.com>2014-11-11 12:12:14 +0300
committerLluis Sanchez <lluis@xamarin.com>2014-11-11 12:12:14 +0300
commit419ccdb1ee355be6a266806941f5030a09c0f92a (patch)
treedd03f5fb8bd03be9ed97dce2e10eceb19e94e6c4 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui
parent068b2868011a6618fc0c12d2255f83880e736631 (diff)
parentd9312f782b9c79832198f6193bddf1a89071d2c2 (diff)
Merge branch 'master' into publishing-workflow
Conflicts: version-checks
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StartupInfo.cs7
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/StatusProgressMonitor.cs11
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs32
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