diff --git a/PhotoSlide/src/main/java/org/photoslide/MainViewController.java b/PhotoSlide/src/main/java/org/photoslide/MainViewController.java index 8d8fea7..c7b0acb 100644 --- a/PhotoSlide/src/main/java/org/photoslide/MainViewController.java +++ b/PhotoSlide/src/main/java/org/photoslide/MainViewController.java @@ -207,11 +207,13 @@ public class MainViewController implements Initializable { private EditorMediaViewController editorMediaViewPaneController; @FXML private EditorToolsController editorToolsPaneController; + @FXML + private BookmarkBoardController bookmarksController; + @FXML private SearchToolsController searchtools; private SearchToolsDialog searchDialog; private PrintDialog printDialog; - private Properties bookmarks; - private BookmarkBoardController bookmarksController; + private Properties bookmarks; private BMBIcon bmbIcon; @FXML private Button showProcessButton; @@ -1228,4 +1230,14 @@ private void showBackgroundProcessListMenu(ActionEvent event) { .add(getClass().getResource("/org/photoslide/css/PopOver.css").toExternalForm()); } + @FXML + private void showMediaStackAction(ActionEvent event) { + MediaFile item = lighttablePaneController.getFactory().getSelectedMediaItem(); + if (item != null) { + if (item.isStacked()) { + lighttablePaneController.getFactory().handleStackButtonAction(item.getStackName(), lighttablePaneController.getFactory().getSelectedCell()); + } + } + } + } diff --git a/PhotoSlide/src/main/java/org/photoslide/browserlighttable/MediaGridCellFactory.java b/PhotoSlide/src/main/java/org/photoslide/browserlighttable/MediaGridCellFactory.java index 1e1683d..584ca32 100644 --- a/PhotoSlide/src/main/java/org/photoslide/browserlighttable/MediaGridCellFactory.java +++ b/PhotoSlide/src/main/java/org/photoslide/browserlighttable/MediaGridCellFactory.java @@ -251,13 +251,19 @@ public void handleGridCellSelection(Event t) throws MalformedURLException { lightController.getFilenameLabel().setText(name); }); return; - } - if (t.getTarget().getClass().equals(FontIcon.class)) { - String code = ((FontIcon) t.getTarget()).getIconLiteral(); - if (code.equalsIgnoreCase("ti-view-grid")) { + } + if (t.getTarget().getClass().equals(StackPane.class)) { + Node target = Utility.pick((StackPane) t.getTarget(), ((MouseEvent) t).getSceneX(), ((MouseEvent) t).getSceneY()); + if (target.getClass().equals(FontIcon.class)) { handleStackButtonAction(((MediaGridCell) t.getSource()).getItem().getStackName(), (MediaGridCell) t.getSource()); + if (lightController.getImageView().getImage() != null) { + if (lightController.getImageView().getImage() != null) { + if (lightController.getImageView().getImage().getUrl().equalsIgnoreCase(((MediaGridCell) t.getSource()).getItem().getImageUrl().toString())) { + return; + } + } + } } - t.consume(); } if (((MediaGridCell) t.getSource()).getItem().isStacked()) { lightController.getStackButton().setText("Unstack"); diff --git a/PhotoSlide/src/main/java/org/photoslide/datamodel/MediaGridCell.java b/PhotoSlide/src/main/java/org/photoslide/datamodel/MediaGridCell.java index 5283a9f..6cc13db 100644 --- a/PhotoSlide/src/main/java/org/photoslide/datamodel/MediaGridCell.java +++ b/PhotoSlide/src/main/java/org/photoslide/datamodel/MediaGridCell.java @@ -231,7 +231,7 @@ public final void setMedia(MediaFile item) { } setRatingNode(item.getRatingProperty().get()); setBookmarked(item.isBookmarked()); - setStacked(item.isStacked(), item.getStackPos()); + setStacked(item.isStacked(), item.getStackPos()); if (item.deletedProperty().getValue() == true) { setDeletedNode(); } diff --git a/PhotoSlide/src/main/resources/org/photoslide/fxml/MainView.fxml b/PhotoSlide/src/main/resources/org/photoslide/fxml/MainView.fxml index 3a6408c..a71e100 100644 --- a/PhotoSlide/src/main/resources/org/photoslide/fxml/MainView.fxml +++ b/PhotoSlide/src/main/resources/org/photoslide/fxml/MainView.fxml @@ -21,7 +21,7 @@ - + @@ -174,6 +174,7 @@ +