diff --git a/CHANGELOG.md b/CHANGELOG.md index ba69ded24..ad150379a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. ### Added - Viewer: overlay details expand/collapse on tap +- Viewer: export actions available as quick actions - TV: improved support for Info ### Changed diff --git a/lib/model/actions/entry_actions.dart b/lib/model/actions/entry_actions.dart index 0a653b736..bbb10638b 100644 --- a/lib/model/actions/entry_actions.dart +++ b/lib/model/actions/entry_actions.dart @@ -71,13 +71,15 @@ class EntryActions { ]; static const export = [ + ...exportInternal, + ...exportExternal, + ]; + + static const exportInternal = [ EntryAction.convert, EntryAction.addShortcut, EntryAction.copyToClipboard, EntryAction.print, - EntryAction.open, - EntryAction.openMap, - EntryAction.setAs, ]; static const exportExternal = [ diff --git a/lib/widgets/settings/viewer/viewer_actions_editor.dart b/lib/widgets/settings/viewer/viewer_actions_editor.dart index 8b63bf131..98e58fa27 100644 --- a/lib/widgets/settings/viewer/viewer_actions_editor.dart +++ b/lib/widgets/settings/viewer/viewer_actions_editor.dart @@ -25,6 +25,7 @@ class ViewerActionEditorPage extends StatelessWidget { EntryAction.flip, ], [ + ...EntryActions.exportInternal, EntryAction.videoCaptureFrame, EntryAction.videoToggleMute, EntryAction.videoSetSpeed, diff --git a/lib/widgets/viewer/overlay/viewer_buttons.dart b/lib/widgets/viewer/overlay/viewer_buttons.dart index 3ce1e4c6d..a02bb9899 100644 --- a/lib/widgets/viewer/overlay/viewer_buttons.dart +++ b/lib/widgets/viewer/overlay/viewer_buttons.dart @@ -71,15 +71,16 @@ class ViewerButtons extends StatelessWidget { selector: (context, s) => s.isRotationLocked, builder: (context, s, child) { final quickActions = (trashed ? EntryActions.trashed : settings.viewerQuickActions).where(actionDelegate.isVisible).where(actionDelegate.canApply).take(availableCount - 1).toList(); - final topLevelActions = EntryActions.topLevel.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); - final exportActions = EntryActions.export.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); - final videoActions = EntryActions.video.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); + List getMenuActions(List categoryActions) { + return categoryActions.where((action) => !quickActions.contains(action)).where(actionDelegate.isVisible).toList(); + } + return ViewerButtonRowContent( actionDelegate: EntryActionDelegate(mainEntry, pageEntry, collection), quickActions: quickActions, - topLevelActions: topLevelActions, - exportActions: exportActions, - videoActions: videoActions, + topLevelActions: getMenuActions(EntryActions.topLevel), + exportActions: getMenuActions(EntryActions.export), + videoActions: getMenuActions(EntryActions.video), scale: scale, mainEntry: mainEntry, pageEntry: pageEntry,