diff options
author | Damian Minkov <damencho@jitsi.org> | 2012-01-11 14:57:22 +0000 |
---|---|---|
committer | Damian Minkov <damencho@jitsi.org> | 2012-01-11 14:57:22 +0000 |
commit | c2aef4ba8217bb48c739b204785a647540ab6132 (patch) | |
tree | c759c14cea5b64f7e85024554679cf1a280b5ebd /src/net/java | |
parent | 7bd3e9ea05ae83042db5b8b67a13408643129b41 (diff) | |
download | jitsi-c2aef4ba8217bb48c739b204785a647540ab6132.zip jitsi-c2aef4ba8217bb48c739b204785a647540ab6132.tar.gz jitsi-c2aef4ba8217bb48c739b204785a647540ab6132.tar.bz2 |
Adds some enhancements on chat room list dialog. Fixes some NPE exceptions.
Diffstat (limited to 'src/net/java')
3 files changed, 45 insertions, 28 deletions
diff --git a/src/net/java/sip/communicator/impl/gui/main/call/DTMFHandler.java b/src/net/java/sip/communicator/impl/gui/main/call/DTMFHandler.java index 704107b..e6f8a32 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/DTMFHandler.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/DTMFHandler.java @@ -192,7 +192,8 @@ public class DTMFHandler { this.callContainer = callContainer; - this.addParent(callContainer.getCallWindow().getFrame()); + if(callContainer != null) + this.addParent(callContainer.getCallWindow().getFrame()); KeyboardFocusManager keyManager = KeyboardFocusManager.getCurrentKeyboardFocusManager(); @@ -201,14 +202,10 @@ public class DTMFHandler /** * Creates DTMF handler for a call. - * @param callContainer the <tt>CallContainer</tt>, where this handler is - * registered */ public DTMFHandler() { - KeyboardFocusManager keyManager - = KeyboardFocusManager.getCurrentKeyboardFocusManager(); - keyManager.addKeyEventDispatcher(this); + this(null); } /** @@ -307,7 +304,8 @@ public class DTMFHandler audioNotifier.createAudio(info.sound); // some little silence, must have a non-zero or it won't loop - currentlyPlayingAudio.playInLoop(10); + if(currentlyPlayingAudio != null) + currentlyPlayingAudio.playInLoop(10); } if (callContainer != null) diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java index 54564e0..6947f11 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java @@ -315,32 +315,35 @@ public class MainToolBar boolean hasPhone = false; - Iterator<Contact> contacts = contact.getContacts(); - while(contacts.hasNext()) + if(contact != null) { - Contact c = contacts.next(); - OperationSetServerStoredContactInfo infoOpSet = - c.getProtocolProvider().getOperationSet( - OperationSetServerStoredContactInfo.class); - Iterator<GenericDetail> details = null; - - if(infoOpSet != null) + Iterator<Contact> contacts = contact.getContacts(); + while(contacts.hasNext()) { - details = infoOpSet.getAllDetailsForContact(c); - - while(details.hasNext()) + Contact c = contacts.next(); + OperationSetServerStoredContactInfo infoOpSet = + c.getProtocolProvider().getOperationSet( + OperationSetServerStoredContactInfo.class); + Iterator<GenericDetail> details = null; + + if(infoOpSet != null) { - GenericDetail d = details.next(); - if(d instanceof PhoneNumberDetail && - !(d instanceof PagerDetail) && - !(d instanceof FaxDetail)) + details = infoOpSet.getAllDetailsForContact(c); + + while(details.hasNext()) { - PhoneNumberDetail pnd = (PhoneNumberDetail)d; - if(pnd.getNumber() != null && - pnd.getNumber().length() > 0) + GenericDetail d = details.next(); + if(d instanceof PhoneNumberDetail && + !(d instanceof PagerDetail) && + !(d instanceof FaxDetail)) { - hasPhone = true; - break; + PhoneNumberDetail pnd = (PhoneNumberDetail)d; + if(pnd.getNumber() != null && + pnd.getNumber().length() > 0) + { + hasPhone = true; + break; + } } } } diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java index 2692446..d23b2c6 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java +++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java @@ -21,6 +21,7 @@ import net.java.sip.communicator.impl.gui.main.chat.*; import net.java.sip.communicator.impl.gui.main.chat.conference.*; import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.util.*; import net.java.sip.communicator.util.swing.*; /** @@ -183,6 +184,9 @@ public class ChatRoomTableDialog okButton.addActionListener(this); cancelButton.addActionListener(this); + addButton.setEnabled(false); + removeButton.setEnabled(false); + westButtonPanel.add(addButton); westButtonPanel.add(removeButton); eastButtonPanel.add(cancelButton); @@ -213,9 +217,15 @@ public class ChatRoomTableDialog chatRoomsTableUI.clearSelection(); if(editor.getText().trim().length() > 0) + { okButton.setEnabled(true); + addButton.setEnabled(true); + } else + { okButton.setEnabled(false); + addButton.setEnabled(false); + } } public void keyPressed(KeyEvent e) @@ -239,7 +249,10 @@ public class ChatRoomTableDialog editor.setText(room.getChatRoomName()); providersCombo.setSelectedItem(room.getParentProvider()); okButton.setEnabled(true); + removeButton.setEnabled(true); } + else + removeButton.setEnabled(false); } } }); @@ -297,6 +310,9 @@ public class ChatRoomTableDialog if(sourceButton.equals(addButton)) { String chatRoomName = editor.getText(); + + if(StringUtils.isNullOrEmpty(chatRoomName)) + return; ChatRoomWrapper chatRoomWrapper = GuiActivator |