summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui/Window.java
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2015-03-24 10:46:39 +0200
committerVaadin Code Review <review@vaadin.com>2015-05-12 11:33:34 +0000
commit0a7d5bcd585dcfc08ea7c4339dc03f29cea6fde4 (patch)
tree1ec63b2cbb47dbbbc8e21a552955a48656f5dd2a /server/src/com/vaadin/ui/Window.java
parent22271249251894dfc7cfbebad6b4d2faf4c0313e (diff)
downloadvaadin-framework-0a7d5bcd585dcfc08ea7c4339dc03f29cea6fde4.tar.gz
vaadin-framework-0a7d5bcd585dcfc08ea7c4339dc03f29cea6fde4.zip
Revert "Moved accessibility shortcut handling to server-side. [#14843]"
This reverts commit e88f71dd6d1d7634e3a90a7e53859ff6dc028e21. Change-Id: I1d4ed60ec4a194f6ed18fa5506134ef3a185a6cf
Diffstat (limited to 'server/src/com/vaadin/ui/Window.java')
-rw-r--r--server/src/com/vaadin/ui/Window.java102
1 files changed, 12 insertions, 90 deletions
diff --git a/server/src/com/vaadin/ui/Window.java b/server/src/com/vaadin/ui/Window.java
index e7764ffd8d..61664fc95d 100644
--- a/server/src/com/vaadin/ui/Window.java
+++ b/server/src/com/vaadin/ui/Window.java
@@ -21,9 +21,6 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -133,7 +130,6 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
super(caption, content);
registerRpc(rpc);
setSizeUndefined();
- setCloseShortcut(ShortcutAction.KeyCode.ESCAPE);
}
/* ********************************************************************* */
@@ -820,48 +816,14 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
/*
* Actions
*/
- private LinkedHashSet<CloseShortcut> closeShortcuts = new LinkedHashSet<CloseShortcut>();
-
- protected Collection<CloseShortcut> getCloseShortcuts() {
- return Collections.unmodifiableCollection(closeShortcuts);
- }
-
- /**
- * Adds a keyboard shortcut for closing the window when user presses the
- * given {@link KeyCode} and (optional) {@link ModifierKey}s.<br/>
- * Note that this shortcut only reacts while the window has focus, closing
- * itself - if you want to close a window from a UI, use
- * {@link UI#addAction(com.vaadin.event.Action)} of the UI instead.
- * <p>
- * If there is a prior CloseShortcut with the same keycode and modifiers,
- * that gets removed before the new one is added. Prior CloseShortcuts with
- * differing keycodes or modifiers are not affected.
- *
- * @param keyCode
- * the keycode for invoking the shortcut
- * @param modifiers
- * the (optional) modifiers for invoking the shortcut, null for
- * none
- */
- public void addCloseShortcut(int keyCode, int... modifiers) {
- // make sure there are no duplicates
- removeCloseShortcut(keyCode, modifiers);
- CloseShortcut closeShortcut = new CloseShortcut(this, keyCode,
- modifiers);
- closeShortcuts.add(closeShortcut);
- addAction(closeShortcut);
- }
+ protected CloseShortcut closeShortcut;
/**
- * Sets the keyboard shortcut for closing the window when user presses the
- * given {@link KeyCode} and (optional) {@link ModifierKey}s.<br/>
+ * Makes is possible to close the window by pressing the given
+ * {@link KeyCode} and (optional) {@link ModifierKey}s.<br/>
* Note that this shortcut only reacts while the window has focus, closing
* itself - if you want to close a window from a UI, use
* {@link UI#addAction(com.vaadin.event.Action)} of the UI instead.
- * <p>
- * If there are any prior CloseShortcuts when this method is called those
- * get removed before the new one is added. <b>NOTE: this also removes the
- * default shortcut that is added for accessibility purposes.</b>
*
* @param keyCode
* the keycode for invoking the shortcut
@@ -870,61 +832,22 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
* none
*/
public void setCloseShortcut(int keyCode, int... modifiers) {
- removeCloseShortcuts();
- addCloseShortcut(keyCode, modifiers);
- }
-
- /**
- * Removes a keyboard shortcut previously set with
- * {@link #setCloseShortcut(int, int...)} or
- * {@link #addCloseShortcut(int, int...)}.
- *
- * @param keyCode
- * the keycode for invoking the shortcut
- * @param modifiers
- * the (optional) modifiers for invoking the shortcut, null for
- * none
- */
- public void removeCloseShortcut(int keyCode, int... modifiers) {
- for (CloseShortcut closeShortcut : closeShortcuts) {
- if (closeShortcut.isTriggeredBy(keyCode, modifiers)) {
- removeAction(closeShortcut);
- closeShortcuts.remove(closeShortcut);
- break;
- }
+ if (closeShortcut != null) {
+ removeAction(closeShortcut);
}
+ closeShortcut = new CloseShortcut(this, keyCode, modifiers);
+ addAction(closeShortcut);
}
/**
- * @deprecated use {@link #resetCloseShortcuts()} instead, or
- * {@link #removeCloseShortcuts()} if you also want to get rid
- * of the default shortcut
+ * Removes the keyboard shortcut previously set with
+ * {@link #setCloseShortcut(int, int...)}.
*/
- @Deprecated
public void removeCloseShortcut() {
- resetCloseShortcuts();
- }
-
- /**
- * Removes all the keyboard shortcuts previously set with
- * {@link #setCloseShortcut(int, int...)} or
- * {@link #addCloseShortcut(int, int...)} and re-adds the default shortcut
- * {@link KeyCode.ESCAPE}.
- */
- public void resetCloseShortcuts() {
- setCloseShortcut(ShortcutAction.KeyCode.ESCAPE);
- }
-
- /**
- * Removes all the keyboard shortcuts previously set with
- * {@link #setCloseShortcut(int, int...)} or
- * {@link #addCloseShortcut(int, int...)}.
- */
- public void removeCloseShortcuts() {
- for (CloseShortcut closeShortcut : closeShortcuts) {
+ if (closeShortcut != null) {
removeAction(closeShortcut);
+ closeShortcut = null;
}
- closeShortcuts.clear();
}
/**
@@ -1391,8 +1314,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
}
private CloseShortcut getCloseShortcut() {
- Iterator<CloseShortcut> i = getCloseShortcuts().iterator();
- return i.hasNext() ? i.next() : null;
+ return closeShortcut;
}
@Override