Prepared a warning window for jitsi update (not yet activated).

cusax-fix
Yana Stamcheva 15 years ago
parent ede2f12999
commit b6715aa6b0

@ -2,6 +2,7 @@
service.gui.SIP_COMMUNICATOR_LOGO=resources/images/logo/sc_logo16x16.png
service.gui.SIP_COMMUNICATOR_LOGO_45x45=resources/images/logo/sc_logo_45x45.png
service.gui.SIP_COMMUNICATOR_LOGO_64x64=resources/images/logo/sc_logo_64x64.png
service.gui.SIP_COMMUNICATOR_LOGO_128x128=resources/images/logo/sc_logo_128x128.png
service.gui.MAIN_WINDOW_BACKGROUND=
service.gui.AUTH_WINDOW_BACKGROUND=resources/images/impl/gui/common/passWindowBackground.png
service.gui.ABOUT_WINDOW_BACKGROUND=resources/images/impl/gui/common/aboutWindowBackground.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

@ -154,6 +154,7 @@ service.gui.DISCONNECTED_STATUS=Disconnected
service.gui.DND_STATUS=Do not disturb
service.gui.DO_NOT_ASK_AGAIN=Don't ask again
service.gui.DO_NOT_SHOW_AGAIN=Don't show this message again
service.gui.DOWNLOAD_NOW=&Download now
service.gui.DRAG_FOR_SHARING=Drag here anything you want to share...
service.gui.DURATION=duration
service.gui.EDIT=&Edit
@ -240,6 +241,11 @@ service.gui.INVITE_CONTACT_TO_CALL=Invite contacts to call
service.gui.INVITE_REASON=Invite reason
service.gui.IS_CALLING=is calling...
service.gui.IS_NOW={0} is now {1}
service.gui.JITSI_WARNING=SIP Communicator has recently been renamed to Jitsi.<br/>\
If you want your version to remain up-to-date, then please download Jitsi now.\
<br/><br/>We are sorry for any inconvenience that this may be causing you.\
<br/><br/>The Jitsi Dev Team
service.gui.JITSI_WARNING_TITLE=SIP Communicator becomes Jitsi
service.gui.JOIN=&Join
service.gui.JOIN_AS=J&oin as
service.gui.CLOSE_CHAT_ROOM_DIALOG=C&lose
@ -340,6 +346,7 @@ service.gui.RECEIVED=received
service.gui.RECONNECTION_LIMIT_EXCEEDED=You have have been disconnecting and reconnecting to the server too fast. The following account: User name: {0}, Server name: {1} is temporarily banned and would have to wait a bit before trying to login again.
service.gui.REFERRED_STATUS=Referred
service.gui.REJECT=&Reject
service.gui.REMIND_ME_LATER=Remind me later
service.gui.REMEMBER_PASSWORD=Remember password
service.gui.REMOVE=&Remove
service.gui.REMOVE_ACCOUNT=&Remove account
@ -472,6 +479,7 @@ service.gui.SECURITY_WARNING=Security warning
service.gui.SECURITY_ERROR=Security error
service.gui.SPEED=Speed:
service.gui.SILENT_MEMBER=silent member
service.gui.UPDATE=Update
service.gui.JANUARY=Jan
service.gui.FEBRUARY=Feb

@ -65,6 +65,11 @@ public void start(BundleContext bc) throws Exception
else
welcomeWindow = null;
// TO BE ENABLED ON APPLICATION RENAME.
// if (getResources().getSettingsString(
// "service.gui.APPLICATION_NAME").equals("SIP Communicator"))
// new JitsiWarningWindow(null).setVisible(true);
bundleContext.addBundleListener(new BundleListener()
{

@ -0,0 +1,184 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.plugin.branding;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import net.java.sip.communicator.service.browserlauncher.*;
import net.java.sip.communicator.service.resources.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.swing.*;
import org.osgi.framework.*;
/**
* The <tt>JitsiWarningWindow</tt>.
*
* @author Yana Stamcheva
*/
public class JitsiWarningWindow
extends SIPCommDialog
{
/**
* Creates an <tt>JitsiWarningWindow</tt> by specifying the parent frame
* owner.
* @param owner the parent owner
*/
public JitsiWarningWindow(Frame owner)
{
super(owner, false);
ResourceManagementService resources = BrandingActivator.getResources();
this.setTitle(
resources.getI18NString("service.gui.UPDATE")
+ " " + resources.getSettingsString(
"service.gui.APPLICATION_NAME"));
setModal(false);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
StyledHTMLEditorPane textArea = new StyledHTMLEditorPane();
textArea.setContentType("text/html");
textArea.setText(resources.getI18NString("service.gui.JITSI_WARNING"));
textArea.setOpaque(false);
textArea.setEditable(false);
JLabel titleLabel = new JLabel(
resources.getI18NString("service.gui.JITSI_WARNING_TITLE"));
titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD, 14f));
titleLabel.setAlignmentX(Component.LEFT_ALIGNMENT);
titleLabel.setMaximumSize(new Dimension(400, 50));
JPanel textPanel = new TransparentPanel();
textPanel.setLayout(new BoxLayout(textPanel, BoxLayout.Y_AXIS));
textPanel.add(titleLabel);
textPanel.add(Box.createRigidArea(new Dimension(20, 20)));
textPanel.add(textArea);
JButton downloadButton = new JButton(
resources.getI18NString("service.gui.DOWNLOAD_NOW"));
JButton remindButton = new JButton(
resources.getI18NString("service.gui.REMIND_ME_LATER"));
this.getRootPane().setDefaultButton(downloadButton);
downloadButton.setMnemonic(
resources.getI18nMnemonic("service.gui.DOWNLOAD_NOW"));
downloadButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openURL(getDownloadLink());
dispose();
}
});
remindButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dispose();
}
});
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttonPanel.add(remindButton);
buttonPanel.add(downloadButton);
buttonPanel.setOpaque(false);
JPanel mainPanel = new TransparentPanel(new BorderLayout(10, 10));
mainPanel.add(new JLabel(resources.getImage(
"service.gui.SIP_COMMUNICATOR_LOGO_128x128")), BorderLayout.WEST);
mainPanel.add(textPanel, BorderLayout.CENTER);
mainPanel.add(buttonPanel, BorderLayout.SOUTH);
mainPanel.setPreferredSize(new Dimension(500, 200));
mainPanel.setBorder(
BorderFactory.createEmptyBorder(20, 20, 20, 20));
getContentPane().add(mainPanel);
this.pack();
this.setResizable(false);
setLocationRelativeTo(getParent());
this.getRootPane().getActionMap().put("close", new CloseAction());
InputMap imap = this.getRootPane().getInputMap(
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "close");
if(OSUtils.IS_MAC)
{
imap.put(
KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.META_DOWN_MASK),
"close");
imap.put(
KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_DOWN_MASK),
"close");
}
}
/**
* The action invoked when user presses Escape key.
*/
private class CloseAction extends UIAction
{
public void actionPerformed(ActionEvent e)
{
setVisible(false);
dispose();
}
}
/**
* Opens the given url in a new browser window.
* @param url the url to open
*/
private void openURL(String url)
{
ServiceReference serviceReference = BrandingActivator
.getBundleContext().getServiceReference(
BrowserLauncherService.class.getName());
if (serviceReference != null)
{
BrowserLauncherService browserLauncherService
= (BrowserLauncherService) BrandingActivator
.getBundleContext().getService(
serviceReference);
browserLauncherService.openURL(url);
}
}
/**
* Indicates if the application name should be shown.
*
* @return <tt>true</tt> if the application name should be shown,
* <tt>false</tt> - otherwise
*/
private String getDownloadLink()
{
if (OSUtils.IS_WINDOWS)
return "http://download.sip-communicator.org/nightly/windows/";
else if (OSUtils.IS_MAC)
return "http://download.sip-communicator.org/nightly/macosx/";
else if (OSUtils.IS_LINUX)
return "http://download.sip-communicator.org/nightly/linux/";
return "http://download.jitsi.org";
}
@Override
protected void close(boolean escaped) {}
}
Loading…
Cancel
Save