From f6aa32ae64fe69be3dfaf9c8cc79b4bc53384665 Mon Sep 17 00:00:00 2001 From: mguessan Date: Tue, 4 Nov 2008 10:38:31 +0000 Subject: [PATCH] Set timeout to 250ms on update check git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@162 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/DavGateway.java | 9 ++-- src/java/davmail/tray/AwtGatewayTray.java | 1 + src/java/davmail/tray/SwtGatewayTray.java | 1 + src/java/davmail/ui/AboutFrame.java | 55 ++++++++++++++--------- 4 files changed, 40 insertions(+), 26 deletions(-) diff --git a/src/java/davmail/DavGateway.java b/src/java/davmail/DavGateway.java index 19fba882..d78985f0 100644 --- a/src/java/davmail/DavGateway.java +++ b/src/java/davmail/DavGateway.java @@ -64,7 +64,7 @@ public class DavGateway { String releasedVersion = getReleasedVersion(); String currentVersion = getCurrentVersion(); if (currentVersion != null && releasedVersion != null && currentVersion.compareTo(releasedVersion) < 0) { - message += " A new version ("+releasedVersion+") of DavMail Gateway is available !"; + message += " A new version (" + releasedVersion + ") of DavMail Gateway is available !"; } DavGatewayTray.info(message); @@ -100,18 +100,19 @@ public class DavGateway { return davmailPackage.getImplementationVersion(); } - public static String getReleasedVersion() { + public static String getReleasedVersion() { String version = null; BufferedReader versionReader = null; - GetMethod getMethod = new GetMethod("http://davmail.sourceforge.net/version.txt"); + GetMethod getMethod = new GetMethod("http://davmail.sourceforge.net/version.txt"); try { HttpClient httpClient = DavGatewayHttpClientFacade.getInstance(); + httpClient.setConnectionTimeout(250); int status = httpClient.executeMethod(getMethod); if (status == HttpStatus.SC_OK) { versionReader = new BufferedReader(new InputStreamReader(getMethod.getResponseBodyAsStream())); version = versionReader.readLine(); } - } catch (IOException e) { + } catch (Exception e) { // ignore } finally { if (versionReader != null) { diff --git a/src/java/davmail/tray/AwtGatewayTray.java b/src/java/davmail/tray/AwtGatewayTray.java index 66cb3b14..3636d18e 100644 --- a/src/java/davmail/tray/AwtGatewayTray.java +++ b/src/java/davmail/tray/AwtGatewayTray.java @@ -104,6 +104,7 @@ public class AwtGatewayTray implements DavGatewayTrayInterface { // create an action settingsListener to listen for settings action executed on the tray icon ActionListener aboutListener = new ActionListener() { public void actionPerformed(ActionEvent e) { + aboutFrame.update(); aboutFrame.setVisible(true); } }; diff --git a/src/java/davmail/tray/SwtGatewayTray.java b/src/java/davmail/tray/SwtGatewayTray.java index 44e218ff..75f030c4 100644 --- a/src/java/davmail/tray/SwtGatewayTray.java +++ b/src/java/davmail/tray/SwtGatewayTray.java @@ -163,6 +163,7 @@ public class SwtGatewayTray implements DavGatewayTrayInterface { display.asyncExec( new Runnable() { public void run() { + aboutFrame.update(); aboutFrame.setVisible(true); } }); diff --git a/src/java/davmail/ui/AboutFrame.java b/src/java/davmail/ui/AboutFrame.java index 8e569360..385add4d 100644 --- a/src/java/davmail/ui/AboutFrame.java +++ b/src/java/davmail/ui/AboutFrame.java @@ -19,6 +19,8 @@ import java.net.URL; * About frame */ public class AboutFrame extends JFrame { + protected JEditorPane jEditorPane; + public AboutFrame() { setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setTitle("About DavMail Gateway"); @@ -36,28 +38,8 @@ public class AboutFrame extends JFrame { } catch (IOException e) { DavGatewayTray.error("Unable to create icon", e); } - Package davmailPackage = DavGateway.class.getPackage(); - StringBuilder buffer = new StringBuilder(); - buffer.append("DavMail Gateway
"); - buffer.append("By Mickaël Guessant

"); - String currentVersion = davmailPackage.getImplementationVersion(); - if (currentVersion != null) { - buffer.append("Current version: ").append(currentVersion).append("
"); - } - String releasedVersion = DavGateway.getReleasedVersion(); - if (currentVersion != null && releasedVersion != null && currentVersion.compareTo(releasedVersion) < 0) { - buffer.append("Latest version available: ").append(releasedVersion).append("
" + - "A new version of DavMail Gateway is available.
" + - "Download latest version
"); - } - buffer.append("
Help and setup instructions available at:
" + - "http://davmail.sourceforge.net
" + - "
" + - "To send comments or report bugs,
use " + - "DavMail Sourceforge trackers
" + - "or contact me at mguessan@free.fr" + - ""); - JEditorPane jEditorPane = new JEditorPane("text/html", buffer.toString()); + + jEditorPane = new JEditorPane("text/html", getContent()); StyleSheet stylesheet = ((HTMLEditorKit) jEditorPane.getEditorKit()).getStyleSheet(); stylesheet.addRule("body { font-size:small;font-family: " + jEditorPane.getFont().getFamily() + "}"); @@ -121,6 +103,35 @@ public class AboutFrame extends JFrame { getSize().height / 2); } + public String getContent() { + Package davmailPackage = DavGateway.class.getPackage(); + StringBuilder buffer = new StringBuilder(); + buffer.append("DavMail Gateway
"); + buffer.append("By Mickaël Guessant

"); + String currentVersion = davmailPackage.getImplementationVersion(); + if (currentVersion != null) { + buffer.append("Current version: ").append(currentVersion).append("
"); + } + String releasedVersion = DavGateway.getReleasedVersion(); + if (currentVersion != null && releasedVersion != null && currentVersion.compareTo(releasedVersion) < 0) { + buffer.append("Latest version available: ").append(releasedVersion).append("
" + + "A new version of DavMail Gateway is available.
" + + "Download latest version
"); + } + buffer.append("
Help and setup instructions available at:
" + + "http://davmail.sourceforge.net
" + + "
" + + "To send comments or report bugs,
use " + + "DavMail Sourceforge trackers
" + + "or contact me at mguessan@free.fr" + + ""); + return buffer.toString(); + } + public void update() { + jEditorPane.setText(getContent()); + pack(); + } + }