View Issue Details

IDProjectCategoryView StatusLast Update
0003794FreeCADBugpublic2019-02-16 20:55
Reportermarkus51Assigned Towmayer 
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformOSWin7OS Version
Product Version0.17 
Target Version0.18Fixed in Version0.18 
Summary0003794: Shortcut-Key is executed in edit field of a constraint (Combo View)
DescriptionIt isn't possible to select a text in a constraint field of a sketch (Comob-View/Model section) with the key pad (not the normal cursor buttons) with SHIFT+LEFT.

Free-CAD will rotate the sketch instead of selectin the text in the edit field.
Wenn i press SHIFT+LEFT on the normal cursor buttons the text will be corectly
selected.

I think a shortcut is executed instead of the text selection.


Steps To Reproduce1.) open a sketch and insert some constraints
2.) goto the Comob-View (Model section)
3.) Disable NUM-LOCK on the key pad
4.) Double click on a constraint in the Comob-View (at Model not Tasks)
5.) Press SHIFT+LEFT on the key pad to select a text

Free-CAD will rotate the sketch instead of selectin the text in the edit field.
Wenn i press SHIFT+LEFT on the normal cursor buttons the text will be corectly
selected.
Tagsshortcuts

Activities

Kunda1

2019-01-25 23:16

administrator   ~0012516

@markus51 Have you tested first in 0.18dev before posting (as we ask in the enormous yellow banner at the top of the page)?
We also ask very clearly at the top of the page not to post bugs (especially v0.17) unless they are verified in the forum.
Please download 0.18dev and verify 0003794 0003795 0003796

markus51

2019-01-28 12:02

reporter   ~0012539

The same problem exists on version 0.18dev

Kunda1

2019-02-10 15:42

administrator   ~0012606

Discussion thread: https://forum.freecadweb.org/viewtopic.php?f=8&t=34123

wmayer

2019-02-16 18:46

administrator   ~0012665

Looks like a bug in Qt.

The internal Qt class QWidgetLineControl has the method processShortcutOverrideEvent where for a QKeyEvent (type is QEvent::ShortcutOverride) Qt checks for the modifiers None, Shift or Keypad and then accepts the event for Del, Home, End, Backspace, Left or Right key.

However, if the user presses Shift and the arrow key of the keypad then the modifier will be Shift+Keypad and Qt ignores this case.

This means the widget doesn't accept the ShortcutOverride event and thus the command with the global shortcut Shift+Left Arrow will be triggered.

wmayer

2019-02-16 20:55

administrator   ~0012666

This is a workaround for the Qt limitation:
https://github.com/FreeCAD/FreeCAD/commit/5f4deea7c995d48952c4ecc876c4a270180e2946

Issue History

Date Modified Username Field Change
2019-01-25 21:46 markus51 New Issue
2019-01-25 23:16 Kunda1 Status new => feedback
2019-01-25 23:16 Kunda1 Note Added: 0012516
2019-01-28 12:02 markus51 Note Added: 0012539
2019-01-28 12:02 markus51 Status feedback => new
2019-01-29 18:20 Kunda1 Target Version => 0.18
2019-01-29 18:20 Kunda1 Tag Attached: shortcuts
2019-02-10 15:40 Kunda1 Summary Shortcut-Key is exetuted in edit field of a constraint (Combo View) => Shortcut-Key is executed in edit field of a constraint (Combo View)
2019-02-10 15:42 Kunda1 Note Added: 0012606
2019-02-16 18:46 wmayer Note Added: 0012665
2019-02-16 20:55 wmayer Assigned To => wmayer
2019-02-16 20:55 wmayer Status new => closed
2019-02-16 20:55 wmayer Resolution open => fixed
2019-02-16 20:55 wmayer Fixed in Version => 0.18
2019-02-16 20:55 wmayer Note Added: 0012666