aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java
diff options
context:
space:
mode:
authorDamian Minkov <damencho@jitsi.org>2012-01-11 14:57:22 +0000
committerDamian Minkov <damencho@jitsi.org>2012-01-11 14:57:22 +0000
commitc2aef4ba8217bb48c739b204785a647540ab6132 (patch)
treec759c14cea5b64f7e85024554679cf1a280b5ebd /src/net/java
parent7bd3e9ea05ae83042db5b8b67a13408643129b41 (diff)
downloadjitsi-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')
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/call/DTMFHandler.java12
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java45
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java16
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