diff --git a/src/main/App/Scenes/PhotosScene.java b/src/main/App/Scenes/PhotosScene.java index 0c8067aa8aa996c5951ec4e2f43b57fca9aa0330..996b7838bdce2ae2b3c05a33bf9b8e2cffe77bc5 100644 --- a/src/main/App/Scenes/PhotosScene.java +++ b/src/main/App/Scenes/PhotosScene.java @@ -19,6 +19,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; + +import javafx.scene.text.Text; import javafx.stage.Screen; /** @@ -80,12 +82,21 @@ class PhotosScene extends SceneBuilder { * Sets up the scroll pane in the search scene with all the photos of the user */ private void setupImagesInAScrollPane(){ - photoList.forEach(photo -> { - PhotoContainer photoContainer = new PhotoContainer(photo); - scrollPaneVBox.getChildren().add(photoContainer.getPhotoContainer()); - photoContainerList.add(photoContainer); - checkBoxArrayList.add(photoContainer.getCheckBox()); - }); + if(!photoList.isEmpty()) { + photoList.forEach(photo -> { + PhotoContainer photoContainer = new PhotoContainer(photo); + scrollPaneVBox.getChildren().add(photoContainer.getPhotoContainer()); + photoContainerList.add(photoContainer); + checkBoxArrayList.add(photoContainer.getCheckBox()); + }); + } + else{ + Text noPhotosText = new Text("No photos stored. You can upload photos in \"Upload\""); + Css.setText(17,noPhotosText); + scrollPaneVBox.getChildren().add(noPhotosText); + scrollPaneVBox.setAlignment(Pos.CENTER); + selectAllHBox.setDisable(true); + } scrollPane.setContent(scrollPaneVBox); scrollPane.setPrefHeight(Screen.getPrimary().getVisualBounds().getHeight()); scrollPane.fitToWidthProperty().set(true); @@ -221,18 +232,24 @@ class PhotosScene extends SceneBuilder { */ private void deleteSelectedPhotos(){ ArrayList<Photo> selectedPhotos = getCheckedPhotos(); - selectedPhotos.forEach(photo -> { - photo.getAlbums().forEach(album -> { - album.getPhotos().remove(photo); + if(selectedPhotos.isEmpty()){ + feedbackLabel.setText("Unsuccessful: No photos were chosen"); + Css.playFeedBackLabelTransition(FeedBackType.Error, 13, feedbackLabel); + } + else { + selectedPhotos.forEach(photo -> { + photo.getAlbums().forEach(album -> { + album.getPhotos().remove(photo); + }); + UserInfo.getUser().getPhotos().remove(photo); + PhotoContainer photoContainer = photoContainerList.stream().filter(c -> c.getPhoto().equals(photo)).findAny().get(); + photoContainer.getCheckBox().setSelected(false); + scrollPaneVBox.getChildren().remove(photoContainer.getPhotoContainer()); }); - UserInfo.getUser().getPhotos().remove(photo); - PhotoContainer photoContainer = photoContainerList.stream().filter(c -> c.getPhoto().equals(photo)).findAny().get(); - photoContainer.getCheckBox().setSelected(false); - scrollPaneVBox.getChildren().remove(photoContainer.getPhotoContainer()); - }); - Hibernate.updateUser(UserInfo.getUser()); - feedbackLabel.setText("Deleted successfully"); - Css.playFeedBackLabelTransition(FeedBackType.Successful, 13, feedbackLabel); + Hibernate.updateUser(UserInfo.getUser()); + feedbackLabel.setText("Deleted successfully"); + Css.playFeedBackLabelTransition(FeedBackType.Successful, 13, feedbackLabel); + } } /**