aves/lib/app_mode.dart
Thibault Deckers bc6d75e928 #114 vaults
2023-02-16 19:49:33 +01:00

39 lines
917 B
Dart

enum AppMode {
main,
pickCollectionFiltersExternal,
pickSingleMediaExternal,
pickMultipleMediaExternal,
pickMediaInternal,
pickFilterInternal,
screenSaver,
setWallpaper,
slideshow,
view,
}
extension ExtraAppMode on AppMode {
bool get canNavigate => {
AppMode.main,
AppMode.pickCollectionFiltersExternal,
AppMode.pickSingleMediaExternal,
AppMode.pickMultipleMediaExternal,
}.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);
}