X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FProjectFilesPage.java;h=fcbc3693c06c6156094f1eec567bb15176c51238;hb=a4f3632796dfe5fbdcd1f6b7fd4b386b21808a09;hp=9514f5d5a4b57323ce1b90b98cb13d31e8c6430c;hpb=4a177438b3d26f7afe500ef385c6c0877995502f;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/ProjectFilesPage.java b/src/de/todesbaum/jsite/gui/ProjectFilesPage.java index 9514f5d..fcbc369 100644 --- a/src/de/todesbaum/jsite/gui/ProjectFilesPage.java +++ b/src/de/todesbaum/jsite/gui/ProjectFilesPage.java @@ -352,11 +352,7 @@ public class ProjectFilesPage extends TWizardPage implements ActionListener, Lis @SuppressWarnings("synthetic-access") public void run() { - String[] filenames = new String[files.size()]; - for (int fileIndex = 0; fileIndex < files.size(); ++fileIndex) { - filenames[fileIndex] = files.get(fileIndex).getFilename(); - } - projectFileList.setListData(filenames); + projectFileList.setListData(files.toArray()); projectFileList.clearSelection(); } }); @@ -364,7 +360,14 @@ public class ProjectFilesPage extends TWizardPage implements ActionListener, Lis Iterator filenames = new HashSet(project.getFileOptions().keySet()).iterator(); while (filenames.hasNext()) { String filename = filenames.next(); - if (!files.contains(filename)) { + boolean found = false; + for (ScannedFile scannedFile : files) { + if (scannedFile.getFilename().equals(filename)) { + found = true; + break; + } + } + if (!found) { entriesToRemove.add(filename); } } @@ -393,11 +396,11 @@ public class ProjectFilesPage extends TWizardPage implements ActionListener, Lis * no file is selected */ private FileOption getSelectedFile() { - String filename = (String) projectFileList.getSelectedValue(); - if (filename == null) { + ScannedFile scannedFile = (ScannedFile) projectFileList.getSelectedValue(); + if (scannedFile == null) { return null; } - return project.getFileOption(filename); + return project.getFileOption(scannedFile.getFilename()); } // @@ -414,10 +417,11 @@ public class ProjectFilesPage extends TWizardPage implements ActionListener, Lis actionScan(); return; } - String filename = (String) projectFileList.getSelectedValue(); - if (filename == null) { + ScannedFile scannedFile = (ScannedFile) projectFileList.getSelectedValue(); + if (scannedFile == null) { return; } + String filename = scannedFile.getFilename(); FileOption fileOption = project.getFileOption(filename); if (source instanceof JCheckBox) { JCheckBox checkBox = (JCheckBox) source; @@ -463,8 +467,9 @@ public class ProjectFilesPage extends TWizardPage implements ActionListener, Lis * {@inheritDoc} */ public void valueChanged(ListSelectionEvent e) { - String filename = (String) projectFileList.getSelectedValue(); - boolean enabled = filename != null; + ScannedFile scannedFile = (ScannedFile) projectFileList.getSelectedValue(); + boolean enabled = scannedFile != null; + String filename = (scannedFile == null) ? null : scannedFile.getFilename(); defaultFileCheckBox.setEnabled(enabled); fileOptionsInsertCheckBox.setEnabled(enabled); fileOptionsRenameCheckBox.setEnabled(enabled); @@ -508,11 +513,11 @@ public class ProjectFilesPage extends TWizardPage implements ActionListener, Lis * The document event to process */ private void processDocumentUpdate(DocumentEvent documentEvent) { - String filename = (String) projectFileList.getSelectedValue(); - if (filename == null) { + ScannedFile scannedFile = (ScannedFile) projectFileList.getSelectedValue(); + if (scannedFile == null) { return; } - FileOption fileOption = project.getFileOption(filename); + FileOption fileOption = project.getFileOption(scannedFile.getFilename()); Document document = documentEvent.getDocument(); try { String text = document.getText(0, document.getLength());