aves/lib/app_mode.dart
Thibault Deckers b1920dbe1c lab: transform
2023-05-14 12:50:08 +02:00

45 lines
1,023 B
Dart

enum AppMode {
main,
pickCollectionFiltersExternal,
pickSingleMediaExternal,
pickMultipleMediaExternal,
pickMediaInternal,
pickFilterInternal,
screenSaver,
setWallpaper,
slideshow,
view,
edit,
}
extension ExtraAppMode on AppMode {
bool get canNavigate => {
AppMode.main,
AppMode.pickCollectionFiltersExternal,
AppMode.pickSingleMediaExternal,
AppMode.pickMultipleMediaExternal,
}.contains(this);
bool get canEditEntry => {
AppMode.main,
AppMode.view,
}.contains(this);
bool get canSelectMedia => {
AppMode.main,
AppMode.pickMultipleMediaExternal,
}.contains(this);
bool get canSelectFilter => this == AppMode.main;
bool get canCreateFilter => {
AppMode.main,
AppMode.pickFilterInternal,
}.contains(this);
bool get isPickingMedia => {
AppMode.pickSingleMediaExternal,
AppMode.pickMultipleMediaExternal,
AppMode.pickMediaInternal,
}.contains(this);
}