diff options
author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-10-05 11:39:07 +0200 |
---|---|---|
committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-10-05 11:39:07 +0200 |
commit | 4269338d2e11028a880c99eb906c93a397fd0c1f (patch) | |
tree | af3ab0f0988fe088e81fc946c38cf47fbaf47e07 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils | |
parent | d6f4b34eae2e977cdd0339fb17302976fdae0574 (diff) | |
download | pdf-over-4269338d2e11028a880c99eb906c93a397fd0c1f.tar.gz pdf-over-4269338d2e11028a880c99eb906c93a397fd0c1f.tar.bz2 pdf-over-4269338d2e11028a880c99eb906c93a397fd0c1f.zip |
FIDO2 support once again
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java | 28 | ||||
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/UpdateCheckManager.java | 13 |
2 files changed, 29 insertions, 12 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java index ef93e3e9..d276ecd6 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java @@ -1,9 +1,14 @@ package at.asit.pdfover.gui.utils; +import java.awt.Desktop; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.net.URI; +import java.net.URISyntaxException; import java.util.function.Consumer; +import javax.annotation.Nullable; + import org.eclipse.swt.SWT; import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.events.SelectionAdapter; @@ -14,6 +19,7 @@ import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.program.Program; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Event; @@ -171,4 +177,26 @@ public final class SWTUtils { log.error("Failed to add selection listener on object of type {}", swtObj.getClass().getSimpleName(), e); } } + + public static void openURL(@Nullable URI uri) { + try { + if (uri == null) return; + if (Desktop.isDesktopSupported()) { + Desktop.getDesktop().browse(uri); + } else { + Program.launch(uri.toURL().toExternalForm()); + } + } catch (Exception e) { + log.warn("Failed to open URI: {}", uri, e); + } + } + + public static void openURL(@Nullable String uri) { + if (uri == null) return; + try { + openURL(new URI(uri)); + } catch (URISyntaxException e) { + log.warn("Failed to open URI: {}", uri, e); + } + } } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/UpdateCheckManager.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/UpdateCheckManager.java index 92104176..133ecdcb 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/UpdateCheckManager.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/UpdateCheckManager.java @@ -70,18 +70,7 @@ public final class UpdateCheckManager { BUTTONS.OK_CANCEL, ICON.INFORMATION); if (info.open() == SWT.OK) - { - if (Desktop.isDesktopSupported()) { - try { - Desktop.getDesktop().browse(new URI(Constants.UPDATE_URL)); - } catch (Exception e) { - log.error("Error opening update location ", e); - } - } else { - log.info("SWT Desktop is not supported on this platform"); - Program.launch(Constants.UPDATE_URL); - } - } + SWTUtils.openURL(Constants.UPDATE_URL); }); } |