diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ca067a75..3ce63ef95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. ### Changed - editing description writes XMP `dc:description`, and clears Exif `ImageDescription` / `UserComment` +- in the tag editor, tapping on applied tag applies it to all items instead of removing it ### Fixed diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index ccf5c138f..81a4692ca 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -280,7 +280,7 @@ class _CollectionSectionedContentState extends State<_CollectionSectionedContent child: scrollView, ); - final selector = GridSelectionGestureDetector( + final selector = GridSelectionGestureDetector( scrollableKey: _scrollableKey, selectable: widget.selectable, items: collection.sortedEntries, diff --git a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart index e31e7cf96..9596b7a41 100644 --- a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart +++ b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart @@ -157,7 +157,14 @@ class _TagEditorPageState extends State { ) : null, onTap: (filter) { - // TODO TLAD [#453] + if (tagsByEntry.keys.length > 1) { + // for multiple entries, set tag for all of them + tagsByEntry.forEach((entry, filters) => filters.add(filter)); + setState(() {}); + } else { + // for single entry, remove tag (like pressing on the remove icon) + _removeTag(filter); + } }, onRemove: _removeTag, onLongPress: null,