Ignore:
Timestamp:
04/13/07 19:28:10 (5 years ago)
Author:
jlee
Message:

New ProgressDialog?; new directory handling; DnD still needs to be fixed now; other job types still need work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/thestaticvoid/iriverter/ConverterUI.java

    r157 r158  
    4343        private Menu videoSizeMenu; 
    4444        private DropTarget target; 
    45         private String fileName; 
    46         private Process proc; 
    4745        private ProgressDialog progressDialog; 
    4846         
     
    397395                         
    398396                        progressDialog = new ProgressDialog(shell, SWT.NONE); 
     397                        progressDialog.setTotalJobs(jobs.length); 
    399398                         
    400399                        Converter converter = new Converter(jobs, progressDialog); 
     
    415414                                while (!canceled) 
    416415                                        try { 
    417                                                 proc = Runtime.getRuntime().exec(new String[]{MPlayerInfo.getMPlayerPath() + MPlayerInfo.MPLAYER_BIN, file}); 
     416                                                Runtime.getRuntime().exec(new String[]{MPlayerInfo.getMPlayerPath() + MPlayerInfo.MPLAYER_BIN, file}); 
    418417                                                canceled = true; 
    419418                                        } catch (IOException io) { 
    420                                                 io.printStackTrace(); 
     419                                                Logger.logException(io); 
    421420                                                canceled = true; 
    422421                                        } catch (MPlayerNotFoundException mpe) { 
     
    436435                } 
    437436                 
    438                 /*if (e.getSource() == newDirectory || e.getSource() == newDirectoryTool) 
    439                         newDirectory();*/ 
     437                if (e.getSource() == newDirectory || e.getSource() == newDirectoryTool) 
     438                        newDirectory(); 
    440439                 
    441440                if (e.getSource() == newDVD || e.getSource() == newDVDTool) 
     
    661660                                File file = new File(files[i]); 
    662661                                 
    663                                 if (file.isFile() && new VideoFileFilter().accept(file)) 
     662                                /* if (file.isFile() && new VideoFileFilter().accept(file)) 
    664663                                        newSingleVideo(files[i].toString()); 
    665664                                else if (file.isDirectory()) 
    666665                                        if (new File(files[i] + File.separator + "VIDEO_TS").exists()) 
    667666                                                newDVD().setDrive(files[i]); 
    668                                         /* else 
    669                                                 newDirectory().setInputDirectory(files[i]);*/ 
     667                                        else 
     668                                                newDirectory().setInputDirectory(files[i]); */ 
    670669                        } 
    671670                }                
     
    676675        } 
    677676         
    678         private SingleVideo newSingleVideo(String video) { 
    679                 CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE); 
    680                 SingleVideo singleVideo = null; 
    681                  
    682                 boolean canceled = false; 
    683                 while (!canceled) 
    684                         try { 
    685                                 singleVideo = new SingleVideo(tabFolder, SWT.NONE, tabItem, video, MPlayerInfo.getMPlayerPath());  
    686                                 tabItem.setControl(singleVideo); 
    687                                 tabFolder.setSelection(tabItem); 
    688                                 tabChanged(false); 
    689                                 canceled = true; 
    690                         } catch (MPlayerNotFoundException mpe) { 
    691                                 canceled = new MPlayerPathDialog(shell).open(); 
    692                         } catch (Exception e) { 
    693                                 tabItem.dispose(); 
    694                                 canceled = true; 
     677        private void newSingleVideo(final String video) { 
     678                display.syncExec(new Runnable() { 
     679                        public void run() { 
     680                                CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE); 
     681                                SingleVideo singleVideo = null; 
     682                                 
     683                                boolean canceled = false; 
     684                                while (!canceled) 
     685                                        try { 
     686                                                singleVideo = new SingleVideo(tabFolder, SWT.NONE, tabItem, video, MPlayerInfo.getMPlayerPath());  
     687                                                tabItem.setControl(singleVideo); 
     688                                                tabFolder.setSelection(tabItem); 
     689                                                tabChanged(false); 
     690                                                canceled = true; 
     691                                        } catch (MPlayerNotFoundException mpe) { 
     692                                                canceled = new MPlayerPathDialog(shell).open(); 
     693                                        } catch (Exception e) { 
     694                                                tabItem.dispose(); 
     695                                                canceled = true; 
     696                                        } 
    695697                        } 
    696                  
    697                 return singleVideo; 
    698         } 
    699          
    700         /* private Directory newDirectory() { 
    701                 CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE); 
    702                 Directory directory = new Directory(tabFolder, SWT.NONE, tabItem); 
    703                 tabItem.setControl(directory); 
    704                 tabFolder.setSelection(tabItem); 
    705                 tabChanged(false); 
    706                  
    707                 return directory; 
    708         } */ 
     698                }); 
     699        } 
     700         
     701        private void newDirectory() { 
     702                final DirectoryScanner directoryScanner = new AddDirectoryDialog(shell, SWT.NONE).open(); 
     703                if (directoryScanner != null) { 
     704                        final DirectoryProgressDialog directoryProgressDialog = new DirectoryProgressDialog(shell, SWT.NONE); 
     705                        new Thread() { 
     706                                public void run() { 
     707                                        String[] videos = directoryScanner.getVideos(); 
     708                                        directoryProgressDialog.setMaximum(videos.length); 
     709                                        for (int i = 0; i < videos.length; i++) { 
     710                                                directoryProgressDialog.setCurrent(i + 1); 
     711                                                newSingleVideo(videos[i]); 
     712                                        } 
     713                                        directoryProgressDialog.close(); 
     714                                } 
     715                        }.start(); 
     716                        directoryProgressDialog.open(); 
     717                } 
     718        } 
    709719         
    710720        private DVD newDVD() { 
Note: See TracChangeset for help on using the changeset viewer.