Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
47085433
Commit
47085433
authored
6 years ago
by
Alexey Kudravtsev
Browse files
Options
Download
Email Patches
Plain Diff
cleanup: get rid of unnecessary map
parent
aa04024d
Branches unavailable
Tags unavailable
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java
+35
-66
...c/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java
with
35 additions
and
66 deletions
+35
-66
platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java
+
35
-
66
View file @
47085433
...
...
@@ -43,7 +43,6 @@ import com.intellij.util.ui.EdtInvocationManager;
import
com.intellij.util.ui.PositionTracker
;
import
com.intellij.util.ui.UIUtil
;
import
com.intellij.util.ui.update.UiNotifyConnector
;
import
gnu.trove.THashSet
;
import
org.intellij.lang.annotations.JdkConstants
;
import
org.jdom.Element
;
import
org.jetbrains.annotations.NonNls
;
...
...
@@ -257,58 +256,53 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
}
}
Set
<
Integer
>
vks
=
getActivateToolWindowVKs
();
int
vks
=
getActivateToolWindowVKs
Mask
();
if
(
vks
.
isEmpty
()
)
{
if
(
vks
==
0
)
{
resetHoldState
();
return
false
;
}
if
(
vks
.
contains
(
e
.
getKeyCode
()))
{
int
mouseMask
=
InputEvent
.
BUTTON1_DOWN_MASK
|
InputEvent
.
BUTTON2_DOWN_MASK
|
InputEvent
.
BUTTON3_DOWN_MASK
;
if
(
BitUtil
.
isSet
(
vks
,
keyCodeToInputMask
(
e
.
getKeyCode
()))
&&
(
e
.
getModifiersEx
()
&
mouseMask
)
==
0
)
{
boolean
pressed
=
e
.
getID
()
==
KeyEvent
.
KEY_PRESSED
;
int
modifiers
=
e
.
getModifiers
();
int
mouseMask
=
InputEvent
.
BUTTON1_DOWN_MASK
|
InputEvent
.
BUTTON2_DOWN_MASK
|
InputEvent
.
BUTTON3_DOWN_MASK
;
if
((
e
.
getModifiersEx
()
&
mouseMask
)
==
0
)
{
if
(
areAllModifiersPressed
(
modifiers
,
vks
)
||
!
pressed
)
{
processState
(
pressed
);
}
else
{
resetHoldState
();
}
if
(
areAllModifiersPressed
(
modifiers
,
vks
)
||
!
pressed
)
{
processState
(
pressed
);
}
else
{
resetHoldState
();
}
}
return
false
;
}
private
static
boolean
areAllModifiersPressed
(
@JdkConstants
.
InputEventMask
int
modifiers
,
Set
<
Integer
>
modifierCodes
)
{
int
mask
=
0
;
for
(
Integer
each
:
modifierCodes
)
{
if
(
each
==
KeyEvent
.
VK_SHIFT
)
{
mask
|=
InputEvent
.
SHIFT_MASK
;
}
if
(
each
==
KeyEvent
.
VK_CONTROL
)
{
mask
|=
InputEvent
.
CTRL_MASK
;
}
if
(
each
==
KeyEvent
.
VK_META
)
{
mask
|=
InputEvent
.
META_MASK
;
}
private
static
boolean
areAllModifiersPressed
(
@JdkConstants
.
InputEventMask
int
modifiers
,
@JdkConstants
.
InputEventMask
int
mask
)
{
return
(
modifiers
^
mask
)
==
0
;
}
if
(
each
==
KeyEvent
.
VK_ALT
)
{
mask
|=
InputEvent
.
ALT_MASK
;
}
@JdkConstants
.
InputEventMask
private
static
int
keyCodeToInputMask
(
int
code
)
{
int
mask
=
0
;
if
(
code
==
KeyEvent
.
VK_SHIFT
)
{
mask
=
InputEvent
.
SHIFT_MASK
;
}
return
(
modifiers
^
mask
)
==
0
;
if
(
code
==
KeyEvent
.
VK_CONTROL
)
{
mask
=
InputEvent
.
CTRL_MASK
;
}
if
(
code
==
KeyEvent
.
VK_META
)
{
mask
=
InputEvent
.
META_MASK
;
}
if
(
code
==
KeyEvent
.
VK_ALT
)
{
mask
=
InputEvent
.
ALT_MASK
;
}
return
mask
;
}
@
NotNull
private
static
Set
<
Integer
>
getActivateToolWindowVKs
()
{
if
(
ApplicationManager
.
getApplication
()
==
null
)
return
new
HashSet
<>()
;
@
JdkConstants
.
InputEventMask
private
static
int
getActivateToolWindowVKs
Mask
()
{
if
(
ApplicationManager
.
getApplication
()
==
null
)
return
0
;
Keymap
keymap
=
Objects
.
requireNonNull
(
KeymapManager
.
getInstance
()).
getActiveKeymap
();
Shortcut
[]
baseShortcut
=
keymap
.
getShortcuts
(
"ActivateProjectToolWindow"
);
...
...
@@ -322,28 +316,7 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
}
}
}
return
getModifiersVKs
(
baseModifiers
);
}
@NotNull
private
static
Set
<
Integer
>
getModifiersVKs
(
int
mask
)
{
Set
<
Integer
>
codes
=
new
THashSet
<>();
if
((
mask
&
InputEvent
.
SHIFT_MASK
)
>
0
)
{
codes
.
add
(
KeyEvent
.
VK_SHIFT
);
}
if
((
mask
&
InputEvent
.
CTRL_MASK
)
>
0
)
{
codes
.
add
(
KeyEvent
.
VK_CONTROL
);
}
if
((
mask
&
InputEvent
.
META_MASK
)
>
0
)
{
codes
.
add
(
KeyEvent
.
VK_META
);
}
if
((
mask
&
InputEvent
.
ALT_MASK
)
>
0
)
{
codes
.
add
(
KeyEvent
.
VK_ALT
);
}
return
codes
;
return
baseModifiers
;
}
private
void
resetHoldState
()
{
...
...
@@ -662,7 +635,7 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
}
private
void
activateToolWindowImpl
(
@NotNull
String
id
,
@NotNull
List
<
FinalizableCommand
>
commandList
,
@NotNull
List
<
?
super
FinalizableCommand
>
commandList
,
boolean
forced
,
boolean
autoFocusContents
)
{
ToolWindowCollector
.
getInstance
().
recordActivation
(
id
);
...
...
@@ -1504,7 +1477,7 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
activateToolWindow
(
id
,
false
,
false
);
}
private
void
setSplitModeImpl
(
@NotNull
String
id
,
final
boolean
isSplit
,
@NotNull
List
<
FinalizableCommand
>
commandList
)
{
private
void
setSplitModeImpl
(
@NotNull
String
id
,
final
boolean
isSplit
,
@NotNull
List
<
?
super
FinalizableCommand
>
commandList
)
{
final
WindowInfoImpl
info
=
getRegisteredInfoOrLogError
(
id
);
if
(
isSplit
==
info
.
isSplit
())
{
return
;
...
...
@@ -1568,7 +1541,7 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
execute
(
commandList
);
}
private
void
setToolWindowAutoHideImpl
(
@NotNull
String
id
,
final
boolean
autoHide
,
@NotNull
List
<
FinalizableCommand
>
commandsList
)
{
private
void
setToolWindowAutoHideImpl
(
@NotNull
String
id
,
final
boolean
autoHide
,
@NotNull
List
<
?
super
FinalizableCommand
>
commandsList
)
{
final
WindowInfoImpl
info
=
getRegisteredInfoOrLogError
(
id
);
if
(
info
.
isAutoHide
()
==
autoHide
)
{
return
;
...
...
@@ -1588,7 +1561,7 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
execute
(
commandList
);
}
private
void
setToolWindowTypeImpl
(
@NotNull
String
id
,
@NotNull
ToolWindowType
type
,
@NotNull
List
<
FinalizableCommand
>
commandsList
)
{
private
void
setToolWindowTypeImpl
(
@NotNull
String
id
,
@NotNull
ToolWindowType
type
,
@NotNull
List
<
?
super
FinalizableCommand
>
commandsList
)
{
final
WindowInfoImpl
info
=
getRegisteredInfoOrLogError
(
id
);
if
(
info
.
getType
()
==
type
)
{
return
;
...
...
@@ -2271,7 +2244,6 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
return
;
}
info
.
setShowStripeButton
(
visibleOnPanel
);
triggerUsage
(
"StripeButton["
+
id
+
"]."
+
(
visibleOnPanel
?
"shown"
:
"hidden"
));
List
<
FinalizableCommand
>
commandList
=
new
ArrayList
<>();
appendApplyWindowInfoCmd
(
info
,
commandList
);
...
...
@@ -2299,7 +2271,4 @@ public class ToolWindowManagerImpl extends ToolWindowManagerEx implements Persis
}
}
}
private
static
void
triggerUsage
(
@NotNull
String
feature
)
{
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help