diff options
author | Yana Stamcheva <yana@jitsi.org> | 2006-08-15 11:53:16 +0000 |
---|---|---|
committer | Yana Stamcheva <yana@jitsi.org> | 2006-08-15 11:53:16 +0000 |
commit | e7237230a80230f56b7acc3c9aec9ffe45d11bed (patch) | |
tree | 05eeb1a65ba1c0f99bf3a29ae7b0c9c675c2af9e /src | |
parent | 3a90a5231deeba68c144fa6bbcc6bdac0f2c716d (diff) | |
download | jitsi-e7237230a80230f56b7acc3c9aec9ffe45d11bed.zip jitsi-e7237230a80230f56b7acc3c9aec9ffe45d11bed.tar.gz jitsi-e7237230a80230f56b7acc3c9aec9ffe45d11bed.tar.bz2 |
launch the default browser on mac - work in progress
Diffstat (limited to 'src')
-rwxr-xr-x | src/net/java/sip/communicator/impl/gui/main/QuickMenu.java | 4 | ||||
-rw-r--r-- | src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java | 5 | ||||
-rwxr-xr-x | src/net/java/sip/communicator/impl/gui/main/message/ChatConversationPanel.java | 6 | ||||
-rw-r--r-- | src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf | 5 | ||||
-rw-r--r-- | src/net/java/sip/communicator/impl/gui/utils/CrossPlatformBrowserLauncher.java (renamed from src/net/java/sip/communicator/impl/gui/utils/BrowserLauncher.java) | 51 |
5 files changed, 19 insertions, 52 deletions
diff --git a/src/net/java/sip/communicator/impl/gui/main/QuickMenu.java b/src/net/java/sip/communicator/impl/gui/main/QuickMenu.java index 22f74c0..398b183 100755 --- a/src/net/java/sip/communicator/impl/gui/main/QuickMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/QuickMenu.java @@ -30,7 +30,7 @@ import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.AddContact import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.AddContactWizardPage2; import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.AddContactWizardPage3; import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.NewContact; -import net.java.sip.communicator.impl.gui.utils.BrowserLauncher; +import net.java.sip.communicator.impl.gui.utils.CrossPlatformBrowserLauncher; import net.java.sip.communicator.impl.gui.utils.ImageLoader; import net.java.sip.communicator.service.contactlist.MetaContact; import net.java.sip.communicator.service.contactlist.MetaContactGroup; @@ -250,7 +250,7 @@ public class QuickMenu extends SIPCommToolBar implements ActionListener, OperationSetWebContactInfo wContactInfo = mainFrame.getWebContactInfo(defaultProvider); - BrowserLauncher.openURL( + CrossPlatformBrowserLauncher.openURL( wContactInfo.getWebContactInfo(defaultContact) .toString()); } diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java index ad8045e..0d6500c 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java @@ -26,14 +26,15 @@ import net.java.sip.communicator.impl.gui.i18n.Messages; import net.java.sip.communicator.impl.gui.main.MainFrame; import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.AddContactDialog; import net.java.sip.communicator.impl.gui.main.message.history.HistoryWindow; -import net.java.sip.communicator.impl.gui.utils.BrowserLauncher; import net.java.sip.communicator.impl.gui.utils.Constants; +import net.java.sip.communicator.impl.gui.utils.CrossPlatformBrowserLauncher; import net.java.sip.communicator.impl.gui.utils.ImageLoader; import net.java.sip.communicator.service.contactlist.MetaContact; import net.java.sip.communicator.service.contactlist.MetaContactGroup; import net.java.sip.communicator.service.protocol.Contact; import net.java.sip.communicator.service.protocol.OperationSetWebContactInfo; import net.java.sip.communicator.service.protocol.ProtocolProviderService; +import edu.stanford.ejalbert.BrowserLauncher; /** * The ContactRightButtonMenu is the menu, opened when user clicks with the @@ -293,7 +294,7 @@ public class ContactRightButtonMenu extends JPopupMenu implements OperationSetWebContactInfo wContactInfo = mainFrame.getWebContactInfo(defaultProvider); - BrowserLauncher.openURL( + CrossPlatformBrowserLauncher.openURL( wContactInfo.getWebContactInfo(defaultContact) .toString()); } diff --git a/src/net/java/sip/communicator/impl/gui/main/message/ChatConversationPanel.java b/src/net/java/sip/communicator/impl/gui/main/message/ChatConversationPanel.java index 6396714..708f889 100755 --- a/src/net/java/sip/communicator/impl/gui/main/message/ChatConversationPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/message/ChatConversationPanel.java @@ -46,7 +46,7 @@ import javax.swing.text.html.HTMLEditorKit; import net.java.sip.communicator.impl.gui.i18n.Messages; import net.java.sip.communicator.impl.gui.main.message.menu.ChatRightButtonMenu; import net.java.sip.communicator.impl.gui.utils.AntialiasingManager; -import net.java.sip.communicator.impl.gui.utils.BrowserLauncher; +import net.java.sip.communicator.impl.gui.utils.CrossPlatformBrowserLauncher; import net.java.sip.communicator.impl.gui.utils.Constants; import net.java.sip.communicator.impl.gui.utils.ImageLoader; import net.java.sip.communicator.impl.gui.utils.SIPCommHTMLEditorKit; @@ -157,7 +157,7 @@ public class ChatConversationPanel extends JScrollPane implements }); openLinkItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - BrowserLauncher.openURL(currentHref); + CrossPlatformBrowserLauncher.openURL(currentHref); } }); /* @@ -427,7 +427,7 @@ public class ChatConversationPanel extends JScrollPane implements public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { URL url = e.getURL(); - BrowserLauncher.openURL(url.toString()); + CrossPlatformBrowserLauncher.openURL(url.toString()); } else if (e.getEventType() == HyperlinkEvent.EventType.ENTERED) { String href = e.getDescription(); diff --git a/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf b/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf index 88f3e50..11ace0f 100644 --- a/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf +++ b/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf @@ -31,4 +31,7 @@ Import-Package: org.osgi.framework, javax.swing.tree, javax.swing.undo, javax.swing.event, - javax.swing.border + javax.swing.border, + edu.stanford.ejalbert, + edu.stanford.ejalbert.exception, + edu.stanford.ejalbert.exceptionhandler diff --git a/src/net/java/sip/communicator/impl/gui/utils/BrowserLauncher.java b/src/net/java/sip/communicator/impl/gui/utils/CrossPlatformBrowserLauncher.java index 8354f87..5073845 100644 --- a/src/net/java/sip/communicator/impl/gui/utils/BrowserLauncher.java +++ b/src/net/java/sip/communicator/impl/gui/utils/CrossPlatformBrowserLauncher.java @@ -12,6 +12,7 @@ import java.net.URL; import javax.swing.JOptionPane; +import edu.stanford.ejalbert.BrowserLauncher; import edu.stanford.ejalbert.BrowserLauncherRunner; import edu.stanford.ejalbert.exceptionhandler.BrowserLauncherErrorHandler; @@ -21,12 +22,10 @@ import edu.stanford.ejalbert.exceptionhandler.BrowserLauncherErrorHandler; * * @author Yana Stamcheva */ -public class BrowserLauncher { +public class CrossPlatformBrowserLauncher { - //private static final String errMsg - // = Messages.getString("launchBrowserError"); - - private static edu.stanford.ejalbert.BrowserLauncher launcher; + private static BrowserLauncher launcher; + /** * Launches a browser for the given url, depending on the operation system * and the browsers available. @@ -34,17 +33,14 @@ public class BrowserLauncher { * @param url The url to open in the browser. */ public static void openURL(String urlString) { - try { - launcher = new edu.stanford.ejalbert.BrowserLauncher(null); + launcher = new BrowserLauncher(null); - if (urlString == null || urlString.trim().length() == 0) { + if (urlString == null || urlString.trim().length() == 0) { throw new MalformedURLException("You must specify a url."); } new URL(urlString); // may throw MalformedURLException - BrowserLauncherErrorHandler errorHandler - = new TestAppErrorHandler(); - + BrowserLauncherErrorHandler errorHandler = new TestAppErrorHandler(); String targetBrowser = launcher.getBrowserList().get(0).toString(); BrowserLauncherRunner runner = new BrowserLauncherRunner( @@ -62,39 +58,6 @@ public class BrowserLauncher { "Error Message", JOptionPane.ERROR_MESSAGE); } - - /* - String osName = System.getProperty("os.name"); - try { - if (osName.startsWith("Mac OS")) { - Class fileMgr = Class.forName("com.apple.eio.FileManager"); - Method openURL = fileMgr.getDeclaredMethod("openURL", - new Class[] { String.class }); - openURL.invoke(null, new Object[] { url }); - } - else if (osName.startsWith("Windows")) - Runtime.getRuntime().exec( - "rundll32 url.dll,FileProtocolHandler " + url); - else { // assume Unix or Linux - String[] browsers = { "firefox", "opera", "konqueror", - "epiphany", "mozilla", "netscape" }; - String browser = null; - for (int count = 0; count < browsers.length - && browser == null; count++) { - if (Runtime.getRuntime().exec(new String[] { - "which", browsers[count] }).waitFor() == 0) - browser = browsers[count]; - } - if (browser == null) - throw new Exception("Could not find web browser"); - else - Runtime.getRuntime().exec(new String[] { browser, url }); - } - } catch (Exception e) { - JOptionPane.showMessageDialog(null, errMsg + ":\n" - + e.getLocalizedMessage()); - } - */ } private static class TestAppErrorHandler |