diff --git a/resources/images/images.properties b/resources/images/images.properties
index 11d85c320..3e385b81e 100644
--- a/resources/images/images.properties
+++ b/resources/images/images.properties
@@ -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
diff --git a/resources/images/logo/sc_logo_128x128.png b/resources/images/logo/sc_logo_128x128.png
new file mode 100644
index 000000000..c73cf719d
Binary files /dev/null and b/resources/images/logo/sc_logo_128x128.png differ
diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties
index 81bb9e2a2..0f2248c1f 100644
--- a/resources/languages/resources.properties
+++ b/resources/languages/resources.properties
@@ -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.
\
+ If you want your version to remain up-to-date, then please download Jitsi now.\
+
We are sorry for any inconvenience that this may be causing you.\
+
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
diff --git a/src/net/java/sip/communicator/plugin/branding/BrandingActivator.java b/src/net/java/sip/communicator/plugin/branding/BrandingActivator.java
index a370e47c4..4febc06f0 100644
--- a/src/net/java/sip/communicator/plugin/branding/BrandingActivator.java
+++ b/src/net/java/sip/communicator/plugin/branding/BrandingActivator.java
@@ -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()
{
diff --git a/src/net/java/sip/communicator/plugin/branding/JitsiWarningWindow.java b/src/net/java/sip/communicator/plugin/branding/JitsiWarningWindow.java
new file mode 100644
index 000000000..d8980a3de
--- /dev/null
+++ b/src/net/java/sip/communicator/plugin/branding/JitsiWarningWindow.java
@@ -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 JitsiWarningWindow.
+ *
+ * @author Yana Stamcheva
+ */
+public class JitsiWarningWindow
+ extends SIPCommDialog
+{
+ /**
+ * Creates an JitsiWarningWindow 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 true if the application name should be shown,
+ * false - 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) {}
+}