From 7c3e931648101fd89772968b2f26ccf64c25ee8b Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 2 Apr 2017 14:34:17 +0200 Subject: [PATCH] Fixed #61 - allow editing of categories via double click --- .../budgetmaster/ui/CategoryController.java | 20 ++++++++++++++++++- .../budgetmaster/ui/PaymentController.java | 7 +++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/de/deadlocker8/budgetmaster/ui/CategoryController.java b/src/de/deadlocker8/budgetmaster/ui/CategoryController.java index 413622a22..132ff978a 100644 --- a/src/de/deadlocker8/budgetmaster/ui/CategoryController.java +++ b/src/de/deadlocker8/budgetmaster/ui/CategoryController.java @@ -12,6 +12,7 @@ import fontAwesome.FontIconType; import javafx.application.Platform; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; +import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; @@ -20,6 +21,7 @@ import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; import javafx.stage.Modality; import javafx.stage.Stage; @@ -44,7 +46,23 @@ public class CategoryController implements Refreshable @Override public ListCell<Category> call(ListView<Category> param) { - return new CategoryCell(thisController); + CategoryCell cell = new CategoryCell(thisController); + cell.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() + { + @Override + public void handle(MouseEvent event) + { + if(event.getClickCount() == 2) + { + // don't allow editing of category "none" + if(cell.getItem().getID() != 1) + { + newCategory(true, cell.getItem()); + } + } + } + }); + return cell; } }); diff --git a/src/de/deadlocker8/budgetmaster/ui/PaymentController.java b/src/de/deadlocker8/budgetmaster/ui/PaymentController.java index bb8e83b04..69defde60 100644 --- a/src/de/deadlocker8/budgetmaster/ui/PaymentController.java +++ b/src/de/deadlocker8/budgetmaster/ui/PaymentController.java @@ -64,12 +64,11 @@ public class PaymentController implements Refreshable public void handle(MouseEvent event) { if(event.getClickCount() == 2) - { - PaymentCell c = (PaymentCell)event.getSource(); + { // don't allow editing of payment "rest" - if(c.getItem().getCategoryID() != 2) + if(cell.getItem().getCategoryID() != 2) { - payment(!c.getItem().isIncome(), true, c.getItem()); + payment(!cell.getItem().isIncome(), true, cell.getItem()); } } } -- GitLab