X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=d14c919247e058d39339ca7f20a616f7a9bf4722;hb=refs%2Fheads%2Ffeature%2FJAL-4274_configurable_bitmap_export_preferences;hp=51e8a82b976e552c987a0b7e1e8609734c192fd9;hpb=985d5f40db480896f550db914297cf948a32e963;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 51e8a82..d14c919 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -76,6 +76,7 @@ import jalview.bin.argparser.BootstrapArgs; import jalview.ext.so.SequenceOntology; import jalview.gui.AlignFrame; import jalview.gui.Desktop; +import jalview.gui.JvOptionPane; import jalview.gui.PromptUserConfig; import jalview.gui.QuitHandler; import jalview.gui.QuitHandler.QResponse; @@ -673,6 +674,8 @@ public class Jalview desktop = new Desktop(); desktop.setInBatchMode(true); // indicate we are starting up + mixedCliWarning(); + try { JalviewTaskbar.setTaskbar(this); @@ -1247,6 +1250,8 @@ public class Jalview } desktop.setInBatchMode(false); } + + cliWarning(); } private static void setLookAndFeel() @@ -2020,4 +2025,71 @@ public class Jalview || getInstance().desktop.isInBatchMode()); } + /** + * Warning about old or mixed command line arguments + */ + private void mixedCliWarning() + { + Jalview j = Jalview.getInstance(); + boolean mixedStyle = j.getArgParser() != null + && j.getArgParser().isMixedStyle(); + String title = MessageManager.getString("label.command_line_arguments"); + if (mixedStyle) + { + String warning = MessageManager.formatMessage( + "warning.using_mixed_command_line_arguments", + j.getArgParser().getMixedExamples()); + String quit = MessageManager.getString("action.quit"); + + Desktop.instance.nonBlockingDialog(title, warning, quit, + JvOptionPane.WARNING_MESSAGE, false, true); + + Jalview.exit( + "Exiting due to mixed old and new command line arguments.", + ExitCode.MIXED_CLI_ARGUMENTS); + } + } + + private void cliWarning() + { + Jalview j = Jalview.getInstance(); + Commands c = j.getCommands(); + boolean oldStyle = j.getArgParser() != null + && j.getArgParser().isOldStyle(); + String title = MessageManager.getString("label.command_line_arguments"); + if (oldStyle) + { + String warning = MessageManager + .getString("warning.using_old_command_line_arguments"); + String url = "https://www.jalview.org/help/html/features/commandline.html"; + if (Desktop.instance != null) + { + String cont = MessageManager.getString("label.continue"); + + Desktop.instance.nonBlockingDialog(32, 2, title, warning, url, cont, + JvOptionPane.WARNING_MESSAGE, false, true, true); + } + } + if (j.getCommands() != null && j.getCommands().getErrors().size() > 0) + { + if (Desktop.instance != null) + { + String message = MessageManager + .getString("warning.the_following_errors"); + String ok = MessageManager.getString("action.ok"); + int shortest = 60; + List errors = j.getCommands().getErrors(); + for (int i = 0; i < errors.size(); i++) + { + shortest = Math.min(shortest, errors.get(i).length()); + } + Desktop.instance.nonBlockingDialog( + Math.max(message.length(), Math.min(60, shortest)), + Math.min(errors.size(), 20), title, message, + j.getCommands().errorsToString(), ok, + JvOptionPane.WARNING_MESSAGE, true, false, true); + } + } + } + }