diff options
author | Lyubomir Marinov <lyubomir.marinov@jitsi.org> | 2008-08-18 12:25:00 +0000 |
---|---|---|
committer | Lyubomir Marinov <lyubomir.marinov@jitsi.org> | 2008-08-18 12:25:00 +0000 |
commit | 2fe2f0d5dac8f3420fe8f55358938684c3a4d640 (patch) | |
tree | 6d7ccf13b0559ddac95cb811e087cf3a7134e0d5 | |
parent | ecb95161eb71b98fdf0040aa1ca1ec1bd503db02 (diff) | |
download | jitsi-2fe2f0d5dac8f3420fe8f55358938684c3a4d640.zip jitsi-2fe2f0d5dac8f3420fe8f55358938684c3a4d640.tar.gz jitsi-2fe2f0d5dac8f3420fe8f55358938684c3a4d640.tar.bz2 |
Prevents .plugin.notificationconfiguration from creating the UI of its ConfigurationForm implementation at start up and delays it until it's really necessary.
-rw-r--r-- | src/net/java/sip/communicator/impl/gui/main/configforms/ConfigFormDescriptor.java | 16 | ||||
-rw-r--r-- | src/net/java/sip/communicator/plugin/notificationconfiguration/ListMulti.java | 2 | ||||
-rw-r--r-- | src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java | 5 | ||||
-rw-r--r-- | src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationForm.java | 57 | ||||
-rw-r--r-- | src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java (renamed from src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationConfigForm.java) | 47 |
5 files changed, 74 insertions, 53 deletions
diff --git a/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigFormDescriptor.java b/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigFormDescriptor.java index dfffe48..8029fac 100644 --- a/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigFormDescriptor.java +++ b/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigFormDescriptor.java @@ -57,13 +57,6 @@ public class ConfigFormDescriptor if(icon != null) configFormIcon = new ImageIcon(ImageLoader.getBytesInImage(icon)); - - if(!(configForm.getForm() instanceof Component)) - { - throw new ClassCastException("ConfigurationFrame :" - + configForm.getForm().getClass() - + " is not a class supported by this ui implementation"); - } } /** @@ -83,7 +76,14 @@ public class ConfigFormDescriptor */ public Component getConfigFormPanel() { - return (Component) configForm.getForm(); + Object form = configForm.getForm(); + if ((form instanceof Component) == false) + { + throw new ClassCastException("ConfigurationFrame :" + + form.getClass() + + " is not a class supported by this ui implementation"); + } + return (Component) form; } /** diff --git a/src/net/java/sip/communicator/plugin/notificationconfiguration/ListMulti.java b/src/net/java/sip/communicator/plugin/notificationconfiguration/ListMulti.java index 485cd10..55e4f30 100644 --- a/src/net/java/sip/communicator/plugin/notificationconfiguration/ListMulti.java +++ b/src/net/java/sip/communicator/plugin/notificationconfiguration/ListMulti.java @@ -373,7 +373,7 @@ public class ListMulti extends JPanel int index = columnModel.getColumnIndexAtX(p.x); int realIndex = columnModel.getColumn(index).getModelIndex(); - return NotificationConfigurationConfigForm.columnToolTips[ + return NotificationConfigurationPanel.columnToolTips[ realIndex]; } }; diff --git a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java index ec1616b..8bdd004 100644 --- a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java +++ b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationActivator.java @@ -35,11 +35,8 @@ public class NotificationConfigurationActivator implements BundleActivator { bundleContext = bc; - NotificationConfigurationConfigForm notificationconfiguration - = new NotificationConfigurationConfigForm(); - bundleContext.registerService( ConfigurationForm.class.getName(), - notificationconfiguration, + new NotificationConfigurationForm(), 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 new file mode 100644 index 0000000..8a50faf --- /dev/null +++ b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationForm.java @@ -0,0 +1,57 @@ +/* + * 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 <code>ConfigurationForm</code> interface in order to allow + * integrating the UI of this plug-in into the configuration UI. + * <p> + * The interface implementation in question is separated from the very UI + * implementation in order to allow the <code>ConfigurationForm</code> to be + * loaded at startup without creating and loading the very UI implementation. + * </p> + * + * @author Lubomir Marinov + */ +public class NotificationConfigurationForm + implements ConfigurationForm +{ + + /** + * Implements the <tt>ConfigurationForm.getForm()</tt> method. Returns the + * component corresponding to this configuration form. + */ + public Object getForm() + { + return new NotificationConfigurationPanel(); + } + + /** + * Implements the <tt>ConfigurationForm.getIcon()</tt> method. Returns the + * icon of this configuration form. + */ + public byte[] getIcon() + { + return Resources.getImageInBytes("notificationIcon"); + } + + public int getIndex() + { + return -1; + } + + /** + * Implements the <tt>ConfigurationForm.getTitle()</tt> method. Returns the + * title of this configuration form. + */ + public String getTitle() + { + return Resources.getString("notifications"); + } +}
\ No newline at end of file diff --git a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationConfigForm.java b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java index 1d2a8be..11b1f10 100644 --- a/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationConfigForm.java +++ b/src/net/java/sip/communicator/plugin/notificationconfiguration/NotificationConfigurationPanel.java @@ -17,27 +17,26 @@ import javax.swing.border.*; import javax.swing.event.*; import net.java.sip.communicator.service.audionotifier.*; -import net.java.sip.communicator.service.gui.*; import net.java.sip.communicator.service.notification.*; import net.java.sip.communicator.service.notification.event.*; import net.java.sip.communicator.util.*; /** - * The <tt>ConfigurationForm</tt> that would be added in the user interface - * configuration window. It contains a list of all installed notifications. + * The UI of <tt>ConfigurationForm</tt> that would be added in the user + * interface configuration window. It contains a list of all installed + * notifications. * * @author Alexandre Maillard */ -public class NotificationConfigurationConfigForm +public class NotificationConfigurationPanel extends JPanel - implements ConfigurationForm, - ActionListener, + implements ActionListener, ItemListener, DocumentListener, NotificationChangeListener { private final Logger logger - = Logger.getLogger(NotificationConfigurationConfigForm.class); + = Logger.getLogger(NotificationConfigurationPanel.class); // Declaration of variables on the table notifications private Vector dataVector = null; @@ -80,7 +79,7 @@ public class NotificationConfigurationConfigForm private boolean noListener = false; - public NotificationConfigurationConfigForm() + public NotificationConfigurationPanel() { super(); @@ -368,33 +367,6 @@ public class NotificationConfigurationConfigForm noListener = false; } - /** - * Implements the <tt>ConfigurationForm.getTitle()</tt> method. Returns the - * title of this configuration form. - */ - public String getTitle() - { - return Resources.getString("notifications"); - } - - /** - * Implements the <tt>ConfigurationForm.getIcon()</tt> method. Returns the - * icon of this configuration form. - */ - public byte[] getIcon() - { - return Resources.getImageInBytes("notificationIcon"); - } - - /** - * Implements the <tt>ConfigurationForm.getForm()</tt> method. Returns the - * component corresponding to this configuration form. - */ - public Object getForm() - { - return this; - } - public void actionPerformed(ActionEvent e) { if(e.getSource() == activate) @@ -1217,9 +1189,4 @@ public class NotificationConfigurationConfigForm public void mouseExited(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} } - - public int getIndex() - { - return -1; - } } |