More cleanup of operations and post-paste behavior

* Support move, rotate, reflect, delete post paste on multiselection
* Improve text and error msgs for singular vs multi selections
* Move `disabled` checks from actions to operations
* Reproject center of rotation (closes #3667)
* Cleanup tests
This commit is contained in:
Bryan Housel
2016-12-21 23:58:13 -05:00
parent 38e4900355
commit 37534aed0e
19 changed files with 298 additions and 214 deletions
+58 -17
View File
@@ -77,7 +77,9 @@ en:
connected_to_hidden: This line can't be straightened because it is connected to a hidden feature.
delete:
title: Delete
description: Delete object permanently.
description:
single: Delete this object permanently.
multiple: Delete these objects permanently.
annotation:
point: Deleted a point.
vertex: Deleted a node from a way.
@@ -85,9 +87,15 @@ en:
area: Deleted an area.
relation: Deleted a relation.
multiple: "Deleted {n} objects."
incomplete_relation: This feature can't be deleted because it hasn't been fully downloaded.
part_of_relation: This feature can't be deleted because it's part of a larger relation. You must remove it from the relation first.
connected_to_hidden: This can't be deleted because it is connected to a hidden feature.
incomplete_relation:
single: This object can't be deleted because it hasn't been fully downloaded.
multiple: These objects can't be deleted because they haven't been fully downloaded.
part_of_relation:
single: This object can't be deleted because it is part of a larger relation. You must remove it from the relation first.
multiple: These objects can't be deleted because they are part of larger relations. You must remove them from the relations first.
connected_to_hidden:
single: This object can't be deleted because it is connected to a hidden feature.
multiple: These objects can't be deleted because some are connected to hidden features.
add_member:
annotation: Added a member to a relation.
delete_member:
@@ -118,7 +126,9 @@ en:
conflicting_tags: These features can't be merged because some of their tags have conflicting values.
move:
title: Move
description: Move this to a different location.
description:
single: Move this object to a different location.
multiple: Move these objects to a different location.
key: M
annotation:
point: Moved a point.
@@ -126,31 +136,62 @@ en:
line: Moved a line.
area: Moved an area.
multiple: Moved multiple objects.
incomplete_relation: This feature can't be moved because it hasn't been fully downloaded.
too_large: This can't be moved because not enough of it is currently visible.
connected_to_hidden: This can't be moved because it is connected to a hidden feature.
incomplete_relation:
single: This object can't be moved because it hasn't been fully downloaded.
multiple: These objects can't be moved because they haven't been fully downloaded.
too_large:
single: This object can't be moved because not enough of it is currently visible.
multiple: These objects can't be moved because not enough of them are currently visible.
connected_to_hidden:
single: This object can't be moved because it is connected to a hidden feature.
multiple: These objects can't be moved because some are connected to hidden features.
reflect:
title: reflect
description:
long: Reflect this object across its long axis.
short: Reflect this object across its short axis.
long:
single: Reflect this object across its long axis.
multiple: Reflect these objects across their long axis.
short:
single: Reflect this object across its short axis.
multiple: Reflect these objects across their short axis.
key:
long: T
short: Y
annotation:
long: Reflected an area across its long axis.
short: Reflected an area across its short axis.
too_large: This can't be reflected because not enough of it is currently visible.
connected_to_hidden: This can't be reflected because it is connected to a hidden feature.
long:
area: Reflected an area across its long axis.
multiple: Reflected multiple objects across their long axis.
short:
area: Reflected an area across its short axis.
multiple: Reflected multiple objects across their short axis.
incomplete_relation:
single: This object can't be reflected because it hasn't been fully downloaded.
multiple: These objects can't be reflected because they haven't been fully downloaded.
too_large:
single: This object can't be reflected because not enough of it is currently visible.
multiple: These objects can't be reflected because not enough of them are currently visible.
connected_to_hidden:
single: This object can't be reflected because it is connected to a hidden feature.
multiple: These objects can't be reflected because some are connected to hidden features.
rotate:
title: Rotate
description: Rotate this object around its center point.
description:
single: Rotate this object around its center point.
multiple: Rotate these objects around their center point.
key: R
annotation:
line: Rotated a line.
area: Rotated an area.
too_large: This can't be rotated because not enough of it is currently visible.
connected_to_hidden: This can't be rotated because it is connected to a hidden feature.
multiple: Rotated multiple objects.
incomplete_relation:
single: This object can't be rotated because it hasn't been fully downloaded.
multiple: These objects can't be rotated because they haven't been fully downloaded.
too_large:
single: This object can't be rotated because not enough of it is currently visible.
multiple: These objects can't be rotated because not enough of them are currently visible.
connected_to_hidden:
single: This object can't be rotated because it is connected to a hidden feature.
multiple: These objects can't be rotated because some are connected to hidden features.
reverse:
title: Reverse
description: Make this line go in the opposite direction.