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();
}
});
Show replies by date