info: hide metadata edit actions when path is unknown

This commit is contained in:
Thibault Deckers 2021-09-14 10:23:24 +09:00
parent db863d68e3
commit f422f848f4

View file

@ -43,28 +43,29 @@ class InfoAppBar extends StatelessWidget {
onPressed: () => _goToSearch(context), onPressed: () => _goToSearch(context),
tooltip: MaterialLocalizations.of(context).searchFieldLabel, tooltip: MaterialLocalizations.of(context).searchFieldLabel,
), ),
MenuIconTheme( if (entry.canEdit)
child: PopupMenuButton<EntryInfoAction>( MenuIconTheme(
itemBuilder: (context) { child: PopupMenuButton<EntryInfoAction>(
return [ itemBuilder: (context) {
PopupMenuItem( return [
value: EntryInfoAction.editDate, PopupMenuItem(
enabled: entry.canEditExif, value: EntryInfoAction.editDate,
child: MenuRow(text: context.l10n.entryInfoActionEditDate, icon: const Icon(AIcons.date)), enabled: entry.canEditExif,
), child: MenuRow(text: context.l10n.entryInfoActionEditDate, icon: const Icon(AIcons.date)),
PopupMenuItem( ),
value: EntryInfoAction.removeMetadata, PopupMenuItem(
enabled: entry.canRemoveMetadata, value: EntryInfoAction.removeMetadata,
child: MenuRow(text: context.l10n.entryInfoActionRemoveMetadata, icon: const Icon(AIcons.clear)), enabled: entry.canRemoveMetadata,
), child: MenuRow(text: context.l10n.entryInfoActionRemoveMetadata, icon: const Icon(AIcons.clear)),
]; ),
}, ];
onSelected: (action) { },
// wait for the popup menu to hide before proceeding with the action onSelected: (action) {
Future.delayed(Durations.popupMenuAnimation * timeDilation, () => EntryInfoActionDelegate(entry).onActionSelected(context, action)); // wait for the popup menu to hide before proceeding with the action
}, Future.delayed(Durations.popupMenuAnimation * timeDilation, () => EntryInfoActionDelegate(entry).onActionSelected(context, action));
},
),
), ),
),
], ],
titleSpacing: 0, titleSpacing: 0,
floating: true, floating: true,