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 ();
		}
Ejemplo n.º 6
0
 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");
     }
 }
Ejemplo n.º 8
0
 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();
     }
 }
Ejemplo n.º 10
0
        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;
            }
        }