void UpdateReferences(IList <WebReferenceItem> items) { try { UpdateReferenceContext = IdeApp.Workbench.StatusBar.CreateContext(); UpdateReferenceContext.BeginProgress(GettextCatalog.GetPluralString("Updating web reference", "Updating web references", items.Count)); DispatchService.ThreadDispatch(() => { for (int i = 0; i < items.Count; i++) { DispatchService.GuiDispatch(() => UpdateReferenceContext.SetProgressFraction(Math.Max(0.1, (double)i / items.Count))); items [i].Update(); } DispatchService.GuiDispatch(() => { // Make sure that we save all relevant projects, there should only be 1 though foreach (var project in items.Select(i => i.Project).Distinct()) { IdeApp.ProjectOperations.Save(project); } IdeApp.Workbench.StatusBar.ShowMessage(GettextCatalog.GetPluralString("Updated Web Reference {0}", "Updated Web References", items.Count, items[0].Name)); DisposeUpdateContext(); }); }); } catch { DisposeUpdateContext(); throw; } }
void UpdateReferences (IList<WebReferenceItem> items) { try { UpdateReferenceContext = IdeApp.Workbench.StatusBar.CreateContext (); UpdateReferenceContext.BeginProgress (GettextCatalog.GetPluralString ("Updating web reference", "Updating web references", items.Count)); DispatchService.ThreadDispatch (() => { for (int i = 0; i < items.Count; i ++) { DispatchService.GuiDispatch (() => UpdateReferenceContext.SetProgressFraction (Math.Max (0.1, (double)i / items.Count))); try { items [i].Update(); } catch (Exception ex) { DispatchService.GuiSyncDispatch (() => { MessageService.ShowException (ex, GettextCatalog.GetString ("Failed to update Web Reference '{0}'", items [i].Name)); DisposeUpdateContext (); }); return; } } DispatchService.GuiDispatch (() => { // Make sure that we save all relevant projects, there should only be 1 though foreach (var project in items.Select (i =>i.Project).Distinct ()) IdeApp.ProjectOperations.Save (project); IdeApp.Workbench.StatusBar.ShowMessage(GettextCatalog.GetPluralString ("Updated Web Reference {0}", "Updated Web References", items.Count, items[0].Name)); DisposeUpdateContext (); }); }); } catch { DisposeUpdateContext (); throw; } }
public void Update() { using (StatusBarContext sbc = IdeApp.Workbench.StatusBar.CreateContext()) { sbc.BeginProgress(GettextCatalog.GetString("Updating web reference")); sbc.AutoPulse = true; WebReferenceItem item = (WebReferenceItem)CurrentNode.DataItem; DispatchService.BackgroundDispatchAndWait(item.Update); IdeApp.ProjectOperations.Save(item.Project); IdeApp.Workbench.StatusBar.ShowMessage("Updated Web Reference " + item.Name); } }
public StatusProgressMonitor (string title, string iconName, bool showErrorDialogs, bool showTaskTitles, bool lockGui, Pad statusSourcePad) { this.lockGui = lockGui; this.showErrorDialogs = showErrorDialogs; this.showTaskTitles = showTaskTitles; this.title = title; this.statusSourcePad = statusSourcePad; icon = ImageService.GetImage (iconName, Gtk.IconSize.Menu); statusBar = IdeApp.Workbench.StatusBar.CreateContext (); statusBar.StatusSourcePad = statusSourcePad; statusBar.BeginProgress (icon, title); if (lockGui) IdeApp.Workbench.LockGui (); }
public StatusProgressMonitor (string title, string iconName, bool showErrorDialogs, bool showTaskTitles, bool lockGui, Pad statusSourcePad): base (Runtime.MainSynchronizationContext) { this.lockGui = lockGui; this.showErrorDialogs = showErrorDialogs; this.showTaskTitles = showTaskTitles; this.title = title; this.statusSourcePad = statusSourcePad; icon = iconName; statusBar = IdeApp.Workbench.StatusBar.CreateContext (); statusBar.StatusSourcePad = statusSourcePad; statusBar.BeginProgress (iconName, title); if (lockGui) IdeApp.Workbench.LockGui (); }
public StatusProgressMonitor(string title, string iconName, bool showErrorDialogs, bool showTaskTitles, bool lockGui, Pad statusSourcePad) { this.lockGui = lockGui; this.showErrorDialogs = showErrorDialogs; this.showTaskTitles = showTaskTitles; this.title = title; this.statusSourcePad = statusSourcePad; icon = iconName; statusBar = IdeApp.Workbench.StatusBar.CreateContext(); statusBar.StatusSourcePad = statusSourcePad; statusBar.BeginProgress(iconName, title); if (lockGui) { IdeApp.Workbench.LockGui(); } }
public void UpdateAll() { using (StatusBarContext sbc = IdeApp.Workbench.StatusBar.CreateContext()) { sbc.BeginProgress(GettextCatalog.GetString("Updating web references")); sbc.AutoPulse = true; DotNetProject project = ((WebReferenceFolder)CurrentNode.DataItem).Project; List <WebReferenceItem> items = new List <WebReferenceItem> (WebReferencesService.GetWebReferenceItems(project)); DispatchService.BackgroundDispatchAndWait(delegate { foreach (var item in items) { item.Update(); } }); IdeApp.ProjectOperations.Save(project); IdeApp.Workbench.StatusBar.ShowMessage("Updated all Web References"); } }
public StatusProgressMonitor(string title, string iconName, bool showErrorDialogs, bool showTaskTitles, bool lockGui, Pad statusSourcePad) { this.lockGui = lockGui; this.showErrorDialogs = showErrorDialogs; this.showTaskTitles = showTaskTitles; this.title = title; this.statusSourcePad = statusSourcePad; if (!string.IsNullOrEmpty(iconName)) { icon = ImageService.GetImage(iconName, Gtk.IconSize.Menu); } statusBar = IdeApp.Workbench.StatusBar.CreateContext(); statusBar.StatusSourcePad = statusSourcePad; statusBar.BeginProgress(icon, title); if (lockGui) { IdeApp.Workbench.LockGui(); } }
public StatusProgressMonitor(string title, string iconName, bool showErrorDialogs, bool showTaskTitles, bool lockGui, Pad statusSourcePad, bool showCancelButton) : base(Runtime.MainSynchronizationContext) { this.lockGui = lockGui; this.showErrorDialogs = showErrorDialogs; this.showTaskTitles = showTaskTitles; this.title = title; this.statusSourcePad = statusSourcePad; this.showCancelButton = showCancelButton; icon = iconName; statusBar = IdeApp.Workbench.StatusBar.CreateContext(); statusBar.StatusSourcePad = statusSourcePad; if (showCancelButton) { statusBar.CancellationTokenSource = CancellationTokenSource; } statusBar.BeginProgress(iconName, title); if (lockGui) { IdeApp.Workbench.LockGui(); } }
void UpdateReferences(IList <WebReferenceItem> items) { try { UpdateReferenceContext = IdeApp.Workbench.StatusBar.CreateContext(); UpdateReferenceContext.BeginProgress(GettextCatalog.GetPluralString("Updating web reference", "Updating web references", items.Count)); Task.Run(() => { for (int i = 0; i < items.Count; i++) { Runtime.RunInMainThread(() => UpdateReferenceContext.SetProgressFraction(Math.Max(0.1, (double)i / items.Count))); try { items [i].Update(); } catch (Exception ex) { Runtime.RunInMainThread(() => { MessageService.ShowError(GettextCatalog.GetString("Failed to update Web Reference '{0}'", items [i].Name), ex); DisposeUpdateContext(); }).Wait(); return; } } Runtime.RunInMainThread(() => { // Make sure that we save all relevant projects, there should only be 1 though foreach (var project in items.Select(i => i.Project).Distinct()) { IdeApp.ProjectOperations.SaveAsync(project); } IdeApp.Workbench.StatusBar.ShowMessage(GettextCatalog.GetPluralString("Updated Web Reference {0}", "Updated Web References", items.Count, items[0].Name)); DisposeUpdateContext(); }); }); } catch { DisposeUpdateContext(); throw; } }