accountsList =
+ providerFactory.getRegisteredAccounts();
- AccountID accountID;
ServiceReference serRef;
ProtocolProviderService protocolProvider;
- for (int i = 0; i < accountsList.size(); i++)
+ for (AccountID accountID : accountsList)
{
- accountID = (AccountID) accountsList.get(i);
-
- boolean isHidden =
- accountID
- .getAccountProperty(ProtocolProviderFactory.IS_PROTOCOL_HIDDEN) != null;
-
- if(!isHidden)
- hasRegisteredAccounts = true;
-
serRef = providerFactory.getProviderForAccount(accountID);
protocolProvider = (ProtocolProviderService) AccountInfoActivator
@@ -90,7 +70,7 @@ public AccountInfoForm()
protocolProvider.addRegistrationStateChangeListener(
new RegistrationStateChangeListenerImpl());
- this.accountsTabbedPane.addTab(
+ accountsTabbedPane.addTab(
accountID.getUserID(), detailsPanel);
}
}
@@ -98,36 +78,6 @@ public AccountInfoForm()
this.add(accountsTabbedPane, BorderLayout.CENTER);
}
- /**
- * Returns the title of this configuration form.
- *
- * @return the icon of this configuration form.
- */
- public String getTitle()
- {
- return Resources.getString("plugin.accountinfo.TITLE");
- }
-
- /**
- * Returns the icon of this configuration form.
- *
- * @return the icon of this configuration form.
- */
- public byte[] getIcon()
- {
- return Resources.getImageInBytes("plugin.accountinfo.PLUGIN_ICON");
- }
-
- /**
- * Returns the form of this configuration form.
- *
- * @return the form of this configuration form.
- */
- public Object getForm()
- {
- return this;
- }
-
private class RegistrationStateChangeListenerImpl
implements RegistrationStateChangeListener
{
@@ -150,9 +100,4 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt)
}
}
}
-
- public int getIndex()
- {
- return -1;
- }
-}
\ No newline at end of file
+}
diff --git a/src/net/java/sip/communicator/plugin/autoaway/AutoAwayActivator.java b/src/net/java/sip/communicator/plugin/autoaway/AutoAwayActivator.java
index 0fb670b1f..721acb8dd 100644
--- a/src/net/java/sip/communicator/plugin/autoaway/AutoAwayActivator.java
+++ b/src/net/java/sip/communicator/plugin/autoaway/AutoAwayActivator.java
@@ -44,15 +44,16 @@ public class AutoAwayActivator implements BundleActivator
public void start(BundleContext bc) throws Exception
{
bundleContext = bc;
-
-
// Set config form
- AutoAwayConfigForm statusCF = new AutoAwayConfigForm();
- bundleContext.registerService(ConfigurationForm.class.getName(),
- statusCF,
- null);
-
+ bundleContext
+ .registerService(
+ ConfigurationForm.class.getName(),
+ new LazyConfigurationForm(
+ "net.java.sip.communicator.plugin.autoaway.AutoAwayConfigurationPanel",
+ getClass().getClassLoader(), "plugin.autoaway.PLUGIN_ICON",
+ "plugin.autoaway.AUTO_STATUS"), null);
+
new Thread(new Runnable()
{
diff --git a/src/net/java/sip/communicator/plugin/autoaway/AutoAwayConfigForm.java b/src/net/java/sip/communicator/plugin/autoaway/AutoAwayConfigurationPanel.java
similarity index 80%
rename from src/net/java/sip/communicator/plugin/autoaway/AutoAwayConfigForm.java
rename to src/net/java/sip/communicator/plugin/autoaway/AutoAwayConfigurationPanel.java
index ff0ce1478..591de6fb7 100644
--- a/src/net/java/sip/communicator/plugin/autoaway/AutoAwayConfigForm.java
+++ b/src/net/java/sip/communicator/plugin/autoaway/AutoAwayConfigurationPanel.java
@@ -14,7 +14,6 @@
import javax.swing.event.*;
import net.java.sip.communicator.service.configuration.*;
-import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.util.swing.*;
/**
@@ -23,9 +22,8 @@
*
* @author Damien Roth
*/
-public class AutoAwayConfigForm
+public class AutoAwayConfigurationPanel
extends TransparentPanel
- implements ConfigurationForm
{
private JCheckBox enable;
private JSpinner timer;
@@ -33,7 +31,7 @@ public class AutoAwayConfigForm
/**
* Create an instance of StatusConfigForm
*/
- public AutoAwayConfigForm()
+ public AutoAwayConfigurationPanel()
{
super(new BorderLayout(10, 10));
@@ -155,42 +153,4 @@ private void saveData()
Integer interval = (Integer) timer.getValue();
configService.setProperty(Preferences.TIMER, interval);
}
-
- /**
- * Implements the ConfigurationForm.getForm() method. Returns the
- * component corresponding to this configuration form.
- */
- public Object getForm()
- {
- return this;
- }
-
- /**
- * Implements the ConfigurationForm.getIcon() method. Returns the
- * icon of this configuration form.
- */
- public byte[] getIcon()
- {
- return AutoAwayActivator.getResources()
- .getImageInBytes("plugin.autoaway.PLUGIN_ICON");
- }
-
- /**
- * Implements the ConfigurationForm.getIndex() method.
- */
- public int getIndex()
- {
- return -1;
- }
-
- /**
- * Implements the ConfigurationForm.getIcon() method. Returns the
- * icon of this configuration form.
- */
- public String getTitle()
- {
- return AutoAwayActivator.getResources()
- .getI18NString("plugin.autoaway.AUTO_STATUS");
- }
-
}
diff --git a/src/net/java/sip/communicator/plugin/contactinfo/ContactInfoDetailsPanel.java b/src/net/java/sip/communicator/plugin/contactinfo/ContactInfoDetailsPanel.java
index 02f3dcf68..ad718466c 100644
--- a/src/net/java/sip/communicator/plugin/contactinfo/ContactInfoDetailsPanel.java
+++ b/src/net/java/sip/communicator/plugin/contactinfo/ContactInfoDetailsPanel.java
@@ -191,11 +191,10 @@ private JPanel createSummaryInfoPanel()
);
}
else
- scaledImage = ImageUtils.getScaledRoundedImage(
- Resources.getImage("service.gui.DEFAULT_USER_PHOTO"),
- AVATAR_AREA_WIDTH,
- AVATAR_AREA_HEIGHT
- );
+ scaledImage =
+ ImageUtils.getScaledRoundedIcon(Resources
+ .getImage("service.gui.DEFAULT_USER_PHOTO"),
+ AVATAR_AREA_WIDTH, AVATAR_AREA_HEIGHT);
JLabel label = new JLabel(scaledImage);
label.setVerticalAlignment(JLabel.CENTER);
diff --git a/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java b/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java
index 1eeea2dc3..94f870a82 100644
--- a/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java
+++ b/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java
@@ -33,12 +33,14 @@ public void start(BundleContext bc) throws Exception
ConfigurationManager.loadGuiConfigurations();
- GeneralConfigurationForm preferencesForm
- = new GeneralConfigurationForm();
-
- bundleContext.registerService( ConfigurationForm.class.getName(),
- preferencesForm,
- null);
+ bundleContext
+ .registerService(
+ ConfigurationForm.class.getName(),
+ new LazyConfigurationForm(
+ "net.java.sip.communicator.plugin.generalconfig.GeneralConfigurationPanel",
+ getClass().getClassLoader(),
+ "plugin.generalconfig.PLUGIN_ICON", "service.gui.GENERAL",
+ 0), null);
logger.info("PREFERENCES PLUGIN... [REGISTERED]");
}
diff --git a/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigurationForm.java b/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigurationPanel.java
similarity index 96%
rename from src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigurationForm.java
rename to src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigurationPanel.java
index 0519d789f..31c4e10fd 100644
--- a/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigurationForm.java
+++ b/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigurationPanel.java
@@ -22,12 +22,11 @@
/**
* @author Yana Stamcheva
*/
-public class GeneralConfigurationForm
- extends javax.swing.JPanel
- implements ConfigurationForm,
- ActionListener
+public class GeneralConfigurationPanel
+ extends JPanel
+ implements ActionListener
{
- private Logger logger = Logger.getLogger(GeneralConfigurationForm.class);
+ private final Logger logger = Logger.getLogger(GeneralConfigurationPanel.class);
private JPanel mainPanel;
private JCheckBox bringToFrontCheckBox;
@@ -43,9 +42,8 @@ public class GeneralConfigurationForm
private JCheckBox showHistoryCheckBox;
private JPanel logHistoryPanel;
- public GeneralConfigurationForm()
+ public GeneralConfigurationPanel()
{
- super();
initGUI();
initDefaults();
}
@@ -317,26 +315,6 @@ private String getApplicationName()
return Resources.getSettingsString("service.gui.APPLICATION_NAME");
}
- public Object getForm()
- {
- return this;
- }
-
- public byte[] getIcon()
- {
- return Resources.getImage("plugin.generalconfig.PLUGIN_ICON");
- }
-
- public String getTitle()
- {
- return Resources.getString("service.gui.GENERAL");
- }
-
- public int getIndex()
- {
- return 0;
- }
-
public void actionPerformed(ActionEvent event)
{
Object sourceObject = event.getSource();
diff --git a/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingChooserActivator.java b/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingChooserActivator.java
index d22c29bb4..778fa9fba 100644
--- a/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingChooserActivator.java
+++ b/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingChooserActivator.java
@@ -38,8 +38,14 @@ public void start(BundleContext context)
logger.debug("Service Impl: " + getClass().getName() + " [ STARTED ]");
- context.registerService(ConfigurationForm.class.getName(),
- new KeybindingsConfigForm(), null);
+ context
+ .registerService(
+ ConfigurationForm.class.getName(),
+ new LazyConfigurationForm(
+ "net.java.sip.communicator.plugin.keybindingchooser.KeybindingsConfigPanel",
+ getClass().getClassLoader(),
+ "plugin.keybinding.PLUGIN_ICON",
+ "plugin.keybindings.PLUGIN_NAME"), null);
}
/**
diff --git a/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingsConfigForm.java b/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingsConfigForm.java
deleted file mode 100644
index 323f88ec2..000000000
--- a/src/net/java/sip/communicator/plugin/keybindingchooser/KeybindingsConfigForm.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.keybindingchooser;
-
-import net.java.sip.communicator.service.gui.*;
-
-/**
- * The ConfigurationForm that would be added to the settings
- * configuration to configure the application keybindings.
- *
- * @author Damian Johnson
- * @author Lubomir Marinov
- */
-public class KeybindingsConfigForm
- extends AbstractConfigurationForm
-{
- /**
- * Implements the ConfigurationForm.getTitle() method. Returns the
- * title of this configuration form.
- */
- public String getTitle()
- {
- return KeybindingChooserActivator.getResources().getI18NString(
- "plugin.keybindings.PLUGIN_NAME");
- }
-
- /**
- * Implements the ConfigurationForm.getIcon() method. Returns the
- * icon of this configuration form.
- */
- public byte[] getIcon()
- {
- return KeybindingChooserActivator.getResources().getImageInBytes(
- "plugin.keybinding.PLUGIN_ICON");
- }
-
- protected String getFormClassName()
- {
- return "net.java.sip.communicator.plugin.keybindingchooser.KeybindingsConfigPanel";
- }
-}
diff --git a/src/net/java/sip/communicator/plugin/mailbox/MailboxActivator.java b/src/net/java/sip/communicator/plugin/mailbox/MailboxActivator.java
index 2903215ea..98349162f 100644
--- a/src/net/java/sip/communicator/plugin/mailbox/MailboxActivator.java
+++ b/src/net/java/sip/communicator/plugin/mailbox/MailboxActivator.java
@@ -23,7 +23,7 @@
public class MailboxActivator
implements BundleActivator
{
- private static Logger logger =
+ private static final Logger logger =
Logger.getLogger(BundleActivator.class);
/**
@@ -74,12 +74,13 @@ public void start(BundleContext bundleContext) throws Exception
mailbox = new Mailbox();
mailbox.start(bundleContext);
- MailboxConfigurationForm mailboxForm
- = new MailboxConfigurationForm();
-
- bundleContext.registerService( ConfigurationForm.class.getName(),
- mailboxForm,
- null);
+ bundleContext
+ .registerService(
+ ConfigurationForm.class.getName(),
+ new LazyConfigurationForm(
+ "net.java.sip.communicator.plugin.mailbox.MailboxConfigurationPanel",
+ getClass().getClassLoader(), "plugin.mailbox.PLUGIN_ICON",
+ "plugin.mailbox.MAILBOX"), null);
logger.info("Mailbox plug-in...[STARTED]");
}
diff --git a/src/net/java/sip/communicator/plugin/mailbox/MailboxConfigurationForm.java b/src/net/java/sip/communicator/plugin/mailbox/MailboxConfigurationPanel.java
similarity index 90%
rename from src/net/java/sip/communicator/plugin/mailbox/MailboxConfigurationForm.java
rename to src/net/java/sip/communicator/plugin/mailbox/MailboxConfigurationPanel.java
index bfdd83c28..48aeaa7da 100644
--- a/src/net/java/sip/communicator/plugin/mailbox/MailboxConfigurationForm.java
+++ b/src/net/java/sip/communicator/plugin/mailbox/MailboxConfigurationPanel.java
@@ -13,19 +13,18 @@
import javax.swing.*;
import net.java.sip.communicator.service.configuration.*;
-import net.java.sip.communicator.service.gui.*;
-
import net.java.sip.communicator.util.swing.*;
/**
* The ConfigurationForm that would be added in the user interface
- * configuration window. It allows the user to change parameters in the
- * mailbox configuration
+ * configuration window. It allows the user to change parameters in the mailbox
+ * configuration
+ *
* @author Ryan Ricard
*/
-public class MailboxConfigurationForm
+public class MailboxConfigurationPanel
extends TransparentPanel
- implements ConfigurationForm, ActionListener
+ implements ActionListener
{
private JLabel jlblOutgoingMessage
= new JLabel(Resources.getString("plugin.mailbox.OUTGOING"));
@@ -85,10 +84,10 @@ public class MailboxConfigurationForm
private JPanel jpConfirmDefault = new TransparentPanel();
ConfigurationService config;
- public MailboxConfigurationForm()
+ public MailboxConfigurationPanel()
{
-
super(new GridLayout(5,1));
+
config = MailboxActivator.getConfigurationService();
//get our outgoing file panel set up
jtfOutgoingMessage.setText(Mailbox.getOutgoingMessageFileLocation()
@@ -220,36 +219,4 @@ else if (e.getSource() == jbtnDefault)
}
}
-
- /**
- * Implements the ConfigurationForm.getTitle() method. Returns the
- * title of this configuration form.
- */
- public String getTitle()
- {
- return Resources.getString("plugin.mailbox.MAILBOX");
- }
-
- /**
- * Implements the ConfigurationForm.getIcon() method. Returns the
- * icon of this configuration form.
- */
- public byte[] getIcon()
- {
- return Resources.getImageInBytes("plugin.mailbox.PLUGIN_ICON");
- }
-
- /**
- * Implements the ConfigurationForm.getForm() method. Returns the
- * component corresponding to this configuration form.
- */
- public Object getForm()
- {
- return this;
- }
-
- public int getIndex()
- {
- return -1;
- }
-}
\ No newline at end of file
+}
diff --git a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java
index 8bdd00493..05f468a4a 100644
--- a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java
+++ b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java
@@ -7,8 +7,8 @@
package net.java.sip.communicator.plugin.notificationconfiguration;
import net.java.sip.communicator.service.audionotifier.*;
-import net.java.sip.communicator.service.notification.*;
import net.java.sip.communicator.service.gui.*;
+import net.java.sip.communicator.service.notification.*;
import net.java.sip.communicator.util.*;
import org.osgi.framework.*;
@@ -35,9 +35,14 @@ public void start(BundleContext bc) throws Exception
{
bundleContext = bc;
- bundleContext.registerService( ConfigurationForm.class.getName(),
- new NotificationConfigurationForm(),
- null);
+ bundleContext
+ .registerService(
+ ConfigurationForm.class.getName(),
+ new LazyConfigurationForm(
+ "net.java.sip.communicator.plugin.notificationconfiguration.NotificationConfigurationPanel",
+ getClass().getClassLoader(),
+ "plugin.notificationconfig.PLUGIN_ICON",
+ "service.gui.NOTIFICATIONS"), null);
logger.trace("Notification Configuration: [ STARTED ]");
}
diff --git a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationForm.java b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationForm.java
deleted file mode 100644
index fae6a072e..000000000
--- a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationForm.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.notificationconfiguration;
-
-import net.java.sip.communicator.service.gui.*;
-
-/**
- * Implements the ConfigurationForm interface in order to allow
- * integrating the UI of this plug-in into the configuration UI.
- *
- * The interface implementation in question is separated from the very UI
- * implementation in order to allow the ConfigurationForm to be
- * loaded at startup without creating and loading the very UI implementation.
- *
- *
- * @author Lubomir Marinov
- */
-public class NotificationConfigurationForm
- implements ConfigurationForm
-{
-
- /**
- * Implements the ConfigurationForm.getForm() method. Returns the
- * component corresponding to this configuration form.
- */
- public Object getForm()
- {
- return new NotificationConfigurationPanel();
- }
-
- /**
- * Implements the ConfigurationForm.getIcon() method. Returns the
- * icon of this configuration form.
- */
- public byte[] getIcon()
- {
- return Resources.getImageInBytes("plugin.notificationconfig.PLUGIN_ICON");
- }
-
- public int getIndex()
- {
- return -1;
- }
-
- /**
- * Implements the ConfigurationForm.getTitle() method. Returns the
- * title of this configuration form.
- */
- public String getTitle()
- {
- return Resources.getString("service.gui.NOTIFICATIONS");
- }
-}
\ No newline at end of file
diff --git a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java
index 72d93a456..c4e01b6de 100644
--- a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java
+++ b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java
@@ -82,8 +82,6 @@ public class NotificationConfigurationPanel
public NotificationConfigurationPanel()
{
- super();
-
JPanel actions = new TransparentPanel();
GridBagLayout actionsLayout = new GridBagLayout();
JPanel applyPanel = new TransparentPanel();
diff --git a/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerActivator.java b/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerActivator.java
index 8b41029fc..af2d08136 100644
--- a/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerActivator.java
+++ b/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerActivator.java
@@ -33,10 +33,14 @@ public void start(BundleContext bc) throws Exception
{
bundleContext = bc;
- PluginManagerConfigForm pluginManager = new PluginManagerConfigForm();
-
- bundleContext.registerService(ConfigurationForm.class.getName(),
- pluginManager, null);
+ bundleContext
+ .registerService(
+ ConfigurationForm.class.getName(),
+ new LazyConfigurationForm(
+ "net.java.sip.communicator.plugin.pluginmanager.PluginManagerPanel",
+ getClass().getClassLoader(),
+ "plugin.pluginmanager.PLUGIN_ICON",
+ "plugin.pluginmanager.PLUGINS"), null);
}
/**
diff --git a/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerConfigForm.java b/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerConfigForm.java
deleted file mode 100644
index 56ee79d4f..000000000
--- a/src/net/java/sip/communicator/plugin/pluginmanager/PluginManagerConfigForm.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.pluginmanager;
-
-import net.java.sip.communicator.service.gui.*;
-
-/**
- * The ConfigurationForm that would be added in the user interface
- * configuration window. It contains a list of all installed plug-ins. Allows
- * installing new plugins and managing the existing ones.
- *
- * @author Yana Stamcheva
- * @author Lubomir Marinov
- */
-public class PluginManagerConfigForm
- extends AbstractConfigurationForm
-{
-
- /**
- * Implements the ConfigurationForm.getTitle() method. Returns the
- * title of this configuration form.
- */
- public String getTitle()
- {
- return Resources.getString("plugin.pluginmanager.PLUGINS");
- }
-
- /**
- * Implements the ConfigurationForm.getIcon() method. Returns the
- * icon of this configuration form.
- */
- public byte[] getIcon()
- {
- return Resources.getResources().getImageInBytes(
- "plugin.pluginmanager.PLUGIN_ICON");
- }
-
- protected String getFormClassName()
- {
- return "net.java.sip.communicator.plugin.pluginmanager.PluginManagerPanel";
- }
-}
diff --git a/src/net/java/sip/communicator/plugin/simpleaccreg/InitialAccountRegistrationFrame.java b/src/net/java/sip/communicator/plugin/simpleaccreg/InitialAccountRegistrationFrame.java
index afe47ecad..29afc33a5 100644
--- a/src/net/java/sip/communicator/plugin/simpleaccreg/InitialAccountRegistrationFrame.java
+++ b/src/net/java/sip/communicator/plugin/simpleaccreg/InitialAccountRegistrationFrame.java
@@ -29,6 +29,7 @@
* accounts are found.
*
* @author Yana Stamcheva
+ * @author Lubomir Marinov
*/
public class InitialAccountRegistrationFrame
extends JFrame
@@ -179,10 +180,9 @@ private void initAccountWizards()
}
}
- private class AccountRegistrationPanel extends JPanel
+ private class AccountRegistrationPanel
+ extends JPanel
{
- private JLabel protocolLabel = new JLabel();
-
private JLabel usernameLabel
= new JLabel(Resources.getString("service.gui.LOGIN"));
@@ -204,20 +204,8 @@ private class AccountRegistrationPanel extends JPanel
private JPanel iconDescriptionPanel = new JPanel(new BorderLayout());
- private JPanel inputRegisterPanel = new JPanel(new BorderLayout());
-
private JTextArea descriptionArea = new JTextArea();
- private JLabel signupLabel
- = new JLabel(""
- + Resources.getString("plugin.simpleaccregwizz.SIGNUP")
- + "", JLabel.RIGHT);
-
- private JLabel specialSignupLabel
- = new JLabel(""
- + Resources.getString("plugin.simpleaccregwizz.SPECIAL_SIGNUP")
- + "", JLabel.RIGHT);
-
private final AccountRegistrationWizard wizard;
public AccountRegistrationPanel(
@@ -228,6 +216,9 @@ public AccountRegistrationPanel(
this.wizard = accountWizard;
+ JLabel protocolLabel = new JLabel();
+ JPanel inputRegisterPanel = new JPanel(new BorderLayout());
+
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
this.setPreferredSize(new Dimension(230, 150));
@@ -238,71 +229,54 @@ public AccountRegistrationPanel(
this.labelsPanel.setOpaque(false);
this.fieldsPanel.setOpaque(false);
this.emptyPanel.setOpaque(false);
- this.inputRegisterPanel.setOpaque(false);
+ inputRegisterPanel.setOpaque(false);
this.iconDescriptionPanel.setOpaque(false);
this.add(inputRegisterPanel, BorderLayout.CENTER);
- this.inputRegisterPanel.add(inputPanel, BorderLayout.NORTH);
+ inputRegisterPanel.add(inputPanel, BorderLayout.NORTH);
if (wizard.isWebSignupSupported())
{
- if (isPreferredWizard)
+ String textKey =
+ isPreferredWizard ? "plugin.simpleaccregwizz.SPECIAL_SIGNUP"
+ : "plugin.simpleaccregwizz.SIGNUP";
+ JLabel signupLabel =
+ new JLabel(""
+ + Resources.getString(textKey) + "",
+ JLabel.RIGHT);
+
+ signupLabel.setFont(signupLabel.getFont().deriveFont(10f));
+ signupLabel.addMouseListener(new MouseAdapter()
{
- this.inputRegisterPanel.add(
- specialSignupLabel, BorderLayout.SOUTH);
- }
- else
- {
- this.inputRegisterPanel.add(
- signupLabel, BorderLayout.SOUTH);
- }
- }
-
- this.inputPanel.add(labelsPanel, BorderLayout.WEST);
-
- this.inputPanel.add(fieldsPanel, BorderLayout.CENTER);
-
- this.iconDescriptionPanel.add(
- protocolLabel, BorderLayout.NORTH);
-
- this.signupLabel.setFont(signupLabel.getFont().deriveFont(10f));
- this.signupLabel.addMouseListener(new MouseAdapter()
- {
- public void mousePressed(MouseEvent arg0)
+ public void mousePressed(MouseEvent e)
{
try
{
wizard.webSignup();
}
- catch (UnsupportedOperationException e)
+ catch (UnsupportedOperationException ex)
{
// This should not happen, because we check if the
- // operation is supported, before adding the sign up.
- logger.error("The web sign up is not supported.", e);
+ // operation is supported, before adding the sign
+ // up.
+ logger.error("The web sign up is not supported.",
+ ex);
}
}
});
- this.specialSignupLabel.setFont(signupLabel.getFont().deriveFont(10f));
- this.specialSignupLabel.addMouseListener(new MouseAdapter()
- {
- public void mousePressed(MouseEvent arg0)
- {
- try
- {
- wizard.webSignup();
- }
- catch (UnsupportedOperationException e)
- {
- // This should not happen, because we check if the
- // operation is supported, before adding the sign up.
- logger.error("The web sign up is not supported.", e);
- }
- }
- });
+ inputRegisterPanel.add(signupLabel, BorderLayout.SOUTH);
+ }
+
+ this.inputPanel.add(labelsPanel, BorderLayout.WEST);
+
+ this.inputPanel.add(fieldsPanel, BorderLayout.CENTER);
+
+ this.iconDescriptionPanel.add(
+ protocolLabel, BorderLayout.NORTH);
- this.protocolLabel.setFont(
+ protocolLabel.setFont(
protocolLabel.getFont().deriveFont(Font.BOLD, 14f));
this.usernameExampleLabel.setForeground(Color.DARK_GRAY);
this.usernameExampleLabel.setFont(
@@ -319,7 +293,7 @@ public void mousePressed(MouseEvent arg0)
this.usernameExampleLabel.setText(wizard.getUserNameExample());
- this.protocolLabel.setText(wizard.getProtocolName());
+ protocolLabel.setText(wizard.getProtocolName());
Image image = null;
try
@@ -418,7 +392,7 @@ public void serviceChanged(ServiceEvent event)
if (event.getType() == ServiceEvent.REGISTERED)
{
- this.addAccountRegistrationForm(wizard);
+ this.addAccountRegistrationForm(wizard);
}
}
diff --git a/src/net/java/sip/communicator/service/gui/AbstractConfigurationForm.java b/src/net/java/sip/communicator/service/gui/AbstractConfigurationForm.java
deleted file mode 100644
index d4213d66f..000000000
--- a/src/net/java/sip/communicator/service/gui/AbstractConfigurationForm.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.service.gui;
-
-import java.lang.reflect.*;
-
-/**
- * @author Lubomir Marinov
- */
-public abstract class AbstractConfigurationForm
- implements ConfigurationForm
-{
- public Object getForm()
- {
- Exception exception;
- try
- {
- return Class.forName(getFormClassName(), true,
- getClass().getClassLoader()).newInstance();
- }
- catch (ClassNotFoundException ex)
- {
- exception = ex;
- }
- catch (IllegalAccessException ex)
- {
- exception = ex;
- }
- catch (InstantiationException ex)
- {
- exception = ex;
- }
- throw new UndeclaredThrowableException(exception);
- }
-
- protected abstract String getFormClassName();
-
- public int getIndex()
- {
- return -1;
- }
-}
diff --git a/src/net/java/sip/communicator/service/gui/ExportedWindow.java b/src/net/java/sip/communicator/service/gui/ExportedWindow.java
index c2a40804a..87b916808 100644
--- a/src/net/java/sip/communicator/service/gui/ExportedWindow.java
+++ b/src/net/java/sip/communicator/service/gui/ExportedWindow.java
@@ -27,9 +27,6 @@ public interface ExportedWindow
public static final WindowID CHAT_WINDOW
= new WindowID("ChatWindow");
- public static final WindowID CONFIGURATION_WINDOW
- = new WindowID("ConfigurationWindow");
-
public static final WindowID AUTHENTICATION_WINDOW
= new WindowID("AuthenticationWindow");
diff --git a/src/net/java/sip/communicator/service/gui/LazyConfigurationForm.java b/src/net/java/sip/communicator/service/gui/LazyConfigurationForm.java
new file mode 100644
index 000000000..86ba615e4
--- /dev/null
+++ b/src/net/java/sip/communicator/service/gui/LazyConfigurationForm.java
@@ -0,0 +1,114 @@
+/*
+ * 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.service.gui;
+
+import java.lang.reflect.*;
+
+import net.java.sip.communicator.service.gui.internal.*;
+import net.java.sip.communicator.service.resources.*;
+
+/**
+ * @author Lubomir Marinov
+ */
+public class LazyConfigurationForm
+ implements ConfigurationForm
+{
+ private static ResourceManagementService resources;
+
+ private static ResourceManagementService getResources()
+ {
+ if (resources == null)
+ resources =
+ ResourceManagementServiceUtils.getService(GuiServiceActivator
+ .getBundleContext());
+ return resources;
+ }
+
+ private final ClassLoader formClassLoader;
+
+ private final String formClassName;
+
+ private final String iconID;
+
+ private final int index;
+
+ private final String titleID;
+
+ public LazyConfigurationForm(String formClassName,
+ ClassLoader formClassLoader, String iconID, String titleID)
+ {
+ this(formClassName, formClassLoader, iconID, titleID, -1);
+ }
+
+ public LazyConfigurationForm(String formClassName,
+ ClassLoader formClassLoader, String iconID, String titleID, int index)
+ {
+ this.formClassName = formClassName;
+ this.formClassLoader = formClassLoader;
+ this.iconID = iconID;
+ this.titleID = titleID;
+ this.index = index;
+ }
+
+ public Object getForm()
+ {
+ Exception exception;
+ try
+ {
+ return Class
+ .forName(getFormClassName(), true, getFormClassLoader())
+ .newInstance();
+ }
+ catch (ClassNotFoundException ex)
+ {
+ exception = ex;
+ }
+ catch (IllegalAccessException ex)
+ {
+ exception = ex;
+ }
+ catch (InstantiationException ex)
+ {
+ exception = ex;
+ }
+ throw new UndeclaredThrowableException(exception);
+ }
+
+ protected ClassLoader getFormClassLoader()
+ {
+ return formClassLoader;
+ }
+
+ protected String getFormClassName()
+ {
+ return formClassName;
+ }
+
+ public byte[] getIcon()
+ {
+ return getResources().getImageInBytes(getIconID());
+ }
+
+ protected String getIconID()
+ {
+ return iconID;
+ }
+
+ public int getIndex()
+ {
+ return index;
+ }
+
+ public String getTitle()
+ {
+ return getResources().getI18NString(getTitleID());
+ }
+
+ protected String getTitleID()
+ {
+ return titleID;
+ }
+}
diff --git a/src/net/java/sip/communicator/service/gui/UIService.java b/src/net/java/sip/communicator/service/gui/UIService.java
index 412001209..01ea70250 100644
--- a/src/net/java/sip/communicator/service/gui/UIService.java
+++ b/src/net/java/sip/communicator/service/gui/UIService.java
@@ -333,4 +333,6 @@ public SecurityAuthority getDefaultSecurityAuthority(
public boolean useMacOSXScreenMenuBar();
public void beginShutdown();
+
+ public void setConfigurationWindowVisible(boolean visible);
}
diff --git a/src/net/java/sip/communicator/service/gui/gui.manifest.mf b/src/net/java/sip/communicator/service/gui/gui.manifest.mf
index 798546d57..2ee336a6a 100644
--- a/src/net/java/sip/communicator/service/gui/gui.manifest.mf
+++ b/src/net/java/sip/communicator/service/gui/gui.manifest.mf
@@ -1,7 +1,10 @@
+Bundle-Activator: net.java.sip.communicator.service.gui.internal.GuiServiceActivator
Bundle-Name: UI Service
Bundle-Description: The User Interface Service.
Bundle-Vendor: sip-communicator.org
Bundle-Version: 0.0.1
System-Bundle: yes
+Import-Package: org.osgi.framework,
+ net.java.sip.communicator.service.resources
Export-Package: net.java.sip.communicator.service.gui,
net.java.sip.communicator.service.gui.event
diff --git a/src/net/java/sip/communicator/service/gui/internal/GuiServiceActivator.java b/src/net/java/sip/communicator/service/gui/internal/GuiServiceActivator.java
new file mode 100644
index 000000000..e9d9fe0ed
--- /dev/null
+++ b/src/net/java/sip/communicator/service/gui/internal/GuiServiceActivator.java
@@ -0,0 +1,33 @@
+/*
+ * 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.service.gui.internal;
+
+import org.osgi.framework.*;
+
+/**
+ * @author Lubomir Marinov
+ */
+public class GuiServiceActivator
+ implements BundleActivator
+{
+ private static BundleContext bundleContext;
+
+ public static BundleContext getBundleContext()
+ {
+ return bundleContext;
+ }
+
+ public void start(BundleContext bundleContext)
+ {
+ GuiServiceActivator.bundleContext = bundleContext;
+ }
+
+ public void stop(BundleContext bundleContext)
+ {
+ if (GuiServiceActivator.bundleContext == bundleContext)
+ GuiServiceActivator.bundleContext = null;
+ }
+}
diff --git a/src/net/java/sip/communicator/util/ImageUtils.java b/src/net/java/sip/communicator/util/ImageUtils.java
index 0424ba1ea..ca7576860 100644
--- a/src/net/java/sip/communicator/util/ImageUtils.java
+++ b/src/net/java/sip/communicator/util/ImageUtils.java
@@ -20,22 +20,23 @@
*
* @author Sebastien Mazy
* @author Yana Stamcheva
+ * @author Lubomir Marinov
*/
public class ImageUtils
{
private static final Logger logger = Logger.getLogger(ImageUtils.class);
/**
- * Returns a scaled image fitting within the given bounds
- * while keeping the aspect ratio.
- *
+ * Returns a scaled image fitting within the given bounds while keeping the
+ * aspect ratio.
+ *
* @param image the image to scale
* @param width maximum width of the scaled image
* @param height maximum height of the scaled image
* @return the scaled image
*/
- public static ImageIcon
- scaleIconWithinBounds(Image image, int width, int height)
+ public static Image scaleImageWithinBounds(Image image, int width,
+ int height)
{
Image scaledImage;
int scaleHint = Image.SCALE_SMOOTH;
@@ -51,8 +52,13 @@ public class ImageUtils
{
scaledImage = image.getScaledInstance(-1, height, scaleHint);
}
+ return scaledImage;
+ }
- return new ImageIcon(scaledImage);
+ public static ImageIcon scaleIconWithinBounds(Image image, int width,
+ int height)
+ {
+ return new ImageIcon(scaleImageWithinBounds(image, width, height));
}
/**
@@ -62,20 +68,16 @@ public class ImageUtils
*
* @return The rounded corner image.
*/
- public static ImageIcon getScaledRoundedImage( Image image,
- int width,
- int height)
+ public static Image getScaledRoundedImage(Image image, int width, int height)
{
- BufferedImage destImage = null;
-
- ImageIcon scaledImage = ImageUtils.scaleIconWithinBounds( image,
- width,
- height);
+ ImageIcon scaledImage =
+ ImageUtils.scaleIconWithinBounds(image, width, height);
+ int scaledImageWidth = scaledImage.getIconWidth();
+ int scaledImageHeight = scaledImage.getIconHeight();
- destImage
- = new BufferedImage(scaledImage.getImage().getWidth(null),
- scaledImage.getImage().getHeight(null),
- BufferedImage.TYPE_INT_ARGB);
+ BufferedImage destImage =
+ new BufferedImage(scaledImageWidth, scaledImageHeight,
+ BufferedImage.TYPE_INT_ARGB);
Graphics2D g = destImage.createGraphics();
@@ -84,8 +86,7 @@ public static ImageIcon getScaledRoundedImage( Image image,
AntialiasingManager.activateAntialiasing(g);
g.setColor(Color.WHITE);
- g.fillRoundRect(0, 0, scaledImage.getIconWidth(), scaledImage
- .getIconHeight(), 10, 10);
+ g.fillRoundRect(0, 0, scaledImageWidth, scaledImageHeight, 10, 10);
g.setComposite(AlphaComposite.SrcIn);
g.drawImage(scaledImage.getImage(), 0, 0, null);
@@ -94,8 +95,13 @@ public static ImageIcon getScaledRoundedImage( Image image,
{
g.dispose();
}
+ return destImage;
+ }
- return new ImageIcon(destImage);
+ public static ImageIcon getScaledRoundedIcon(Image image, int width,
+ int height)
+ {
+ return new ImageIcon(getScaledRoundedImage(image, width, height));
}
/**
@@ -121,7 +127,7 @@ public static ImageIcon getScaledRoundedImage( byte[] imageBytes,
InputStream in = new ByteArrayInputStream(imageBytes);
BufferedImage image = ImageIO.read(in);
- imageIcon = getScaledRoundedImage(image, width, height);
+ imageIcon = getScaledRoundedIcon(image, width, height);
}
catch (Exception e)
{