[jbosstools-commits] JBoss Tools SVN: r36026 - trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Oct 26 17:51:35 EDT 2011


Author: snjeza
Date: 2011-10-26 17:51:35 -0400 (Wed, 26 Oct 2011)
New Revision: 36026

Modified:
   trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/AbstractJBossCentralPage.java
   trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java
   trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/RefreshIndicator.java
   trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/SoftwarePage.java
Log:
JBIDE-10028 JBoss Central Editor Maximize/Restore actions freeze UI and loads CPU

Modified: trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/AbstractJBossCentralPage.java
===================================================================
--- trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/AbstractJBossCentralPage.java	2011-10-26 21:50:07 UTC (rev 36025)
+++ trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/AbstractJBossCentralPage.java	2011-10-26 21:51:35 UTC (rev 36026)
@@ -19,6 +19,7 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.forms.editor.FormEditor;
 import org.eclipse.ui.forms.editor.FormPage;
@@ -98,4 +99,14 @@
 		formText.setText(text, true, false);
 		return composite;
 	}
+
+	protected void setBusyIndicator(Composite composite, boolean busy) {
+		Control[] children = composite.getChildren();
+		for (Control child:children) {
+			if (child instanceof RefreshIndicator) {
+				RefreshIndicator indicator = (RefreshIndicator) child;
+				indicator.setBusy(busy);
+			}
+		}
+	}
 }

Modified: trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java
===================================================================
--- trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java	2011-10-26 21:50:07 UTC (rev 36025)
+++ trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java	2011-10-26 21:51:35 UTC (rev 36026)
@@ -150,6 +150,7 @@
 	private RefreshNewsJobChangeListener refreshNewsJobChangeListener;
 	private Section settingsSection;
 	private Composite settingsComposite;
+	private Point oldSize;
 	
 	public GettingStartedPage(FormEditor editor) {
 		super(editor, ID, "Getting Started");
@@ -715,12 +716,12 @@
 			@Override
 			public void run() {
 				pageBook.showPage(composite);
+				setBusyIndicator(composite, true);
 				form.reflow(true);
 				form.redraw();
 				recomputeScrollComposite(scrolledComposite, pageBook);
 			}
 		});
-		
 		return true;
 	}
 
@@ -1009,6 +1010,10 @@
 		} else {
 			size = form.getBody().getSize();
 		}
+		if (size.equals(oldSize)) {
+			return;
+		}
+		oldSize = size;
 		GridData gd;
 		Point computedSize;
 		int widthHint = size.x/2 - 40;
@@ -1109,6 +1114,7 @@
 				
 				@Override
 				public void run() {
+					setBusyIndicator(blogsLoadingComposite, false);
 					refreshBlogs();
 				}
 			});
@@ -1151,6 +1157,7 @@
 				
 				@Override
 				public void run() {
+					setBusyIndicator(tutorialsLoadingComposite, false);
 					refreshTutorials();
 				}
 			});
@@ -1193,6 +1200,7 @@
 				
 				@Override
 				public void run() {
+					setBusyIndicator(newsLoadingComposite, false);
 					refreshNews();
 				}
 			});

Modified: trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/RefreshIndicator.java
===================================================================
--- trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/RefreshIndicator.java	2011-10-26 21:50:07 UTC (rev 36025)
+++ trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/RefreshIndicator.java	2011-10-26 21:51:35 UTC (rev 36026)
@@ -108,6 +108,9 @@
 					while (!stop) {
 						Display.getDefault().syncExec(new Runnable() {
 							public void run() {
+								if (!getParent().isVisible()) {
+									return;
+								}
 								if (!stop) {
 									if (count < maxCount)
 										setImage(images[count]);

Modified: trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/SoftwarePage.java
===================================================================
--- trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/SoftwarePage.java	2011-10-26 21:50:07 UTC (rev 36025)
+++ trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/SoftwarePage.java	2011-10-26 21:51:35 UTC (rev 36026)
@@ -252,11 +252,11 @@
 			@Override
 			public void run() {
 				pageBook.showPage(loadingComposite);
+				setBusyIndicator(loadingComposite, true);
 				form.reflow(true);
 				form.redraw();
 			}
 		});
-		
 		return true;
 	}
 
@@ -309,6 +309,7 @@
 				
 				@Override
 				public void run() {
+					setBusyIndicator(loadingComposite, false);
 					refresh();
 				}
 			});



More information about the jbosstools-commits mailing list