summaryrefslogtreecommitdiff
path: root/login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java')
-rw-r--r--login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java b/login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java
index 6211e52..764880d 100644
--- a/login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java
+++ b/login/src/com/google/gct/login/ui/GoogleLoginUsersPanel.java
@@ -33,11 +33,13 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.BorderLayout;
+import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionListener;
import java.util.LinkedHashMap;
/**
@@ -118,6 +120,40 @@ public class GoogleLoginUsersPanel extends JPanel implements ListSelectionListen
}
});
+ list.addMouseMotionListener(new MouseMotionListener() {
+ @Override
+ public void mouseMoved(MouseEvent mouseEvent) {
+ // Determine if the user under the cursor is an active user, a non-active user or a non-user
+ int index = list.locationToIndex(mouseEvent.getPoint());
+ if (index >= 0) {
+ // If current object is the non-user list item, use default cursor
+ Object currentObject = listModel.get(index);
+ if(currentObject instanceof NoUsersListItem) {
+ list.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
+ return;
+ }
+
+ if (((UsersListItem)currentObject).isActiveUser()) {
+ // Active user
+ boolean inPlayUrl = usersListCellRenderer.inPlayConsoleUrl(mouseEvent.getPoint(), index);
+ boolean inCloudUrl = usersListCellRenderer.inCloudConsoleUrl(mouseEvent.getPoint(), index);
+ if(inPlayUrl || inCloudUrl){
+ list.setCursor(new Cursor(Cursor.HAND_CURSOR));
+ } else {
+ list.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
+ }
+ } else {
+ // For non-active user
+ list.setCursor(new Cursor(Cursor.HAND_CURSOR));
+ }
+ }
+ }
+
+ @Override
+ public void mouseDragged(MouseEvent e) {
+ }
+ });
+
boolean noUsersAvailable = (listModel.getSize() == 1) && (listModel.get(0) instanceof NoUsersListItem);
addAccountButton = new JButton(noUsersAvailable ? signInString : addAccountString);
AddAccountListener addAccountListener = new AddAccountListener();