Author: jflesch
Date: 2008-01-27 12:11:50 +0000 (Sun, 27 Jan 2008)
New Revision: 17314
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
TrayIcon / QueueWatcher : Should fix the ballon-user-to-death bug
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java 2008-01-27 12:02:59 UTC
(rev 17313)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java 2008-01-27 12:11:50 UTC
(rev 17314)
@@ -90,10 +90,14 @@
if (blocks <= 0 || diffTime <= 0)
return;
+ long prevAverageSpeed = averageSpeed;
+ long prevETA = ETA;
+
averageSpeed = (blocks * BLOCK_SIZE) /
diffTime;
ETA = diffTime; /* ok, it's a little bit icky,
but it does the trick :) */
- notifyChange();
+ if (prevAverageSpeed != averageSpeed || prevETA
!= ETA)
+ notifyChange(new Long(ETA));
return;
}
@@ -270,7 +274,12 @@
notifyObservers();
}
+ public void notifyChange(Object o) {
+ setChanged();
+ notifyObservers(o);
+ }
+
/**** To implement : ****/
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
2008-01-27 12:02:59 UTC (rev 17313)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
2008-01-27 12:11:50 UTC (rev 17314)
@@ -366,7 +366,8 @@
if (o instanceof FCPTransferQuery
&& queries.indexOf(o) >= 0
- && ((FCPTransferQuery)o).isFinished()) {
+ && ((FCPTransferQuery)o).isFinished()
+ && !(arg instanceof Long /* update of the total time/ETA
*/)) {
String str = null;