X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FMain.java;h=a654c491181c928b267f0cef299a9560d467b64b;hb=9ae8b539cf9b4d55ee2bfca34a328652cdf9fe1f;hp=ddeb414d045c44cfd1d88f5ca69ac758e6822445;hpb=e2e553c23e712178421dbedae7308466fc23c9c9;p=jSite.git diff --git a/src/de/todesbaum/jsite/main/Main.java b/src/de/todesbaum/jsite/main/Main.java index ddeb414..a654c49 100644 --- a/src/de/todesbaum/jsite/main/Main.java +++ b/src/de/todesbaum/jsite/main/Main.java @@ -24,8 +24,10 @@ import java.awt.event.ActionListener; import java.io.File; import java.io.IOException; import java.text.MessageFormat; +import java.util.Arrays; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; @@ -75,11 +77,10 @@ import de.todesbaum.util.swing.WizardListener; public class Main implements ActionListener, ListSelectionListener, WizardListener, NodeManagerListener, UpdateListener { /** The logger. */ - @SuppressWarnings("unused") private static final Logger logger = Logger.getLogger(Main.class.getName()); /** The version. */ - private static final Version VERSION = new Version(0, 7, 1); + private static final Version VERSION = new Version(0, 8); /** The configuration. */ private Configuration configuration; @@ -220,7 +221,6 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen /** * {@inheritDoc} */ - @Override @SuppressWarnings("synthetic-access") public void actionPerformed(ActionEvent actionEvent) { optionsPreferences(); @@ -449,6 +449,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen showPage(PageType.PAGE_PREFERENCES); optionsPreferencesAction.setEnabled(false); wizard.setNextEnabled(true); + wizard.setNextName(I18n.getMessage("jsite.wizard.next")); } /** @@ -530,20 +531,27 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen return; } } - if (hasIndexFile && !project.getFileOption(indexFile).getMimeType().equals("text/html")) { + List allowedIndexContentTypes = Arrays.asList("text/html", "application/xhtml+xml"); + if (hasIndexFile && !allowedIndexContentTypes.contains(project.getFileOption(indexFile).getMimeType())) { if (JOptionPane.showConfirmDialog(wizard, I18n.getMessage("jsite.project-files.index-not-html"), null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE) != JOptionPane.OK_OPTION) { return; } } Map fileOptions = project.getFileOptions(); Set> fileOptionEntries = fileOptions.entrySet(); + boolean insert = false; for (Entry fileOptionEntry : fileOptionEntries) { FileOption fileOption = fileOptionEntry.getValue(); - if (!fileOption.isInsert() && ((fileOption.getCustomKey().length() == 0) || "CHK@".equals(fileOption.getCustomKey()))) { + insert |= fileOption.isInsert() || fileOption.isInsertRedirect(); + if (!fileOption.isInsert() && fileOption.isInsertRedirect() && ((fileOption.getCustomKey().length() == 0) || "CHK@".equals(fileOption.getCustomKey()))) { JOptionPane.showMessageDialog(wizard, MessageFormat.format(I18n.getMessage("jsite.project-files.no-custom-key"), fileOptionEntry.getKey()), null, JOptionPane.ERROR_MESSAGE); return; } } + if (!insert) { + JOptionPane.showMessageDialog(wizard, I18n.getMessage("jsite.project-files.no-files-to-insert"), null, JOptionPane.ERROR_MESSAGE); + return; + } boolean nodeRunning = false; try { nodeRunning = freenetInterface.isNodePresent(); @@ -556,16 +564,19 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen } configuration.save(); showPage(PageType.PAGE_INSERT_PROJECT); - ((ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT)).startInsert(); + ProjectInsertPage projectInsertPage = (ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT); + String tempDirectory = ((PreferencesPage) pages.get(PageType.PAGE_PREFERENCES)).getTempDirectory(); + projectInsertPage.setTempDirectory(tempDirectory); + projectInsertPage.startInsert(); nodeMenu.setEnabled(false); + optionsPreferencesAction.setEnabled(false); } else if ("page.project.insert".equals(pageName)) { showPage(PageType.PAGE_PROJECTS); nodeMenu.setEnabled(true); + optionsPreferencesAction.setEnabled(true); } else if ("page.preferences".equals(pageName)) { showPage(PageType.PAGE_PROJECTS); optionsPreferencesAction.setEnabled(true); - String tempDirectory = ((PreferencesPage) pages.get(PageType.PAGE_PREFERENCES)).getTempDirectory(); - ((ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT)).setTempDirectory(tempDirectory); } } @@ -587,6 +598,9 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen * {@inheritDoc} */ public void wizardQuitPressed(TWizard wizard) { + if (((ProjectPage) pages.get(PageType.PAGE_PROJECTS)).wasUriCopied() || ((ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT)).wasUriCopied()) { + JOptionPane.showMessageDialog(wizard, I18n.getMessage("jsite.project.warning.use-clipboard-now")); + } if (JOptionPane.showConfirmDialog(wizard, I18n.getMessage("jsite.quit.question"), null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { if (saveConfiguration()) { System.exit(0); @@ -646,6 +660,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen * {@inheritDoc} */ public void foundUpdateData(Version foundVersion, long versionTimestamp) { + logger.log(Level.FINEST, "Found version {0} from {1,date}.", new Object[] { foundVersion, versionTimestamp }); if (foundVersion.compareTo(VERSION) > 0) { JOptionPane.showMessageDialog(wizard, MessageFormat.format(I18n.getMessage("jsite.update-checker.found-version.message"), foundVersion.toString(), new Date(versionTimestamp)), I18n.getMessage("jsite.update-checker.found-version.title"), JOptionPane.INFORMATION_MESSAGE); }