Add DND icon to tray/notification/dock icons.

cusax-fix
Damian Minkov 15 years ago
parent fcee9e5a88
commit c747c01113

@ -244,16 +244,19 @@ service.systray.TRAY_ICON=resources/images/impl/systray/systrayIcon.png
service.systray.TRAY_ICON_OFFLINE=resources/images/impl/systray/systrayIconOffline.png
service.systray.TRAY_ICON_AWAY=resources/images/impl/systray/systrayIconAway.png
service.systray.TRAY_ICON_FFC=resources/images/impl/systray/systrayIconFFC.png
service.systray.TRAY_ICON_DND=resources/images/impl/systray/systrayIconDND.png
service.systray.TRAY_ICON_WINDOWS=resources/images/impl/systray/systrayIconWindows.png
service.systray.TRAY_ICON_WINDOWS_OFFLINE=resources/images/impl/systray/systrayIconWindowsOffline.png
service.systray.TRAY_ICON_WINDOWS_AWAY=resources/images/impl/systray/systrayIconWindowsAway.png
service.systray.TRAY_ICON_WINDOWS_FFC=resources/images/impl/systray/systrayIconWindowsFFC.png
service.systray.TRAY_ICON_WINDOWS_DND=resources/images/impl/systray/systrayIconWindowsDND.png
service.systray.TRAY_ICON_MACOSX=resources/images/impl/systray/systrayIconMacOSX.png
service.systray.TRAY_ICON_MACOSX_WHITE=resources/images/impl/systray/systrayIconMacOSXWhite.png
service.systray.DOCK_ICON_ONLINE=resources/images/impl/systray/dock-online.png
service.systray.DOCK_ICON_OFFLINE=resources/images/impl/systray/dock-offline.png
service.systray.DOCK_ICON_AWAY=resources/images/impl/systray/dock-away.png
service.systray.DOCK_ICON_FFC=resources/images/impl/systray/dock-chatty.png
service.systray.DOCK_ICON_DND=resources/images/impl/systray/dock-dnd.png
service.systray.STATUS_MENU_ICON=resources/images/impl/systray/statusIcon.png
service.systray.MESSAGE_ICON=resources/images/impl/systray/envelope.png
service.systray.MESSAGE_ICON_WINDOWS=resources/images/impl/systray/envelopeWindows.png

@ -677,6 +677,10 @@ private void setSystrayIcon(int status)
{
imgType = SystrayService.SC_IMG_OFFLINE_TYPE;
}
else if(status < PresenceStatus.AWAY_THRESHOLD)
{
imgType = SystrayService.SC_IMG_DND_TYPE;
}
else if(status < PresenceStatus.AVAILABLE_THRESHOLD)
{
imgType = SystrayService.SC_IMG_AWAY_TYPE;
@ -973,6 +977,9 @@ public void loadSkin()
ffcItem.setIcon(new ImageIcon(ImageLoader.getImage(
ImageLoader.USER_FFC_ICON)));
dndItem.setIcon(new ImageIcon(ImageLoader.getImage(
ImageLoader.USER_DND_ICON)));
awayItem.setIcon(new ImageIcon(ImageLoader.getImage(
ImageLoader.USER_AWAY_ICON)));

@ -92,6 +92,8 @@ public class SystrayServiceJdicImpl
private ImageIcon logoIconFFC;
private ImageIcon logoIconDND;
private ImageIcon logoIconWhite;
private ImageIcon envelopeIcon;
@ -109,6 +111,8 @@ public class SystrayServiceJdicImpl
private URL dockIconFFC;
private URL dockIconDND;
private Image originalDockImage = null;
private boolean initialized = false;
@ -162,6 +166,8 @@ private void initSystray()
"service.systray.TRAY_ICON_WINDOWS_AWAY");
logoIconFFC = Resources.getImage(
"service.systray.TRAY_ICON_WINDOWS_FFC");
logoIconDND = Resources.getImage(
"service.systray.TRAY_ICON_WINDOWS_DND");
envelopeIcon = Resources.getImage(
"service.systray.MESSAGE_ICON_WINDOWS");
} // If we're running under MacOSX, we use a special black and
@ -183,6 +189,7 @@ else if (isMac)
"service.systray.TRAY_ICON_OFFLINE");
logoIconAway = Resources.getImage("service.systray.TRAY_ICON_AWAY");
logoIconFFC = Resources.getImage("service.systray.TRAY_ICON_FFC");
logoIconDND = Resources.getImage("service.systray.TRAY_ICON_DND");
envelopeIcon = Resources.getImage("service.systray.MESSAGE_ICON");
}
@ -208,7 +215,10 @@ else if (isMac)
"service.systray.DOCK_ICON_OFFLINE");
dockIconAway = Resources.getImageURL(
"service.systray.DOCK_ICON_AWAY");
dockIconFFC = Resources.getImageURL("service.systray.DOCK_ICON_FFC");
dockIconFFC =
Resources.getImageURL("service.systray.DOCK_ICON_FFC");
dockIconDND =
Resources.getImageURL("service.systray.DOCK_ICON_DND");
}
//Show/hide the contact list when user clicks on the systray.
@ -478,6 +488,11 @@ else if (imageType == SystrayService.SC_IMG_FFC_TYPE)
if (!isMac)
toChangeSystrayIcon = logoIconFFC;
}
else if (imageType == SystrayService.SC_IMG_DND_TYPE)
{
if (!isMac)
toChangeSystrayIcon = logoIconDND;
}
else if (imageType == SystrayService.ENVELOPE_IMG_TYPE)
{
toChangeSystrayIcon
@ -509,6 +524,9 @@ else if (imageType == SystrayService.ENVELOPE_IMG_TYPE)
case SystrayService.SC_IMG_FFC_TYPE:
toChangeDockIcon = dockIconFFC;
break;
case SystrayService.SC_IMG_DND_TYPE:
toChangeDockIcon = dockIconDND;
break;
}
try

@ -47,15 +47,20 @@ public interface SystrayService
public static final int SC_IMG_OFFLINE_TYPE = 2;
/**
* Image type corresponding to the sip-communicator offline icon
* Image type corresponding to the sip-communicator away icon
*/
public static final int SC_IMG_AWAY_TYPE = 3;
/**
* Image type corresponding to the sip-communicator offline icon
* Image type corresponding to the sip-communicator free for chat icon
*/
public static final int SC_IMG_FFC_TYPE = 4;
/**
* Image type corresponding to the sip-communicator do not disturb icon
*/
public static final int SC_IMG_DND_TYPE = 5;
/**
* Image type corresponding to the envelope icon
*/

Loading…
Cancel
Save