diff options
author | Leo Ufimtsev | 2015-07-07 18:16:01 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2015-07-08 06:12:41 +0000 |
commit | e77894ec85aa5b0555b5293835b4f2449b791709 (patch) | |
tree | 19d5a716cd774f241a7765cb8cf52b5131421224 | |
parent | 39dc8c690952710ed7f6b22b969772c88a7eb331 (diff) | |
download | eclipse.platform.swt-e77894ec85aa5b0555b5293835b4f2449b791709.tar.gz eclipse.platform.swt-e77894ec85aa5b0555b5293835b4f2449b791709.tar.xz eclipse.platform.swt-e77894ec85aa5b0555b5293835b4f2449b791709.zip |
Bug 312568 (part 3) - [GTK] Editor does not get focus after double click
from Project/Package Explorer.
Refactoring code to better match swt style.
Tested, works as before.
Change-Id: I87990a451a9cda562f1af07fc57be11965fe2ad2
Signed-off-by: Leo Ufimtsev <lufimtse@redhat.com>
4 files changed, 12 insertions, 33 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java index de0b290d65..53bb002f1a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java @@ -837,18 +837,16 @@ void keyPressDefaultSelectionHandler (long /*int*/ event, int key) { switch (key) { case OS.GDK_Return: //Send Default selection return only when no other modifier is pressed. - if (!valueContainsFlag (keymask, new int [] {OS.GDK_MOD1_MASK, OS.GDK_SHIFT_MASK, OS.GDK_CONTROL_MASK, - OS.GDK_SUPER_MASK, OS.GDK_META_MASK, OS.GDK_HYPER_MASK, })) - { + if ((keymask & (OS.GDK_MOD1_MASK | OS.GDK_SHIFT_MASK | OS.GDK_CONTROL_MASK + | OS.GDK_SUPER_MASK | OS.GDK_META_MASK | OS.GDK_HYPER_MASK)) == 0) { sendTreeDefaultSelection (); } break; case OS.GDK_space: //Shift + Space is a legal DefaultSelection event. (as per row-activation signal documentation). //But do not send if another modifier is pressed. - if (!valueContainsFlag (keymask, new int [] {OS.GDK_MOD1_MASK, OS.GDK_CONTROL_MASK, - OS.GDK_SUPER_MASK, OS.GDK_META_MASK, OS.GDK_HYPER_MASK, })) - { + if ((keymask & (OS.GDK_MOD1_MASK | OS.GDK_CONTROL_MASK + | OS.GDK_SUPER_MASK | OS.GDK_META_MASK | OS.GDK_HYPER_MASK)) == 0) { sendTreeDefaultSelection (); } break; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java index e6656b171c..e9aa9c6097 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java @@ -1919,18 +1919,16 @@ void keyPressDefaultSelectionHandler (long /*int*/ event, int key) { switch (key) { case OS.GDK_Return: //Send Default selection return only when no other modifier is pressed. - if (!valueContainsFlag (keymask, new int [] {OS.GDK_MOD1_MASK, OS.GDK_SHIFT_MASK, OS.GDK_CONTROL_MASK, - OS.GDK_SUPER_MASK, OS.GDK_META_MASK, OS.GDK_HYPER_MASK, })) - { + if ((keymask & (OS.GDK_MOD1_MASK | OS.GDK_SHIFT_MASK | OS.GDK_CONTROL_MASK + | OS.GDK_SUPER_MASK | OS.GDK_META_MASK | OS.GDK_HYPER_MASK)) == 0) { sendTreeDefaultSelection (); } break; case OS.GDK_space: //Shift + Space is a legal DefaultSelection event. (as per row-activation signal documentation). //But do not send if another modifier is pressed. - if (!valueContainsFlag (keymask, new int [] {OS.GDK_MOD1_MASK, OS.GDK_CONTROL_MASK, - OS.GDK_SUPER_MASK, OS.GDK_META_MASK, OS.GDK_HYPER_MASK, })) - { + if ((keymask & (OS.GDK_MOD1_MASK | OS.GDK_CONTROL_MASK + | OS.GDK_SUPER_MASK | OS.GDK_META_MASK | OS.GDK_HYPER_MASK)) == 0) { sendTreeDefaultSelection (); } break; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index 8794995394..62fbf3d090 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -1905,18 +1905,16 @@ void keyPressDefaultSelectionHandler (long /*int*/ event, int key) { switch (key) { case OS.GDK_Return: //Send Default selection return only when no other modifier is pressed. - if (!valueContainsFlag (keymask, new int [] {OS.GDK_MOD1_MASK, OS.GDK_SHIFT_MASK, OS.GDK_CONTROL_MASK, - OS.GDK_SUPER_MASK, OS.GDK_META_MASK, OS.GDK_HYPER_MASK, })) - { + if ((keymask & (OS.GDK_MOD1_MASK | OS.GDK_SHIFT_MASK | OS.GDK_CONTROL_MASK + | OS.GDK_SUPER_MASK | OS.GDK_META_MASK | OS.GDK_HYPER_MASK)) == 0) { sendTreeDefaultSelection (); } break; case OS.GDK_space: //Shift + Space is a legal DefaultSelection event. (as per row-activation signal documentation). //But do not send if another modifier is pressed. - if (!valueContainsFlag (keymask, new int [] {OS.GDK_MOD1_MASK, OS.GDK_CONTROL_MASK, - OS.GDK_SUPER_MASK, OS.GDK_META_MASK, OS.GDK_HYPER_MASK, })) - { + if ((keymask & (OS.GDK_MOD1_MASK | OS.GDK_CONTROL_MASK + | OS.GDK_SUPER_MASK | OS.GDK_META_MASK | OS.GDK_HYPER_MASK)) == 0) { sendTreeDefaultSelection (); } break; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index af24f9c9ff..75ec0104b8 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -2077,19 +2077,4 @@ void gtk_image_set_from_pixbuf (long /*int*/ imageHandle, long /*int*/ pixbuf){ } } -/** - * Convienience method to check if one of the provided bit-flags is inside a value. - * This is most useful for when you need to check against many flags. - * @param value that you want - * @param flags - * @return - */ -static boolean valueContainsFlag(long value, int flags[]) { - for (int i = 0; i < flags.length; i++) { - if ((value & flags[i]) != 0) - return true; - } - return false; -} - } |