Home
Phabricator
Search
Log In
Paste
P71
Fix for layerBox
Active
Public
Actions
Authored by
WhaleKit
on Mar 27 2017, 10:59 AM.
Edit Paste
Archive Paste
View Raw File
Subscribe
Mute Notifications
Award Token
Flag For Later
Tags
None
Subscribers
None
diff
--
git
a
/
libs
/
ui
/
KisNodeDelegate
.
cpp
b
/
libs
/
ui
/
KisNodeDelegate
.
cpp
index
4f
71
bcd
.
.914
da68
100644
---
a
/
libs
/
ui
/
KisNodeDelegate
.
cpp
+++
b
/
libs
/
ui
/
KisNodeDelegate
.
cpp
@@
-
808
,
7
+
808
,
60
@@
bool
KisNodeDelegate
::
eventFilter
(
QObject
*
object
,
QEvent
*
event
)
emit
commitData
(
edit
);
emit
closeEditor
(
edit
);
}
-
}
+
}
break
;
+
case
QEvent
::
ShortcutOverride
:{
+
//workaround, to let (make sure) QLineEdit receive key events it can handle
+
//without shortcuts system stealing them
+
QLineEdit
*
edit
=
qobject_cast
<
QLineEdit
*>
(
object
);
+
if
(
edit
){
//valid for any QLieEdit
+
auto
*
key
=
static_cast
<
QKeyEvent
*>
(
event
);
+
+
if
(
key
->
modifiers
()
==
Qt
::
NoModifier
){
+
switch
(
key
->
key
()){
+
case
Qt
::
Key_Escape
:
+
case
Qt
::
Key_Tab
:
+
case
Qt
::
Key_Backtab
:
+
case
Qt
::
Key_Return
:
+
case
Qt
::
Key_Enter
:
+
event
->
accept
();
+
return
true
;
+
default
:
break
;
+
}
+
}
+
static
constexpr
QKeySequence
::
StandardKey
actionsForQLineEdit
[]{
+
QKeySequence
::
MoveToNextChar
+
,
QKeySequence
::
MoveToPreviousChar
+
,
QKeySequence
::
MoveToStartOfLine
+
,
QKeySequence
::
MoveToEndOfLine
+
,
QKeySequence
::
MoveToPreviousWord
+
,
QKeySequence
::
MoveToNextWord
+
,
QKeySequence
::
SelectPreviousChar
+
,
QKeySequence
::
SelectNextChar
+
,
QKeySequence
::
SelectNextWord
+
,
QKeySequence
::
SelectPreviousWord
+
,
QKeySequence
::
SelectStartOfLine
+
,
QKeySequence
::
SelectEndOfLine
+
,
QKeySequence
::
SelectAll
+
,
QKeySequence
::
Deselect
+
,
QKeySequence
::
Backspace
+
,
QKeySequence
::
DeleteStartOfWord
+
,
QKeySequence
::
Delete
+
,
QKeySequence
::
DeleteEndOfWord
+
,
QKeySequence
::
DeleteEndOfLine
+
,
QKeySequence
::
Copy
+
,
QKeySequence
::
Paste
+
,
QKeySequence
::
Cut
+
,
QKeySequence
::
Undo
+
,
QKeySequence
::
Redo
+
};
+
for
(
QKeySequence
::
StandardKey
sk
:
actionsForQLineEdit
){
+
if
(
key
->
matches
(
sk
)){
+
event
->
accept
();
+
return
true
;
+
}
+
}
+
}
//if (edit)
+
}
break
;
default
:
break
;
}
WhaleKit
created this paste.
Mar 27 2017, 10:59 AM
WhaleKit
created this object in space
S1 KDE Community
.
WhaleKit
changed the title of this paste from
Solution for layerBox
to
Fix for layerBox
.
Mar 27 2017, 11:51 AM
WhaleKit
edited the content of this paste.
(Show Details)
Mar 27 2017, 3:06 PM
Log In to Comment