OSDN Git Service

キャンセル要求が成功した場合は一旦キャンセル表示を行う(cancelledイベントが飛ばない場合があるので)
authoryukihane <yukihane.feather@gmail.com>
Tue, 30 Aug 2011 08:21:18 +0000 (17:21 +0900)
committeryukihane <yukihane.feather@gmail.com>
Tue, 30 Aug 2011 08:21:18 +0000 (17:21 +0900)
frontend/src/yukihane/inqubus/gui/MainFrame.java
frontend/src/yukihane/inqubus/manager/TaskManage.java

index c642a7d..d620b14 100644 (file)
@@ -396,6 +396,9 @@ public class MainFrame extends JFrame {
             final Target t = targetModel.getTarget(row);
             final boolean res = taskManager.cancel(t.getRowId());
             logger.log(Level.FINE, "停止: {0} {1}", new Object[]{t.getVideoId(), res});
+            if (res) {
+                targetModel.setStatus(t.getRowId(), null, TaskStatus.CANCELLED, -1.0, "キャンセル");
+            }
         }
     }
 
index 47b037e..67c219b 100644 (file)
@@ -71,6 +71,7 @@ public class TaskManage {
     }
 
     public synchronized boolean cancel(int rowId) {
+        // FIXME 実行前にキャンセルした場合にはcancelledイベントが飛ばないのでMapからリクエストを削除できない
         final ManageTarget<DownloadResult> down = downloadTargets.get(rowId);
         if (down != null) {
             return down.getFuture().cancel(true);