From 6e904003b9da5ad93522b8b5db39d6f14599d8e4 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 18 Sep 2017 09:43:02 -0500 Subject: [PATCH] Added a handled case for when there are no images in the specified slideshow directory to prevent errors. --- SlideshowViewer/SlideshowViewer.jar | Bin 221351 -> 221649 bytes .../sig/SlideshowViewer/SlideshowViewer.java | 60 +++++++++++++----- 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/SlideshowViewer/SlideshowViewer.jar b/SlideshowViewer/SlideshowViewer.jar index 17bafd127e63dd52071372535706c2a83d4010f1..64228703264246fb99749abb3863bda9521f4c28 100644 GIT binary patch delta 15059 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 Osq<;u%78`8{b>M#WpT?b!|Lo5`A)`9+5JO$LO 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 debugqueue = new ArrayList(); static Timer programClock = new Timer(1000,new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { @@ -67,7 +68,9 @@ public class SlideshowViewer { if (button.getText().contains("Start")) { PrintToSystemAndAddToDebugBox("Running slideshow..."); SelectImage(); - button.setText("Stop Slideshow"); + if (slideshowDataFiles.length>0) { + button.setText("Stop Slideshow"); + } } else { PrintToSystemAndAddToDebugBox("Stopping slideshow..."); button.setText("Start Slideshow"); @@ -147,14 +150,23 @@ public class SlideshowViewer { }; public static void SelectImage() { - String selectedFile = slideshowDataFiles[(slideshowMarker++)%slideshowDataFiles.length]; - if (random.getState()) { - selectedFile = slideshowDataFiles[(int)(Math.random()*slideshowDataFiles.length)]; + if (slideshowDataFiles.length>0) { + String selectedFile = slideshowDataFiles[(slideshowMarker++)%slideshowDataFiles.length]; + if (random.getState()) { + selectedFile = slideshowDataFiles[(int)(Math.random()*slideshowDataFiles.length)]; + } + currentDisplayedFile = slideshowFolderPath+selectedFile; + nextImageChange = currentTick + slideshowDelay; + PrintToSystemAndAddToDebugBox("Selected image "+selectedFile+". Next change in "+slideshowDelay+" second"+((slideshowDelay!=1)?"s":"")+"."); + ChangeSlideshowImage(); + } else { + try { + PrintToSystemAndAddToDebugBox("\nCount not start slideshow! Please insert images into the "+new File(slideshowFolderPath).getCanonicalPath()+" directory or select a valid slideshow directory!"); + button.setText("Stop Slideshow"); + } catch (IOException e) { + e.printStackTrace(); + } } - currentDisplayedFile = slideshowFolderPath+selectedFile; - nextImageChange = currentTick + slideshowDelay; - PrintToSystemAndAddToDebugBox("Selected image "+selectedFile+". Next change in "+slideshowDelay+" second"+((slideshowDelay!=1)?"s":"")+"."); - ChangeSlideshowImage(); } private static void ChangeSlideshowImage() { @@ -174,16 +186,15 @@ public class SlideshowViewer { } public static void main(String[] args) { - List debugqueue = new ArrayList(); - PrintToSystemAndAddToQueue(debugqueue,"Slideshow Viewer v"+PROGRAM_VERSION+" Started."); + PrintToSystemAndAddToQueue("Slideshow Viewer v"+PROGRAM_VERSION+" Started."); programClock.start(); File config_file = new File("config_slideshow.txt"); File slideshowdirectory = null; if (!config_file.exists()) { - PrintToSystemAndAddToQueue(debugqueue,"\nConfiguration file does not exist...Creating one."); + PrintToSystemAndAddToQueue("\nConfiguration file does not exist...Creating one."); CreateAndSaveConfigurationFile(); } else { LoadConfigurationFile(); @@ -191,17 +202,17 @@ public class SlideshowViewer { slideshowdirectory = new File(slideshowFolderPath); if (slideshowdirectory!=null && slideshowdirectory.exists()) { - PrintToSystemAndAddToQueue(debugqueue," Loading slideshow data..."); + PrintToSystemAndAddToQueue(" Loading slideshow data..."); if (!LoadSlideshowData(slideshowdirectory)) { return; } } else { - PrintToSystemAndAddToQueue(debugqueue,"\nSlideshow data does not exist...Creating a slideshow directory..."); + PrintToSystemAndAddToQueue("\nSlideshow data does not exist...Creating a slideshow directory..."); slideshowdirectory = new File("./slideshow"); slideshowdirectory.mkdirs(); slideshowDataFiles = new String[]{}; try { - PrintToSystemAndAddToQueue(debugqueue,"\nPlease insert files into the "+slideshowdirectory.getCanonicalPath()+" directory!"); + PrintToSystemAndAddToQueue("\nPlease insert files into the "+slideshowdirectory.getCanonicalPath()+" directory!"); } catch (IOException e) { e.printStackTrace(); } @@ -326,6 +337,7 @@ public class SlideshowViewer { for (String s : debugqueue) { debugBox.setText(debugBox.getText()+s+"\n"); } + debugqueue.clear(); debugBox.setWrapStyleWord(true); JScrollPane scrollPane = new JScrollPane(debugBox); scrollPane.setPreferredSize(new Dimension(320,96)); @@ -361,15 +373,28 @@ public class SlideshowViewer { f.pack(); } - private static void PrintToSystemAndAddToQueue(List debugqueue, String string) { + private static void PrintToSystemAndAddToQueue(String string) { debugqueue.add(string); System.out.println(string); } public static void PrintToSystemAndAddToDebugBox(String message) { - debugBox.setText((debugBox.getText().length()>5000?debugBox.getText().substring(debugBox.getText().length()-5000, debugBox.getText().length()-1):debugBox.getText())+message+"\n"); + if (debugBox!=null) { + debugBox.setText((debugBox.getText().length()>5000?debugBox.getText().substring(debugBox.getText().length()-5000, debugBox.getText().length()-1):debugBox.getText())+message+"\n"); + } else { + debugqueue.add(message); + } System.out.println(message); } + + public static void FlushDebugQueue() { + if (debugBox!=null) { + for (String s : debugqueue) { + debugBox.setText((debugBox.getText().length()>5000?debugBox.getText().substring(debugBox.getText().length()-5000, debugBox.getText().length()-1):debugBox.getText())+s+"\n"); + } + debugqueue.clear(); + } + } protected static void performStep() { DetectDirectoryChange(); @@ -390,6 +415,9 @@ public class SlideshowViewer { currentdelay = 60; delayAmtBox.setText(Integer.toString(currentdelay)); } + if (debugqueue.size()>0) { + FlushDebugQueue(); + } slideshowDelay = currentdelay; }