|
|
|
|
@ -59,6 +59,12 @@ public class StatusSubMenu
|
|
|
|
|
*/
|
|
|
|
|
private static boolean hideAccountStatusSelectors = false;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Ignore protocols that don't have presence operation sets
|
|
|
|
|
* when looking for global status.
|
|
|
|
|
*/
|
|
|
|
|
private static boolean ignoreNonPresenceOpSetProtocols = false;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Creates an instance of <tt>StatusSubMenu</tt>.
|
|
|
|
|
*
|
|
|
|
|
@ -107,6 +113,13 @@ public StatusSubMenu(SystrayServiceJdicImpl tray, boolean swing)
|
|
|
|
|
hideAccountStatusSelectors);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String ignoreStrValue
|
|
|
|
|
= OsDependentActivator.getResources().getSettingsString(
|
|
|
|
|
"net.java.sip.communicator.service.protocol.globalstatus" +
|
|
|
|
|
".IGNORE_NONPRESENCEOPSET_PROTOCOLS");
|
|
|
|
|
if(ignoreStrValue != null)
|
|
|
|
|
ignoreNonPresenceOpSetProtocols = Boolean.valueOf(ignoreStrValue);
|
|
|
|
|
|
|
|
|
|
PresenceStatus offlineStatus = null;
|
|
|
|
|
// creates menu item entry for every global status
|
|
|
|
|
for(GlobalStatusEnum status : GlobalStatusEnum.globalStatusSet)
|
|
|
|
|
@ -393,6 +406,10 @@ private void updateGlobalStatus()
|
|
|
|
|
|
|
|
|
|
OperationSetPresence presence
|
|
|
|
|
= protocolProvider.getOperationSet(OperationSetPresence.class);
|
|
|
|
|
|
|
|
|
|
if(presence == null && ignoreNonPresenceOpSetProtocols)
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
int presenceStatus
|
|
|
|
|
= (presence == null)
|
|
|
|
|
? PresenceStatus.AVAILABLE_THRESHOLD
|
|
|
|
|
|