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:
Diffstat (limited to 'main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.NodeBuilders/TranslationNodeBuilder.cs')
-rw-r--r--main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.NodeBuilders/TranslationNodeBuilder.cs16
1 files changed, 6 insertions, 10 deletions
diff --git a/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.NodeBuilders/TranslationNodeBuilder.cs b/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.NodeBuilders/TranslationNodeBuilder.cs
index 029efd19d4..a1d3c3aacd 100644
--- a/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.NodeBuilders/TranslationNodeBuilder.cs
+++ b/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.NodeBuilders/TranslationNodeBuilder.cs
@@ -33,6 +33,7 @@ using MonoDevelop.Core;
using MonoDevelop.Components.Commands;
using MonoDevelop.Ide.Gui.Components;
using MonoDevelop.Ide;
+using System.Threading.Tasks;
namespace MonoDevelop.Gettext.NodeBuilders
{
@@ -111,7 +112,7 @@ namespace MonoDevelop.Gettext.NodeBuilders
}
project.RemoveTranslation (translation.IsoCode);
- IdeApp.ProjectOperations.Save (project);
+ IdeApp.ProjectOperations.SaveAsync (project);
}
}
@@ -125,14 +126,10 @@ namespace MonoDevelop.Gettext.NodeBuilders
UpdateTranslations (project, translation);
}
- static IAsyncOperation currentUpdateTranslationOperation = MonoDevelop.Core.ProgressMonitoring.NullAsyncOperation.Success;
+ static Task currentUpdateTranslationOperation = Task.FromResult (0);
- void UpdateTranslationsAsync (object ob)
+ void UpdateTranslationsAsync (ProgressMonitor monitor, TranslationProject project, Translation translation)
{
- object[] data = (object[]) ob;
- IProgressMonitor monitor = (IProgressMonitor) data [0];
- TranslationProject project = (TranslationProject) data [1];
- Translation translation = (Translation) data [2];
try {
project.UpdateTranslations (monitor, translation);
Gtk.Application.Invoke (delegate {
@@ -151,9 +148,8 @@ namespace MonoDevelop.Gettext.NodeBuilders
{
if (currentUpdateTranslationOperation != null && !currentUpdateTranslationOperation.IsCompleted)
return;
- IProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetBuildProgressMonitor ();
- currentUpdateTranslationOperation = monitor.AsyncOperation;
- DispatchService.BackgroundDispatch (new StatefulMessageHandler (UpdateTranslationsAsync), new object[] {monitor, project, translation});
+ ProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetBuildProgressMonitor ();
+ currentUpdateTranslationOperation = Task.Factory.StartNew (() => UpdateTranslationsAsync (monitor, project, translation));
}
}
}