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:
authorLluis Sanchez Gual <lluis@novell.com>2011-03-22 13:34:13 +0300
committerLluis Sanchez Gual <lluis@novell.com>2011-03-22 13:34:42 +0300
commit43f4e1b1e1a3349ab46450098475c110e84835d4 (patch)
tree1da504f57b579a163334e5ecfde9787a0524338d /main
parentbf3118c39ed18b8ab26da4c1f891216793a4bdcf (diff)
Improved output pad reuse.
Added new method for getting an output pad for tools. Instead of having an output pad specific for each tool, now all can share the same pad. Also added an Id argument to GetOutputProgressMonitor. This id is used when building an Id for the corresponding key binding. Until now, we were using the monitor title for this, but it doesn't work well since the title is localized.
Diffstat (limited to 'main')
-rw-r--r--main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.Gui/DeployOperations.cs2
-rw-r--r--main/src/addins/MonoDevelop.Autotools/Commands.cs2
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs2
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlService.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs3
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProgressMonitors.cs27
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs2
7 files changed, 26 insertions, 14 deletions
diff --git a/main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.Gui/DeployOperations.cs b/main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.Gui/DeployOperations.cs
index 8c79250024..1f877eef1d 100644
--- a/main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.Gui/DeployOperations.cs
+++ b/main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.Gui/DeployOperations.cs
@@ -28,7 +28,7 @@ namespace MonoDevelop.Deployment.Gui
static IAsyncOperation BuildPackages (ICollection packages)
{
- IProgressMonitor mon = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor (GettextCatalog.GetString ("Packaging Output"), MonoDevelop.Ide.Gui.Stock.RunProgramIcon, true, true);
+ IProgressMonitor mon = IdeApp.Workbench.ProgressMonitors.GetToolOutputProgressMonitor (true);
// Run the deploy command in a background thread to avoid
// deadlocks with the gui thread
diff --git a/main/src/addins/MonoDevelop.Autotools/Commands.cs b/main/src/addins/MonoDevelop.Autotools/Commands.cs
index 1eecb98ba4..d3954156ae 100644
--- a/main/src/addins/MonoDevelop.Autotools/Commands.cs
+++ b/main/src/addins/MonoDevelop.Autotools/Commands.cs
@@ -86,7 +86,7 @@ namespace MonoDevelop.Autotools
}
ctx = new DeployContext (new TarballDeployTarget (dialog.GenerateAutotools), "Linux", null);
- monitor = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor ( GettextCatalog.GetString("Makefiles Output"), "md-package", true, true);
+ monitor = IdeApp.Workbench.ProgressMonitors.GetToolOutputProgressMonitor (true);
deployer.GenerateFiles (ctx, solution, dialog.DefaultConfiguration, monitor);
} finally {
dialog.Destroy ();
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
index c59cae6e59..34a1485be2 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
@@ -491,7 +491,7 @@ namespace MonoDevelop.Debugger
// When using an external console, create a new internal console which will be used
// to show the debugger log
if (startInfo.UseExternalConsole)
- console = (IConsole) IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor (GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
+ console = (IConsole) IdeApp.Workbench.ProgressMonitors.GetRunProgressMonitor ();
else
console = c;
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlService.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlService.cs
index 4a62fa88ba..c96ce94a69 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlService.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlService.cs
@@ -520,7 +520,7 @@ namespace MonoDevelop.VersionControl
public static IProgressMonitor GetProgressMonitor (string operation)
{
- IProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor ("Version Control", "md-version-control", false, true);
+ IProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor ("MonoDevelop.VersionControlOutput", "Version Control", "md-version-control", false, true);
Pad outPad = IdeApp.Workbench.ProgressMonitors.GetPadForMonitor (monitor);
AggregatedProgressMonitor mon = new AggregatedProgressMonitor (monitor);
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs
index bd663d1a84..bdd1d9d97d 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs
@@ -111,8 +111,7 @@ namespace MonoDevelop.Ide.CustomTools
}
}
- string title = GettextCatalog.GetString ("Custom Tool");
- var monitor = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor (title, null, false, true);
+ var monitor = IdeApp.Workbench.ProgressMonitors.GetToolOutputProgressMonitor (false);
var result = new SingleFileCustomToolResult ();
var aggOp = new AggregatedOperationMonitor (monitor);
try {
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProgressMonitors.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProgressMonitors.cs
index 5272deb59a..64de910bc7 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProgressMonitors.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProgressMonitors.cs
@@ -61,7 +61,12 @@ namespace MonoDevelop.Ide.Gui
public IProgressMonitor GetRunProgressMonitor ()
{
- return GetOutputProgressMonitor (GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
+ return GetOutputProgressMonitor ("MonoDevelop.Ide.ApplicationOutput", GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
+ }
+
+ public IProgressMonitor GetToolOutputProgressMonitor (bool bringToFront)
+ {
+ return GetOutputProgressMonitor ("MonoDevelop.Ide.ToolOutput", GettextCatalog.GetString ("Tool Output"), Stock.RunProgramIcon, bringToFront, true);
}
public IProgressMonitor GetLoadProgressMonitor (bool lockGui)
@@ -76,7 +81,7 @@ namespace MonoDevelop.Ide.Gui
public IConsole CreateConsole (bool closeOnDispose)
{
- return (IConsole) GetOutputProgressMonitor (GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
+ return (IConsole) GetOutputProgressMonitor ("MonoDevelop.Ide.ApplicationOutput", GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
}
/******************************/
@@ -104,7 +109,12 @@ namespace MonoDevelop.Ide.Gui
public IProgressMonitor GetOutputProgressMonitor (string title, IconId icon, bool bringToFront, bool allowMonitorReuse)
{
- Pad pad = CreateMonitorPad (title, icon, bringToFront, allowMonitorReuse, true);
+ return GetOutputProgressMonitor (null, title, icon, bringToFront, allowMonitorReuse);
+ }
+
+ public IProgressMonitor GetOutputProgressMonitor (string id, string title, IconId icon, bool bringToFront, bool allowMonitorReuse)
+ {
+ Pad pad = CreateMonitorPad (id, title, icon, bringToFront, allowMonitorReuse, true);
pad.Visible = true;
return ((DefaultMonitorPad) pad.Content).BeginProgress (title);
}
@@ -129,11 +139,14 @@ namespace MonoDevelop.Ide.Gui
return null;
}
- Pad CreateMonitorPad (string title, string icon, bool bringToFront, bool allowMonitorReuse, bool show)
+ Pad CreateMonitorPad (string id, string title, string icon, bool bringToFront, bool allowMonitorReuse, bool show)
{
Pad pad = null;
if (icon == null)
icon = Stock.OutputIcon;
+
+ if (id == null)
+ id = title;
int instanceCount = -1;
if (allowMonitorReuse) {
@@ -142,7 +155,7 @@ namespace MonoDevelop.Ide.Gui
for (int n=0; n<outputMonitors.Count; n++) {
Pad mpad = (Pad) outputMonitors [n];
DefaultMonitorPad mon = (DefaultMonitorPad) mpad.Content;
- if (mon.TypeTag == title) {
+ if (mon.TypeTag == id) {
if (mon.InstanceNum > instanceCount)
instanceCount = mon.InstanceNum;
if (mon.AllowReuse) {
@@ -161,8 +174,8 @@ namespace MonoDevelop.Ide.Gui
instanceCount++;
DefaultMonitorPad monitorPad = new DefaultMonitorPad (title, icon, instanceCount);
- string newPadId = "OutputPad-" + title.Replace (' ','_') + "-" + instanceCount;
- string basePadId = "OutputPad-" + title.Replace (' ','_') + "-0";
+ string newPadId = "OutputPad-" + id + "-" + instanceCount;
+ string basePadId = "OutputPad-" + id + "-0";
if (instanceCount > 0) {
// Translate the title before adding the count
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs
index ce5f418d46..c96c0b8a7d 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs
@@ -314,7 +314,7 @@ namespace MonoDevelop.Ide
try {
if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) {
- using (IProgressMonitor mon = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor (GettextCatalog.GetString ("Export Project"), null, true, true)) {
+ using (IProgressMonitor mon = IdeApp.Workbench.ProgressMonitors.GetToolOutputProgressMonitor (true)) {
string folder = dlg.TargetFolder;
string file = entry is WorkspaceItem ? ((WorkspaceItem)entry).FileName : ((SolutionEntityItem)entry).FileName;