#21053 closed defect (fixed)
Relation editor: Role unintentionally modified removing member from member list
Reported by: | skyper | Owned by: | DevCharly |
---|---|---|---|
Priority: | critical | Milestone: | 21.07 |
Component: | Core | Version: | latest |
Keywords: | template_report relation editor member remove role | Cc: |
Description (last modified by )
What steps will reproduce the problem?
- Have a relation with member roles
- Open relation editor
- Select member with role in member list by clicking on role field
- Watch the the role field being active and ready for modification
- Delete member from list either with "Remove the currently selected members from this relation" or "Remove all members referring to one of the selected objects"
What is the expected result?
Member is removed from member list but no roles of remaining members are modified
What happens instead?
Role of the member below the removed member is modified
Please provide any additional information below. Attach a screenshot if possible.
Seems to happen all the time if the role field is active for modification, e.g. modifying roles above by typing plus Enter
and than removing does trigger it, too.
Noticed this for some time now, but never took the time to fill a ticket, sorry.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2021-07-28 21:20:51 +0200 (Wed, 28 Jul 2021) Revision:18097 Build-Date:2021-07-29 01:31:02 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18097 en) Linux Debian GNU/Linux 10 (buster) Java version: 11.0.12+7-post-Debian-2deb10u1, Debian, OpenJDK 64-Bit Server VM Look and Feel: com.formdev.flatlaf.FlatDarculaLaf Plugins: + flatlaf (35734)
Attachments (0)
Change History (15)
comment:1 by , 3 years ago
Description: | modified (diff) |
---|
follow-up: 3 comment:2 by , 3 years ago
Owner: | changed from | to
---|---|
Status: | new → needinfo |
comment:3 by , 3 years ago
Component: | Core → Plugin flatlaf |
---|
Replying to Don-vip:
Can't reproduce, can you please attach screenshots with a particular relation id and selected member id to make sure I do the same as you?
Oh, it is a problem of the flatlaf plugin at least in "Dark Mode". Wonder that the laf can have that heavy impact.
Look and Feel: com.formdev.flatlaf.FlatDarkLaf Plugins: + flatlaf (35734)
comment:4 by , 3 years ago
Owner: | changed from | to
---|---|
Status: | needinfo → new |
comment:5 by , 3 years ago
Description: | modified (diff) |
---|
follow-up: 8 comment:6 by , 3 years ago
So the problem is that the role in the table is still in edit mode after pressing delete button in toolbar.
Do I understand this correct?
The problem is probably that toolbar buttons in FlatLaf are not focusable.
So the table does not lose focus when a toolbar button is pressed and does not quit editing...
comment:8 by , 3 years ago
Replying to DevCharly:
So the problem is that the role in the table is still in edit mode after pressing delete button in toolbar.
Do I understand this correct?
Yes, it is still in edit mode after removing the member, but it does not depend on buttons but also happens with shortcut (Alt+Del
).
comment:9 by , 3 years ago
Description: | modified (diff) |
---|
follow-up: 15 comment:11 by , 3 years ago
I've uploaded FlatLaf plugin v35799, which now uses FlatLaf 1.4 with focusable toolbar buttons.
This quits table editing when clicking the delete button.
But this does not fix it for keyboard shortcuts, which happens in all L&Fs and needs a fix in JOSM.
The actions that operate on the table have to stop table cell editing using something like:
if (table.isEditing()) table.getCellEditor().stopCellEditing();
comment:12 by , 3 years ago
Component: | Plugin flatlaf → Core |
---|
Thanks, indeed, fixed the bug with button actions.
comment:13 by , 3 years ago
Milestone: | → 21.07 |
---|
comment:15 by , 3 years ago
Replying to DevCharly:
But this does not fix it for keyboard shortcuts, which happens in all L&Fs and needs a fix in JOSM.
The actions that operate on the table have to stop table cell editing using something like:
if (table.isEditing()) table.getCellEditor().stopCellEditing();
Thanks a lot for the advice, works fine now.
Can't reproduce, can you please attach screenshots with a particular relation id and selected member id to make sure I do the same as you?