? progressui63586.diff ? test ? nbproject/.cvsignore Index: src/org/netbeans/modules/progress/ui/ListComponent.java =================================================================== RCS file: /cvs/core/progressui/src/org/netbeans/modules/progress/ui/ListComponent.java,v retrieving revision 1.2 diff -u -r1.2 ListComponent.java --- src/org/netbeans/modules/progress/ui/ListComponent.java 4 Sep 2006 10:58:06 -0000 1.2 +++ src/org/netbeans/modules/progress/ui/ListComponent.java 12 Oct 2006 08:59:22 -0000 @@ -203,7 +203,8 @@ void processProgressEvent(ProgressEvent event) { if (event.getType() == ProgressEvent.TYPE_PROGRESS || - event.getType() == ProgressEvent.TYPE_SWITCH) { + event.getType() == ProgressEvent.TYPE_SWITCH || + event.getType() == ProgressEvent.TYPE_SILENT) { if (event.getSource() != handle) { throw new IllegalStateException(); } Index: src/org/netbeans/modules/progress/ui/NbProgressBar.java =================================================================== RCS file: /cvs/core/progressui/src/org/netbeans/modules/progress/ui/NbProgressBar.java,v retrieving revision 1.2 diff -u -r1.2 NbProgressBar.java --- src/org/netbeans/modules/progress/ui/NbProgressBar.java 4 Aug 2006 09:24:05 -0000 1.2 +++ src/org/netbeans/modules/progress/ui/NbProgressBar.java 12 Oct 2006 08:59:22 -0000 @@ -112,8 +112,16 @@ static void setupBar(InternalHandle handle, NbProgressBar bar) { + bar.putClientProperty("sleepy", null); //NIO18N int total = handle.getTotalUnits(); - if (total < 1) { + if (handle.isInSleepMode()) { + bar.setStringPainted(true); + bar.setIndeterminate(false); + bar.setMaximum(1); + bar.setMinimum(0); + bar.setValue(0); + bar.putClientProperty("sleepy", new Object()); //NIO18N + } else if (total < 1) { // macosx workaround.. bar.setValue(bar.getMaximum()); bar.setIndeterminate(true); Index: src/org/netbeans/modules/progress/ui/StatusLineComponent.java =================================================================== RCS file: /cvs/core/progressui/src/org/netbeans/modules/progress/ui/StatusLineComponent.java,v retrieving revision 1.3 diff -u -r1.3 StatusLineComponent.java --- src/org/netbeans/modules/progress/ui/StatusLineComponent.java 4 Sep 2006 10:58:06 -0000 1.3 +++ src/org/netbeans/modules/progress/ui/StatusLineComponent.java 12 Oct 2006 08:59:22 -0000 @@ -206,7 +206,8 @@ if (event.getType() == ProgressEvent.TYPE_START) { createListItem(event.getSource()); } else if (event.getType() == ProgressEvent.TYPE_PROGRESS || - event.getType() == ProgressEvent.TYPE_SWITCH) { + event.getType() == ProgressEvent.TYPE_SWITCH || + event.getType() == ProgressEvent.TYPE_SILENT) { ListComponent comp = (ListComponent)handleComponentMap.get(event.getSource()); if (comp == null) { createListItem(event.getSource()); @@ -216,7 +217,12 @@ } else if (event.getType() == ProgressEvent.TYPE_FINISH) { removeListItem(event.getSource()); if (model.getSelectedHandle() != null && handle != model.getSelectedHandle()) { - initiateComponent(model.getSelectedHandle().requestStateSnapshot()); + ProgressEvent snap = model.getSelectedHandle().requestStateSnapshot(); + initiateComponent(snap); + if (snap.getSource().isInSleepMode()) { + bar.setString(snap.getMessage()); + } + } } @@ -235,7 +241,10 @@ repaint(); return; } else { - if (event.getSource() != handle || event.isSwitched()) { + if (event.getSource() != handle || event.isSwitched() || + event.getType() == ProgressEvent.TYPE_SILENT || + // the following condition re-initiates the bar when going from/to sleep mode.. + (event.getSource().isInSleepMode() != (bar.getClientProperty("sleepy") != null))) { //NIO18N initiateComponent(event); } if (event.getWorkunitsDone() > 0) { @@ -245,6 +254,10 @@ if (event.getDisplayName() != null) { label.setText(event.getDisplayName()); } + if (event.getSource().isInSleepMode()) { + bar.setString(event.getMessage()); + } + } } @@ -273,6 +286,7 @@ toShow = true; } NbProgressBar.setupBar(event.getSource(), bar); + if (bar.getParent() == null) { add(bar); toShow = true;