import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.text.MessageFormat;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import de.todesbaum.jsite.application.FileOption;
import de.todesbaum.jsite.application.Project;
+import de.todesbaum.jsite.gui.FileScanner.ScannedFile;
import de.todesbaum.jsite.i18n.I18n;
import de.todesbaum.jsite.i18n.I18nContainer;
import de.todesbaum.util.mime.DefaultMIMETypes;
});
}
- /**
- * Returns a list of all project files.
- *
- * @return All project files
- */
- private List<String> getProjectFiles() {
- List<String> files = new ArrayList<String>();
- for (int index = 0, size = projectFileList.getModel().getSize(); index < size; index++) {
- files.add((String) projectFileList.getModel().getElementAt(index));
- }
- return files;
- }
-
//
// ACTIONS
//
public void fileScannerFinished(FileScanner fileScanner) {
final boolean error = fileScanner.isError();
if (!error) {
- final List<String> files = fileScanner.getFiles();
+ final List<ScannedFile> files = fileScanner.getFiles();
SwingUtilities.invokeLater(new Runnable() {
@SuppressWarnings("synthetic-access")
public void run() {
- projectFileList.setListData(files.toArray(new String[files.size()]));
+ String[] filenames = new String[files.size()];
+ for (int fileIndex = 0; fileIndex < files.size(); ++fileIndex) {
+ filenames[fileIndex] = files.get(fileIndex).getFilename();
+ }
+ projectFileList.setListData(filenames);
projectFileList.clearSelection();
}
});
Iterator<String> filenames = new HashSet<String>(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);
}
}
public void valueChanged(ListSelectionEvent e) {
String filename = (String) projectFileList.getSelectedValue();
boolean enabled = filename != null;
- boolean insert = fileOptionsInsertCheckBox.isSelected();
defaultFileCheckBox.setEnabled(enabled);
fileOptionsInsertCheckBox.setEnabled(enabled);
fileOptionsRenameCheckBox.setEnabled(enabled);