imageLabel.addMouseTrackListener(fMouseTrackListner);
imageLabel.setImage(OwlUI.getImage(fResources, item.getImage()));
imageLabel.setToolTipText(item.getOrigin());
/* Use a CCLabel per Item */
final CCLabel itemLabel = new CCLabel(fInnerContentCircle, SWT.NONE);
itemLabel.setBackground(fInnerContentCircle.getBackground());
itemLabel.setCursor(itemLabel.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
itemLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
itemLabel.setText(item.getText());
itemLabel.setFont(item.isRead() ? fNormalTextFont : fBoldTextFont);
updateItemColor(item, itemLabel);
itemLabel.addMouseTrackListener(fMouseTrackListner);
/* Paint text blue on mouse-enter */
MouseTrackAdapter mouseTrackListener = new MouseTrackAdapter() {
@Override
public void mouseEnter(MouseEvent e) {
if (!OwlUI.isHighContrast())
itemLabel.setForeground(itemLabel.getDisplay().getSystemColor(SWT.COLOR_BLUE));
}
@Override
public void mouseExit(MouseEvent e) {
updateItemColor(item, itemLabel);
}
};
itemLabel.addMouseTrackListener(mouseTrackListener);
imageLabel.addMouseTrackListener(mouseTrackListener);
/* Clicked on item to open it */
MouseAdapter mouseListener = new MouseAdapter() {
@Override
public void mouseUp(MouseEvent e) {
/* Close Popup if required after opening */
if (fGlobalScope.getBoolean(DefaultPreferences.CLOSE_NOTIFIER_ON_OPEN)) {
item.open(e);
doClose();
}
/* Indicate the item is marked as read now and open */
else {
item.setRead(true);
itemLabel.setFont(fNormalTextFont);
item.open(e);
}
}
};
itemLabel.addMouseListener(mouseListener);
imageLabel.addMouseListener(mouseListener);
/* Offer Label to mark item read */
CLabel markReadLabel = new CLabel(fInnerContentCircle, SWT.NONE);
markReadLabel.setImage(item.supportsMarkRead() ? fMarkReadIcon : fMarkReadDisabledIcon);
markReadLabel.setBackground(fInnerContentCircle.getBackground());
markReadLabel.addMouseTrackListener(fMouseTrackListner);
markReadLabel.setEnabled(item.supportsMarkRead());
markReadLabel.setCursor(fShell.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
markReadLabel.addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(MouseEvent e) {
boolean newStateRead = !item.isRead();
/* Update Font */
itemLabel.setFont(newStateRead ? fNormalTextFont : fBoldTextFont);
/* Apply state */
item.setRead(newStateRead);
}
});
/* Offer Label to mark item sticky */
final CLabel markStickyLabel = new CLabel(fInnerContentCircle, SWT.NONE);
markStickyLabel.setImage(item.supportsSticky() ? fItemNonStickyIcon : fItemNonStickyDisabledIcon);
markStickyLabel.setBackground(fInnerContentCircle.getBackground());
markStickyLabel.setEnabled(item.supportsSticky());
markStickyLabel.addMouseTrackListener(fMouseTrackListner);
markStickyLabel.setCursor(fShell.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
markStickyLabel.addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(MouseEvent e) {
boolean newStateSticky = !item.isSticky();
/* Update Background Color */
if (!OwlUI.isHighContrast())
itemLabel.setRoundRectangleBackground(newStateSticky ? fStickyBgColor : null);
/* Update Image */
markStickyLabel.setImage(newStateSticky ? fItemStickyIcon : fItemNonStickyIcon);
/* Apply state */
item.setSticky(newStateSticky);
}
});
/* Show Sticky if required */
if (item.supportsSticky() && item.isSticky()) {
if (!OwlUI.isHighContrast())
itemLabel.setRoundRectangleBackground(fStickyBgColor);
markStickyLabel.setImage(fItemStickyIcon);
}
/* Show excerpt of content if set */
if (fGlobalScope.getBoolean(DefaultPreferences.SHOW_EXCERPT_IN_NOTIFIER)) {