Dispatches video contact details. Uses voice as default number detail, if no type is available. Use position index in MetaContactRightButtonMenu.

cusax-fix
Damian Minkov 13 years ago
parent b2cc5dc5bf
commit 46bcbd306e

Binary file not shown.

@ -548,6 +548,7 @@ service.gui.SILENT_MEMBER=silent member
service.gui.NON_SECURE_CONNECTION=No secure connection can be made for account {0}. If you want to connect to non-secure server, please check \"Allow non-secure connections\" in your account configuration
service.gui.UPDATE=Update
service.gui.MOBILE_PHONE=Mobile
service.gui.VIDEO_PHONE=Video
service.gui.WORK_PHONE=Work
service.gui.PHONE=Phone
service.gui.PHONES=Phones

@ -22,12 +22,7 @@
import net.java.sip.communicator.service.contactlist.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.FaxDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.GenericDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.MobilePhoneDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PagerDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PhoneNumberDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.WorkPhoneDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.*;
import net.java.sip.communicator.service.protocol.event.*;
import net.java.sip.communicator.service.protocol.media.*;
import net.java.sip.communicator.util.*;
@ -1649,6 +1644,13 @@ else if(d instanceof MobilePhoneDetail)
getI18NString(
"service.gui.MOBILE_PHONE");
}
else if(d instanceof VideoDetail)
{
localizedType =
GuiActivator.getResources().
getI18NString(
"service.gui.VIDEO_PHONE");
}
else
{
localizedType =

@ -25,10 +25,7 @@
import net.java.sip.communicator.service.contactsource.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.FaxDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.GenericDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PagerDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PhoneNumberDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.account.*;
import net.java.sip.communicator.util.skin.*;
@ -771,6 +768,7 @@ private void initButtonsPanel(UIContact uiContact)
// Check if contact has additional phone numbers, if yes show the
// call button
boolean hasPhone = false;
boolean hasVideoPhone = false;
// check for phone stored in contact info only
// if telephony contact is missing
@ -814,6 +812,10 @@ private void initButtonsPanel(UIContact uiContact)
pnd.getNumber().length() > 0)
{
hasPhone = true;
if(d instanceof VideoDetail)
hasVideoPhone = true;
break;
}
}
@ -848,7 +850,8 @@ private void initButtonsPanel(UIContact uiContact)
&& AccountUtils.getOpSetRegisteredProviders(
OperationSetVideoTelephony.class,
null,
null).size() > 0))
null).size() > 0)
|| hasVideoPhone)
{
x += addButton(callVideoButton, ++gridX, x, false);
}

@ -29,13 +29,8 @@
import net.java.sip.communicator.service.gui.Container;
import net.java.sip.communicator.service.gui.event.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.OperationSetExtendedAuthorizations.SubscriptionStatus;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.FaxDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.GenericDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.MobilePhoneDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PagerDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PhoneNumberDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.WorkPhoneDetail;
import net.java.sip.communicator.service.protocol.OperationSetExtendedAuthorizations.*;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.account.*;
import net.java.sip.communicator.util.skin.*;
@ -452,6 +447,13 @@ else if(d instanceof MobilePhoneDetail)
getI18NString(
"service.gui.MOBILE_PHONE");
}
else if(d instanceof VideoDetail)
{
localizedType =
GuiActivator.getResources().
getI18NString(
"service.gui.VIDEO_PHONE");
}
else
{
localizedType =
@ -823,7 +825,12 @@ private void initPluginComponents()
if (component.getComponent() == null)
continue;
this.add((Component)component.getComponent());
if(component.getPositionIndex() != -1)
this.add((Component)component.getComponent(),
component.getPositionIndex());
else
this.add((Component)component.getComponent());
}
}
GuiActivator.getUIService().addPluginComponentListener(this);
@ -1292,10 +1299,23 @@ public void pluginComponentAdded(PluginComponentEvent event)
if (c.getComponent() == null)
return;
int ix = c.getPositionIndex();
if (constraints == null)
this.add((Component) c.getComponent());
{
if(ix != -1)
this.add((Component) c.getComponent(), ix);
else
this.add((Component) c.getComponent());
}
else
this.add((Component) c.getComponent(), constraints);
{
if(ix != -1)
this.add((Component) c.getComponent(), constraints, ix);
else
this.add((Component) c.getComponent(), constraints);
}
c.setCurrentContact(metaContact);

@ -18,13 +18,8 @@
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.OperationSetExtendedAuthorizations.SubscriptionStatus;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.FaxDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.GenericDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.MobilePhoneDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PagerDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.PhoneNumberDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.WorkPhoneDetail;
import net.java.sip.communicator.service.protocol.OperationSetExtendedAuthorizations.*;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.*;
import net.java.sip.communicator.util.*;
/**
@ -544,6 +539,13 @@ else if(d instanceof MobilePhoneDetail)
getI18NString(
"service.gui.MOBILE_PHONE");
}
else if(d instanceof VideoDetail)
{
localizedType =
GuiActivator.getResources().
getI18NString(
"service.gui.VIDEO_PHONE");
}
else
{
localizedType =

@ -9,8 +9,7 @@
import java.lang.reflect.*;
import java.util.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.GenericDetail;
import net.java.sip.communicator.service.protocol.ServerStoredDetails.*;
import net.java.sip.communicator.util.*;
import org.jivesoftware.smack.*;
@ -157,23 +156,23 @@ protected List<GenericDetail> retrieveDetails(String contactAddress)
tmp = checkForFullName(card);
if(tmp != null)
result.add(new ServerStoredDetails.DisplayNameDetail(tmp));
result.add(new DisplayNameDetail(tmp));
tmp = card.getFirstName();
if(tmp != null)
result.add(new ServerStoredDetails.FirstNameDetail(tmp));
result.add(new FirstNameDetail(tmp));
tmp = card.getMiddleName();
if(tmp != null)
result.add(new ServerStoredDetails.MiddleNameDetail(tmp));
result.add(new MiddleNameDetail(tmp));
tmp = card.getLastName();
if(tmp != null)
result.add(new ServerStoredDetails.LastNameDetail(tmp));
result.add(new LastNameDetail(tmp));
tmp = card.getNickName();
if(tmp != null)
result.add(new ServerStoredDetails.NicknameDetail(tmp));
result.add(new NicknameDetail(tmp));
// Home Details
// addrField one of
@ -181,46 +180,50 @@ protected List<GenericDetail> retrieveDetails(String contactAddress)
// LOCALITY, REGION, PCODE, CTRY
tmp = card.getAddressFieldHome("STREET");
if(tmp != null)
result.add(new ServerStoredDetails.AddressDetail(tmp));
result.add(new AddressDetail(tmp));
tmp = card.getAddressFieldHome("LOCALITY");
if(tmp != null)
result.add(new ServerStoredDetails.CityDetail(tmp));
result.add(new CityDetail(tmp));
tmp = card.getAddressFieldHome("REGION");
if(tmp != null)
result.add(new ServerStoredDetails.ProvinceDetail(tmp));
result.add(new ProvinceDetail(tmp));
tmp = card.getAddressFieldHome("PCODE");
if(tmp != null)
result.add(new ServerStoredDetails.PostalCodeDetail(tmp));
result.add(new PostalCodeDetail(tmp));
// tmp = card.getAddressFieldHome("CTRY");
// if(tmp != null)
// result.add(new ServerStoredDetails.CountryDetail(tmp);
// result.add(new CountryDetail(tmp);
// phoneType one of
//VOICE, FAX, PAGER, MSG, CELL, VIDEO, BBS, MODEM, ISDN, PCS, PREF
tmp = card.getPhoneHome("VOICE");
if(tmp != null)
result.add(new ServerStoredDetails.PhoneNumberDetail(tmp));
result.add(new PhoneNumberDetail(tmp));
tmp = card.getPhoneHome("VIDEO");
if(tmp != null)
result.add(new VideoDetail(tmp));
tmp = card.getPhoneHome("FAX");
if(tmp != null)
result.add(new ServerStoredDetails.FaxDetail(tmp));
result.add(new FaxDetail(tmp));
tmp = card.getPhoneHome("PAGER");
if(tmp != null)
result.add(new ServerStoredDetails.PagerDetail(tmp));
result.add(new PagerDetail(tmp));
tmp = card.getPhoneHome("CELL");
if(tmp != null)
result.add(new ServerStoredDetails.MobilePhoneDetail(tmp));
result.add(new MobilePhoneDetail(tmp));
tmp = card.getEmailHome();
if(tmp != null)
result.add(new ServerStoredDetails.EmailAddressDetail(tmp));
result.add(new EmailAddressDetail(tmp));
// Work Details
// addrField one of
@ -228,30 +231,30 @@ protected List<GenericDetail> retrieveDetails(String contactAddress)
// LOCALITY, REGION, PCODE, CTRY
tmp = card.getAddressFieldWork("STREET");
if(tmp != null)
result.add(new ServerStoredDetails.WorkAddressDetail(tmp));
result.add(new WorkAddressDetail(tmp));
tmp = card.getAddressFieldWork("LOCALITY");
if(tmp != null)
result.add(new ServerStoredDetails.WorkCityDetail(tmp));
result.add(new WorkCityDetail(tmp));
tmp = card.getAddressFieldWork("REGION");
if(tmp != null)
result.add(new ServerStoredDetails.WorkProvinceDetail(tmp));
result.add(new WorkProvinceDetail(tmp));
tmp = card.getAddressFieldWork("PCODE");
if(tmp != null)
result.add(new ServerStoredDetails.WorkPostalCodeDetail(tmp));
result.add(new WorkPostalCodeDetail(tmp));
// tmp = card.getAddressFieldWork("CTRY");
// if(tmp != null)
// result.add(new ServerStoredDetails.WorkCountryDetail(tmp);
// result.add(new WorkCountryDetail(tmp);
// phoneType one of
//VOICE, FAX, PAGER, MSG, CELL, VIDEO, BBS, MODEM, ISDN, PCS, PREF
tmp = card.getPhoneWork("VOICE");
if(tmp != null)
result.add(new ServerStoredDetails.WorkPhoneDetail(tmp));
result.add(new WorkPhoneDetail(tmp));
tmp = card.getPhoneWork("FAX");
if(tmp != null)
@ -263,16 +266,16 @@ protected List<GenericDetail> retrieveDetails(String contactAddress)
tmp = card.getPhoneWork("CELL");
if(tmp != null)
result.add(new ServerStoredDetails.WorkMobilePhoneDetail(tmp));
result.add(new WorkMobilePhoneDetail(tmp));
tmp = card.getEmailWork();
if(tmp != null)
result.add(new ServerStoredDetails.EmailAddressDetail(tmp));
result.add(new EmailAddressDetail(tmp));
tmp = card.getOrganization();
if(tmp != null)
result.add(new ServerStoredDetails.WorkOrganizationNameDetail(tmp));
result.add(new WorkOrganizationNameDetail(tmp));
tmp = card.getOrganizationUnit();
if(tmp != null)
@ -280,8 +283,7 @@ protected List<GenericDetail> retrieveDetails(String contactAddress)
byte[] imageBytes = card.getAvatar();
if(imageBytes != null && imageBytes.length > 0)
result.add(new ServerStoredDetails.ImageDetail(
"Image", imageBytes));
result.add(new ImageDetail("Image", imageBytes));
}
catch (Throwable exc)
{
@ -405,7 +407,7 @@ public void load(VCard vcard,
* Work department
*/
public static class WorkDepartmentNameDetail
extends ServerStoredDetails.NameDetail
extends NameDetail
{
/**
* Constructor.
@ -422,7 +424,7 @@ public WorkDepartmentNameDetail(String workDepartmentName)
* Fax at work
*/
public static class WorkFaxDetail
extends ServerStoredDetails.FaxDetail
extends FaxDetail
{
/**
* Constructor.
@ -440,7 +442,7 @@ public WorkFaxDetail(String number)
* Pager at work
*/
public static class WorkPagerDetail
extends ServerStoredDetails.PhoneNumberDetail
extends PhoneNumberDetail
{
/**
* Constructor.

@ -165,6 +165,13 @@ else if(d instanceof MobilePhoneDetail)
PNContactSourceActivator.getResources()
.getI18NString("service.gui.MOBILE_PHONE");
}
else if(d instanceof VideoDetail)
{
localizedType =
PNContactSourceActivator.getResources().
getI18NString(
"service.gui.VIDEO_PHONE");
}
else
{
localizedType =

@ -389,6 +389,18 @@ public FaxDetail(String number)
}
}
/**
* A detail used for representing a work mobile phone number.
*/
public static class VideoDetail extends PhoneNumberDetail
{
public VideoDetail(String number)
{
super(number);
super.detailDisplayName = "Video";
}
}
/**
* A Pager number.
*/

Loading…
Cancel
Save