summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorStephan Schwaer2015-10-08 16:07:40 +0200
committerStephan Schwaer2015-10-08 16:07:40 +0200
commit39b398471fa91c553e8e288d963f9744f2013cc1 (patch)
tree48d5d18bbab863f88272fa4221342cc5a9762872 /dozentenmodul/src/main/java
parent[client] Added multi select, delete and del key to versionList in imageDetails. (diff)
downloadtutor-module-39b398471fa91c553e8e288d963f9744f2013cc1.tar.gz
tutor-module-39b398471fa91c553e8e288d963f9744f2013cc1.tar.xz
tutor-module-39b398471fa91c553e8e288d963f9744f2013cc1.zip
[client] Added delete keyboard shortcut in imagePermissionTables to remove users from the list.
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java48
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java56
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java2
3 files changed, 71 insertions, 35 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
index 070a2bad..aa09dc67 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
@@ -2,6 +2,7 @@ package org.openslx.dozmod.gui.control;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -9,12 +10,15 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
+import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
+import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -29,20 +33,20 @@ import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
import org.openslx.dozmod.thrift.cache.UserCache;
import org.openslx.dozmod.util.FormatHelper;
-
/**
- * Panel including ImagePermissionTable and add/remove buttons for setting customImagePermissions.
+ * Panel including ImagePermissionTable and add/remove buttons for setting
+ * customImagePermissions.
*/
@SuppressWarnings("serial")
public class ImageCustomPermissionManager extends JPanel {
- protected ImagePermissionTable permissionTable;
+ protected ImagePermissionTable permissionTable;
protected JButton btnAddUser;
protected JButton btnRemoveUser;
private ImageCustomPermissionManager me;
-
+
private String ownerId;
private ArrayList<UserImagePermissions> permissionList = new ArrayList<UserImagePermissions>();
@@ -94,7 +98,8 @@ public class ImageCustomPermissionManager extends JPanel {
}
}
// add it to the list with default permissions
- permissionList.add(new UserImagePermissions(newUser.userId, new ImagePermissions(defaultPermissions)));
+ permissionList.add(new UserImagePermissions(newUser.userId, new ImagePermissions(
+ defaultPermissions)));
permissionTable.setData(permissionList, false);
}
}, "Hinzufügen", ownerId);
@@ -112,19 +117,33 @@ public class ImageCustomPermissionManager extends JPanel {
permissionTable.setData(permissionList, false);
}
});
+
+ // keyboard shortcut
+ permissionTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "delete");
+ permissionTable.getActionMap().put("delete", new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent ae) {
+ btnRemoveUser.doClick();
+ }
+ });
}
/**
- * Initialize the PermissionManager. Note that the given permissionMap and defaultPermissions reference
+ * Initialize the PermissionManager. Note that the given permissionMap and
+ * defaultPermissions reference
* will get changed when the user interacts with the controls.
- *
- * @param permissionMap the old permission, to initialize the table with, null creates empty table.
+ *
+ * @param permissionMap the old permission, to initialize the table with,
+ * null creates empty table.
* @param defaultPermissions the permissions for a newly added user
* @param ownerId The user to exclude from the add user list. Can be null.
*/
- public void initPanel(Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions, String ownerId){
+ public void initPanel(Map<String, ImagePermissions> permissionMap,
+ final ImagePermissions defaultPermissions, String ownerId) {
this.ownerId = ownerId;
- this.newPermissionMap = permissionMap == null ? new HashMap<String, ImagePermissions>() : permissionMap;
+ this.newPermissionMap = permissionMap == null ? new HashMap<String, ImagePermissions>()
+ : permissionMap;
this.defaultPermissions = defaultPermissions;
permissionList.clear();
@@ -146,12 +165,12 @@ public class ImageCustomPermissionManager extends JPanel {
permissionTable.setData(permissionList, false);
}
-
/**
* Get map with the permissions set in the table of the manager.
+ *
* @return Map with new custom permissions, null if something went wrong
*/
- public Map<String, ImagePermissions> updatePermissionReferences(){
+ public Map<String, ImagePermissions> updatePermissionReferences() {
if (permissionList == null)
return null;
@@ -163,15 +182,16 @@ public class ImageCustomPermissionManager extends JPanel {
}
return newPermissionMap;
}
-
+
/**
* Update the used default permissions of the manager.
+ *
* @param link
* @param download
* @param edit
* @param admin
*/
- public void updateDefaultPermissions(boolean link, boolean download, boolean edit, boolean admin){
+ public void updateDefaultPermissions(boolean link, boolean download, boolean edit, boolean admin) {
this.defaultPermissions.link = link;
this.defaultPermissions.download = download;
this.defaultPermissions.edit = edit;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
index 870db6ad..608b5e29 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
@@ -2,17 +2,21 @@ package org.openslx.dozmod.gui.control;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
+import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
+import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -25,40 +29,38 @@ import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.window.UserListWindow;
import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
-
/**
- * Panel including LecturePermissionTable and add/remove buttons for setting customLecturePermissions.
+ * Panel including LecturePermissionTable and add/remove buttons for setting
+ * customLecturePermissions.
*/
@SuppressWarnings("serial")
-public class LectureCustomPermissionManager extends JPanel{
+public class LectureCustomPermissionManager extends JPanel {
/**
* Self reference
*/
private LectureCustomPermissionManager me;
- protected LecturePermissionTable permissionTable;
+ protected LecturePermissionTable permissionTable;
protected JButton btnAddUser;
protected JButton btnRemoveUser;
- private ArrayList<UserLecturePermissions> permissionList = new ArrayList<UserLecturePermissions>();
+ private ArrayList<UserLecturePermissions> permissionList = new ArrayList<UserLecturePermissions>();
private Map<String, LecturePermissions> newPermissionMap;
private LecturePermissions defaultPermissions;
-
+
private String ownerId = null;
private static final Logger LOGGER = Logger.getLogger(LectureCustomPermissionManager.class);
-
- public LectureCustomPermissionManager(){
+ public LectureCustomPermissionManager() {
super();
me = this;
GridManager grid = new GridManager(this, 1);
-
permissionTable = new LecturePermissionTable();
// Panel for the add- and remove buttons
@@ -70,7 +72,7 @@ public class LectureCustomPermissionManager extends JPanel{
userButtonPane.add(btnAddUser);
btnRemoveUser = new JButton("Benutzer entfernen");
userButtonPane.add(btnRemoveUser);
- userButtonPane.add(Box.createGlue());
+ userButtonPane.add(Box.createGlue());
// Put everything into the grid
JScrollPane jsp = new JScrollPane(permissionTable);
@@ -81,7 +83,6 @@ public class LectureCustomPermissionManager extends JPanel{
grid.nextRow();
grid.finish(false);
-
// add user button listener
btnAddUser.addActionListener(new ActionListener() {
@Override
@@ -97,7 +98,8 @@ public class LectureCustomPermissionManager extends JPanel{
}
}
// add it to the list with default permissions
- permissionList.add(new UserLecturePermissions(newUser.userId, new LecturePermissions(defaultPermissions)));
+ permissionList.add(new UserLecturePermissions(newUser.userId, new LecturePermissions(
+ defaultPermissions)));
permissionTable.setData(permissionList, false);
}
}, "Hinzufügen", ownerId);
@@ -115,17 +117,31 @@ public class LectureCustomPermissionManager extends JPanel{
permissionTable.setData(permissionList, false);
}
});
+
+ // keyboard shortcut
+ permissionTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "delete");
+ permissionTable.getActionMap().put("delete", new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent ae) {
+ btnRemoveUser.doClick();
+ }
+ });
}
/**
* Initialise the PermissionManager
- * @param permissionMap the old permission, to initialise the table with, null creates empty table.
+ *
+ * @param permissionMap the old permission, to initialise the table with,
+ * null creates empty table.
* @param defaultPermissions the permissions for a newly added user
* @param ownerId The user to exclude in the list do add user. May be null.
*/
- public void initPanel(Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions, String ownerId){
+ public void initPanel(Map<String, LecturePermissions> permissionMap,
+ final LecturePermissions defaultPermissions, String ownerId) {
this.ownerId = ownerId;
- this.newPermissionMap = permissionMap == null ? new HashMap<String, LecturePermissions>() : permissionMap;
+ this.newPermissionMap = permissionMap == null ? new HashMap<String, LecturePermissions>()
+ : permissionMap;
this.defaultPermissions = defaultPermissions;
permissionList.clear();
@@ -135,12 +151,12 @@ public class LectureCustomPermissionManager extends JPanel{
permissionTable.setData(permissionList, false);
}
-
/**
* Get map with the permissions set in the table of the manager.
+ *
* @return Map with new custom permissions, null if something went wrong
*/
- public Map<String, LecturePermissions> updatePermissionReferences(){
+ public Map<String, LecturePermissions> updatePermissionReferences() {
if (permissionList == null)
return null;
@@ -153,15 +169,15 @@ public class LectureCustomPermissionManager extends JPanel{
return newPermissionMap;
}
-
/**
* Update the default permissions used by the manager.
+ *
* @param admin
* @param edit
*/
- public void updateDefaultPermissions(boolean admin, boolean edit){
+ public void updateDefaultPermissions(boolean admin, boolean edit) {
defaultPermissions.admin = admin;
defaultPermissions.edit = edit;
}
-
+
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index 0262a914..5fd53022 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -230,7 +230,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
pop.addMenuItem(popupItemDelete);
- // Some keyboard shortcuts
+ // keyboard shortcut
versionTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "delete");
versionTable.getActionMap().put("delete", new AbstractAction() {