X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix_swing%2FActions.java;h=5a2a5b56f9fe6b38dc78934d12bab21a873bf2dd;hb=e915ed7720b87e261d94733955dad72defc9090d;hp=dedf4bad4883dfc9a4f716d14b6ffb9c2c45fd2b;hpb=3cdf3fd8a60d22a592e1cd0634cb108faa1f5f9f;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix_swing/Actions.java b/src/be/nikiroo/fanfix_swing/Actions.java index dedf4ba..5a2a5b5 100644 --- a/src/be/nikiroo/fanfix_swing/Actions.java +++ b/src/be/nikiroo/fanfix_swing/Actions.java @@ -15,15 +15,18 @@ import be.nikiroo.fanfix.bundles.UiConfig; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Story; import be.nikiroo.fanfix.library.BasicLibrary; +import be.nikiroo.fanfix_swing.gui.utils.UiHelper; public class Actions { - static public void openExternal(final BasicLibrary lib, MetaData meta, Container parent, final Runnable onDone) { - while (!(parent instanceof Window) && parent != null) { - parent = parent.getParent(); + static public void openExternal(final BasicLibrary lib, MetaData meta, final Container parent, + final Runnable onDone) { + Container parentWindow = parent; + while (!(parentWindow instanceof Window) && parentWindow != null) { + parentWindow = parentWindow.getParent(); } // TODO: UI - final JDialog wait = new JDialog((Window) parent); + final JDialog wait = new JDialog((Window) parentWindow); wait.setTitle("Opening story"); wait.setSize(400, 300); wait.setLayout(new BorderLayout()); @@ -65,10 +68,11 @@ public class Actions { @Override protected void done() { try { + get(); openExternal(target, isImageDocument); - } catch (IOException e) { - // TODO: error? - e.printStackTrace(); + } catch (Exception e) { + // TODO: i18n + UiHelper.error(parent, e.getLocalizedMessage(), "Cannot open the story", e); } synchronized (waitLock) {