Adds property for skipping providers that have only Online/Offline status, when changing global status.

cusax-fix
Damian Minkov 14 years ago
parent ea140320c0
commit 4033f64fdc

@ -95,6 +95,12 @@ public class GlobalStatusSelectorBox
*/
private ButtonGroup group = new ButtonGroup();
/**
* Ignore protocols that don't have presence operation sets
* when looking for global status.
*/
private static boolean ignoreNonPresenceOpSetProtocols = false;
/**
* Creates an instance of <tt>SimpleStatusSelectorBox</tt>.
*
@ -114,6 +120,13 @@ public GlobalStatusSelectorBox(MainFrame mainFrame)
this.add(titleLabel);
this.addSeparator();
String ignoreStrValue
= GuiActivator.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)
@ -425,6 +438,10 @@ private void updateGlobalStatus()
OperationSetPresence presence
= protocolProvider.getOperationSet(OperationSetPresence.class);
if(presence == null && ignoreNonPresenceOpSetProtocols)
continue;
int presenceStatus
= (presence == null)
? PresenceStatus.AVAILABLE_THRESHOLD

@ -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

Loading…
Cancel
Save