|
From: Paul G. <pa...@us...> - 2005-04-20 18:24:13
|
Update of /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30858/org/gudy/azureus2/ui/swt/views/tableitems/files Modified Files: FirstPieceItem.java RemainingPiecesItem.java PercentItem.java DoneItem.java PathItem.java ProgressGraphItem.java PieceCountItem.java Log Message: make skeleton file info available for stopped torrents Index: PathItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/PathItem.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- PathItem.java 27 Oct 2004 14:15:17 -0000 1.2 +++ PathItem.java 20 Apr 2005 18:23:34 -0000 1.3 @@ -58,7 +58,7 @@ } } else { //display as relative torrent path - DownloadManager dm = fileInfo.getDiskManager().getDownloadManager(); + DownloadManager dm = fileInfo.getDownloadManager(); String root = dm.getTorrentSaveDir(); if( !dm.getTorrent().isSimpleTorrent() ) { Index: DoneItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/DoneItem.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- DoneItem.java 15 Nov 2004 15:19:37 -0000 1.3 +++ DoneItem.java 20 Apr 2005 18:23:34 -0000 1.4 @@ -48,6 +48,8 @@ return; } - cell.setText(DisplayFormatters.formatByteCountToKiBEtc(value)); + // value < 0 -> unknown skeleton value + + cell.setText(value<0?"":DisplayFormatters.formatByteCountToKiBEtc(value)); } } Index: RemainingPiecesItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/RemainingPiecesItem.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- RemainingPiecesItem.java 15 Nov 2004 15:19:37 -0000 1.4 +++ RemainingPiecesItem.java 20 Apr 2005 18:23:34 -0000 1.5 @@ -20,6 +20,7 @@ package org.gudy.azureus2.ui.swt.views.tableitems.files; +import org.gudy.azureus2.core3.disk.DiskManager; import org.gudy.azureus2.core3.disk.DiskManagerFileInfo; import org.gudy.azureus2.core3.disk.DiskManagerPiece; import org.gudy.azureus2.plugins.ui.tables.*; @@ -41,23 +42,30 @@ } public void refresh(TableCell cell) { - DiskManagerFileInfo fileInfo = (DiskManagerFileInfo)cell.getDataSource(); - + DiskManagerFileInfo fileInfo = (DiskManagerFileInfo)cell.getDataSource(); + + // dm may be null if this is a skeleton file view + + DiskManager dm = fileInfo.getDiskManager(); + int remaining = 0; - if( fileInfo != null ) { + if( fileInfo != null && dm != null ) { int start = fileInfo.getFirstPieceNumber(); int end = start + fileInfo.getNbPieces(); - DiskManagerPiece[] pieces = fileInfo.getDiskManager().getPieces(); + DiskManagerPiece[] pieces = dm.getPieces(); for( int i = start; i < end; i++ ) { if( !pieces[ i ].getDone() ) remaining++; } + }else{ + + remaining = -1; // unknown } if( !cell.setSortValue( remaining ) && cell.isValid() ) { return; } - cell.setText( "" + remaining ); + cell.setText( "" + ( remaining<0?"":(""+remaining))); } } Index: ProgressGraphItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/ProgressGraphItem.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- ProgressGraphItem.java 15 Nov 2004 18:20:50 -0000 1.13 +++ ProgressGraphItem.java 20 Apr 2005 18:23:34 -0000 1.14 @@ -117,7 +117,11 @@ GC gcImage = new GC(piecesImage); - if (fileInfo != null) { + // dm may be null if this is a skeleton file view + + DiskManager manager = fileInfo.getDiskManager(); + + if (fileInfo != null && manager != null ) { if (percentDone == 1000) { gcImage.setForeground(Colors.blues[Colors.BLUES_DARKEST]); gcImage.setBackground(Colors.blues[Colors.BLUES_DARKEST]); @@ -125,9 +129,7 @@ } else { int firstPiece = fileInfo.getFirstPieceNumber(); int nbPieces = fileInfo.getNbPieces(); - - DiskManager manager = fileInfo.getDiskManager(); - + DiskManagerPiece[] dm_pieces = manager.getPieces(); PEPeerManager pm = manager.getDownloadManager().getPeerManager(); @@ -191,7 +193,11 @@ } else { gcImage.setForeground(Colors.grey); } - gcImage.drawRectangle(0, 0, newWidth - 1, newHeight - 1); + + if ( manager != null ){ + + gcImage.drawRectangle(0, 0, newWidth - 1, newHeight - 1); + } gcImage.dispose(); last_draw_time = SystemTime.getCurrentTime(); Index: PercentItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/PercentItem.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- PercentItem.java 15 Nov 2004 15:19:37 -0000 1.3 +++ PercentItem.java 20 Apr 2005 18:23:34 -0000 1.4 @@ -40,15 +40,32 @@ } public void refresh(TableCell cell) { + DiskManagerFileInfo fileInfo = (DiskManagerFileInfo)cell.getDataSource(); + long percent = 0; - if (fileInfo != null && fileInfo.getLength() != 0) - percent = (1000 * fileInfo.getDownloaded()) / fileInfo.getLength(); + + if (fileInfo != null ){ + + if ( fileInfo.getDownloaded() < 0 ){ + + percent = -1; // unknown skeleton value + + }else if ( fileInfo.getLength() != 0 ){ + percent = (1000 * fileInfo.getDownloaded()) / fileInfo.getLength(); + } + + }else{ + + percent = -1; // unknown skeleton value + } + if( !cell.setSortValue( percent ) && cell.isValid() ) { + return; } - cell.setText((percent / 10) + "." + (percent % 10) + "%"); + cell.setText( percent < 0?"":((percent / 10) + "." + (percent % 10) + "%")); } } Index: FirstPieceItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/FirstPieceItem.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- FirstPieceItem.java 15 Nov 2004 15:19:37 -0000 1.3 +++ FirstPieceItem.java 20 Apr 2005 18:23:33 -0000 1.4 @@ -46,6 +46,8 @@ return; } - cell.setText(""+value); + // < 0 -> unknown skeleton value + + cell.setText( value<0?"":(""+value)); } } Index: PieceCountItem.java =================================================================== RCS file: /cvsroot/azureus/azureus2/org/gudy/azureus2/ui/swt/views/tableitems/files/PieceCountItem.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- PieceCountItem.java 15 Nov 2004 15:19:37 -0000 1.3 +++ PieceCountItem.java 20 Apr 2005 18:23:34 -0000 1.4 @@ -46,6 +46,8 @@ return; } - cell.setText(""+value); + // < 0 -> unknown skeleton value + + cell.setText( value<0?"":(""+value)); } } |