aves/lib/app_mode.dart
2024-05-30 01:34:18 +02:00

48 lines
1.1 KiB
Dart

enum AppMode {
initialization,
main,
pickCollectionFiltersExternal,
pickSingleMediaExternal,
pickMultipleMediaExternal,
pickFilteredMediaInternal,
pickUnfilteredMediaInternal,
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.pickFilteredMediaInternal,
AppMode.pickUnfilteredMediaInternal,
}.contains(this);
}