gallery_type.dart 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. enum GalleryType {
  2. homepage,
  3. archive,
  4. hidden,
  5. favorite,
  6. trash,
  7. localFolder,
  8. // indicator for gallery view of collections shared with the user
  9. sharedCollection,
  10. ownedCollection,
  11. searchResults
  12. }
  13. extension GalleyTypeExtension on GalleryType {
  14. bool showAddToAlbum() {
  15. switch (this) {
  16. case GalleryType.homepage:
  17. case GalleryType.archive:
  18. case GalleryType.localFolder:
  19. case GalleryType.ownedCollection:
  20. case GalleryType.searchResults:
  21. case GalleryType.favorite:
  22. return true;
  23. case GalleryType.hidden:
  24. case GalleryType.trash:
  25. case GalleryType.sharedCollection:
  26. return false;
  27. }
  28. }
  29. bool showMoveToAlbum() {
  30. switch (this) {
  31. case GalleryType.ownedCollection:
  32. return true;
  33. case GalleryType.hidden:
  34. case GalleryType.favorite:
  35. case GalleryType.searchResults:
  36. case GalleryType.archive:
  37. case GalleryType.localFolder:
  38. case GalleryType.homepage:
  39. case GalleryType.trash:
  40. case GalleryType.sharedCollection:
  41. return false;
  42. }
  43. }
  44. // showDeleteTopOption indicates whether we should show
  45. // delete icon as iconButton
  46. bool showDeleteIconOption() {
  47. switch (this) {
  48. case GalleryType.ownedCollection:
  49. case GalleryType.searchResults:
  50. case GalleryType.homepage:
  51. case GalleryType.favorite:
  52. case GalleryType.localFolder:
  53. return true;
  54. case GalleryType.trash:
  55. case GalleryType.archive:
  56. case GalleryType.hidden:
  57. case GalleryType.sharedCollection:
  58. return false;
  59. }
  60. }
  61. bool showDeleteOption() {
  62. switch (this) {
  63. case GalleryType.ownedCollection:
  64. case GalleryType.searchResults:
  65. case GalleryType.homepage:
  66. case GalleryType.favorite:
  67. case GalleryType.archive:
  68. case GalleryType.hidden:
  69. case GalleryType.localFolder:
  70. return true;
  71. case GalleryType.trash:
  72. case GalleryType.sharedCollection:
  73. return false;
  74. }
  75. }
  76. bool showCreateLink() {
  77. switch (this) {
  78. case GalleryType.ownedCollection:
  79. case GalleryType.searchResults:
  80. case GalleryType.homepage:
  81. case GalleryType.favorite:
  82. case GalleryType.archive:
  83. return true;
  84. case GalleryType.hidden:
  85. case GalleryType.localFolder:
  86. case GalleryType.trash:
  87. case GalleryType.sharedCollection:
  88. return false;
  89. }
  90. }
  91. bool showRemoveFromAlbum() {
  92. switch (this) {
  93. case GalleryType.ownedCollection:
  94. case GalleryType.sharedCollection:
  95. return true;
  96. case GalleryType.hidden:
  97. case GalleryType.favorite:
  98. case GalleryType.searchResults:
  99. case GalleryType.homepage:
  100. case GalleryType.archive:
  101. case GalleryType.localFolder:
  102. case GalleryType.trash:
  103. return false;
  104. }
  105. }
  106. bool showArchiveOption() {
  107. switch (this) {
  108. case GalleryType.ownedCollection:
  109. case GalleryType.homepage:
  110. return true;
  111. case GalleryType.hidden:
  112. case GalleryType.favorite:
  113. case GalleryType.searchResults:
  114. case GalleryType.archive:
  115. case GalleryType.localFolder:
  116. case GalleryType.trash:
  117. case GalleryType.sharedCollection:
  118. return false;
  119. }
  120. }
  121. bool showUnArchiveOption() {
  122. return this == GalleryType.archive;
  123. }
  124. bool showHideOption() {
  125. switch (this) {
  126. case GalleryType.ownedCollection:
  127. case GalleryType.homepage:
  128. case GalleryType.searchResults:
  129. case GalleryType.archive:
  130. return true;
  131. case GalleryType.hidden:
  132. case GalleryType.localFolder:
  133. case GalleryType.trash:
  134. case GalleryType.favorite:
  135. case GalleryType.sharedCollection:
  136. return false;
  137. }
  138. }
  139. bool showUnHideOption() {
  140. return this == GalleryType.hidden;
  141. }
  142. bool showFavoriteOption() {
  143. switch (this) {
  144. case GalleryType.ownedCollection:
  145. case GalleryType.homepage:
  146. case GalleryType.searchResults:
  147. return true;
  148. case GalleryType.hidden:
  149. case GalleryType.favorite:
  150. case GalleryType.archive:
  151. case GalleryType.localFolder:
  152. case GalleryType.trash:
  153. case GalleryType.sharedCollection:
  154. return false;
  155. }
  156. }
  157. bool showUnFavoriteOption() {
  158. return this == GalleryType.favorite;
  159. }
  160. }