X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2Fcompress%2FCompressTrackFunction.java;h=ce0203cb9e221d3b8f00dd82e0d998629d6e1ee1;hp=5aa76aa76a1c570c89330fafab5192a329082b8a;hb=326f489e36aa7f235bc19409a57bf4955cd50f24;hpb=8c8868ae29b3252f02e094c02307384cf61ba667 diff --git a/tim/prune/function/compress/CompressTrackFunction.java b/tim/prune/function/compress/CompressTrackFunction.java index 5aa76aa..ce0203c 100644 --- a/tim/prune/function/compress/CompressTrackFunction.java +++ b/tim/prune/function/compress/CompressTrackFunction.java @@ -31,6 +31,8 @@ public class CompressTrackFunction extends GenericFunction private JButton _okButton = null; private CompressionAlgorithm[] _algorithms = null; private SummaryLabel _summaryLabel = null; + /** flag to remember whether the automatic deletion has been set to always */ + private boolean _automaticallyDelete = false; /** @@ -183,12 +185,28 @@ public class CompressTrackFunction extends GenericFunction UpdateMessageBroker.informSubscribers(); _dialog.dispose(); // Show confirmation dialog with OK button (not status bar message) - if (numMarked > 0) { - JOptionPane.showMessageDialog(_parentFrame, I18nManager.getText("dialog.compress.confirm1") - + " " + numMarked + " " + I18nManager.getText("dialog.compress.confirm2"), - I18nManager.getText(getNameKey()), JOptionPane.INFORMATION_MESSAGE); + if (numMarked > 0) + { + // Allow calling of delete function with one click + final String[] buttonTexts = {I18nManager.getText("button.yes"), I18nManager.getText("button.no"), + I18nManager.getText("button.always")}; + int answer = _automaticallyDelete ? JOptionPane.YES_OPTION : + JOptionPane.showOptionDialog(_parentFrame, + I18nManager.getTextWithNumber("dialog.compress.confirm", numMarked), + I18nManager.getText(getNameKey()), JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.WARNING_MESSAGE, null, buttonTexts, buttonTexts[1]); + if (answer == JOptionPane.CANCEL_OPTION) {_automaticallyDelete = true;} // "always" is third option + if (_automaticallyDelete || answer == JOptionPane.YES_OPTION) + { + new Thread(new Runnable() { + public void run() { + _app.finishCompressTrack(); + } + }).start(); + } } - else { + else + { JOptionPane.showMessageDialog(_parentFrame, I18nManager.getText("dialog.compress.confirmnone"), I18nManager.getText(getNameKey()), JOptionPane.INFORMATION_MESSAGE); }