launch the default browser on mac - work in progress

cusax-fix
Yana Stamcheva 19 years ago
parent 3a90a5231d
commit e7237230a8

@ -798,8 +798,6 @@ javax.swing.event, javax.swing.border"/>
prefix="net/java/sip/communicator/service/gui"/>
<zipfileset dir="${dest}/net/java/sip/communicator/impl/gui"
prefix="net/java/sip/communicator/impl/gui"/>
<zipfileset src="${lib}/BrowserLauncher2-10rc4.jar"
prefix=""/>
</jar>
</target>

@ -30,8 +30,11 @@ org.osgi.framework.system.packages= org.osgi.framework; \
net.java.stun4j; \
net.java.stun4j.client; \
net.java.stun4j.StunAddress; \
net.java.stun4j.StunException;
net.java.stun4j.StunException; \
edu.stanford.ejalbert; \
edu.stanford.ejalbert.exception; \
edu.stanford.ejalbert.exceptionhandler;
oscar.auto.start.1= \
file:lib/bundle/shell.jar \
file:lib/bundle/bundlerepository.jar \

@ -30,7 +30,7 @@
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 @@ else if (buttonName.equals("info")) {
OperationSetWebContactInfo wContactInfo
= mainFrame.getWebContactInfo(defaultProvider);
BrowserLauncher.openURL(
CrossPlatformBrowserLauncher.openURL(
wContactInfo.getWebContactInfo(defaultContact)
.toString());
}

@ -26,14 +26,15 @@
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 @@ else if (itemName.equalsIgnoreCase("userInfo")) {
OperationSetWebContactInfo wContactInfo
= mainFrame.getWebContactInfo(defaultProvider);
BrowserLauncher.openURL(
CrossPlatformBrowserLauncher.openURL(
wContactInfo.getWebContactInfo(defaultContact)
.toString());
}

@ -46,7 +46,7 @@
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 void actionPerformed(ActionEvent e) {
});
openLinkItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BrowserLauncher.openURL(currentHref);
CrossPlatformBrowserLauncher.openURL(currentHref);
}
});
/*
@ -427,7 +427,7 @@ private String processTime(int time) {
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();

@ -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

@ -12,6 +12,7 @@
import javax.swing.JOptionPane;
import edu.stanford.ejalbert.BrowserLauncher;
import edu.stanford.ejalbert.BrowserLauncherRunner;
import edu.stanford.ejalbert.exceptionhandler.BrowserLauncherErrorHandler;
@ -21,12 +22,10 @@
*
* @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 static void openURL(String urlString) {
"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
Loading…
Cancel
Save