mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-165402 Toolwindow initialization takes noticeable time during project loading without visual...
This commit is contained in:
@@ -141,10 +141,16 @@ public class StartupManagerImpl extends StartupManagerEx {
|
||||
}
|
||||
|
||||
public void runPostStartupActivitiesFromExtensions() {
|
||||
for (final StartupActivity extension : Extensions.getExtensions(StartupActivity.POST_STARTUP_ACTIVITY)) {
|
||||
StartupActivity[] extensions = Extensions.getExtensions(StartupActivity.POST_STARTUP_ACTIVITY);
|
||||
for (final StartupActivity extension : extensions) {
|
||||
final Runnable runnable = () -> {
|
||||
if (!myProject.isDisposed()) {
|
||||
long start = System.currentTimeMillis();
|
||||
extension.runActivity(myProject);
|
||||
long duration = System.currentTimeMillis() - start;
|
||||
if (duration > 200) {
|
||||
LOG.info(extension.getClass().getSimpleName() + " run in " + duration);
|
||||
}
|
||||
}
|
||||
};
|
||||
if (extension instanceof DumbAware) {
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.openapi.fileEditor.impl;
|
||||
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.ide.ui.UISettingsListener;
|
||||
import com.intellij.openapi.Disposable;
|
||||
@@ -235,7 +234,6 @@ public class EditorsSplitters extends IdePanePanel implements UISettingsListener
|
||||
|
||||
public void openFiles() {
|
||||
if (mySplittersElement != null) {
|
||||
initializeProgress();
|
||||
final JPanel comp = myUIBuilder.process(mySplittersElement, getTopPanel());
|
||||
UIUtil.invokeAndWaitIfNeeded((Runnable)() -> {
|
||||
if (comp != null) {
|
||||
@@ -255,13 +253,6 @@ public class EditorsSplitters extends IdePanePanel implements UISettingsListener
|
||||
}
|
||||
}
|
||||
|
||||
private static void initializeProgress() {
|
||||
ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
|
||||
if (indicator != null) {
|
||||
indicator.setText(IdeBundle.message("loading.editors"));
|
||||
}
|
||||
}
|
||||
|
||||
public int getEditorsCount() {
|
||||
return mySplittersElement == null ? 0 : countFiles(mySplittersElement);
|
||||
}
|
||||
|
||||
+3
-1
@@ -352,7 +352,9 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable {
|
||||
}
|
||||
}, ModalityState.NON_MODAL);
|
||||
};
|
||||
if (myProgressManager.getProgressIndicator() != null) {
|
||||
ProgressIndicator indicator = myProgressManager.getProgressIndicator();
|
||||
if (indicator != null) {
|
||||
indicator.setText("Preparing workspace...");
|
||||
process.run();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user