From 5747e9e25758757b2817f2170adbe97cbc5cdcea Mon Sep 17 00:00:00 2001
From: Harry Linrui XU <xulr0820@hotmail.com>
Date: Fri, 24 Mar 2023 11:34:43 +0100
Subject: [PATCH] "Added else statement for preventing edit popup if no item is
 selected. Moved refresh method. Moved brackets of else if which prevented
 screen switching"

---
 .../demo/controller/ExpensesController.java      | 16 ++++++++--------
 .../demo/controller/IncomeController.java        |  8 ++++----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
index 26f4d319..9f32f059 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
@@ -137,17 +137,19 @@ public class ExpensesController {
     if (event.getSource().equals(addBtn)) {
       dialogMode = DialogMode.ADD;
       dialogTitle = "Add expense";
-      dialog.setTitle(dialogTitle);
-      dialog.showAndWait();
+
+
     } else if (event.getSource().equals(editBtn)
         && expenseTableView.getSelectionModel().getSelectedItem() != null) {
       dialogMode = DialogMode.EDIT;
       dialogTitle = "Edit expense";
       newExpense = expenseTableView.getSelectionModel().getSelectedItem();
       dialogController.setExpense(newExpense);
-      dialog.setTitle(dialogTitle);
-      dialog.showAndWait();
+    } else {
+      return;
     }
+    dialog.setTitle(dialogTitle);
+    dialog.showAndWait();
 
     // Show the Dialog and wait for the user to close it
     //Get the newly created expense from the dialog pane
@@ -155,9 +157,8 @@ public class ExpensesController {
 
     if (newExpense != null && dialogMode == DialogMode.ADD) {
       expenseRegister.addItem(newExpense);
-      refreshObservableList();
     }
-
+    refreshObservableList();
   }
   //Only add the expense to the tableview, if the expense is not null
 
@@ -219,7 +220,7 @@ public class ExpensesController {
       loader.setLocation(SceneController.class.getResource("/view/FirstMenu.fxml"));
     } else if (event.getSource() == budgetBtn) {
       loader.setLocation(SceneController.class.getResource("/view/underProgress.fxml"));
-
+    }
       Parent root = loader.load();
       Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
       Scene scene = new Scene(root);
@@ -227,4 +228,3 @@ public class ExpensesController {
       stage.show();
     }
   }
-}
\ No newline at end of file
diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java
index 3bfd4aaa..bca922a6 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java
@@ -135,6 +135,8 @@ public class IncomeController {
       dialogTitle = "Edit income";
       newIncome = incomeTableView.getSelectionModel().getSelectedItem();
       dialogController.setIncome(newIncome);
+    } else {
+      return;
     }
 
     dialog.setTitle(dialogTitle);
@@ -145,9 +147,8 @@ public class IncomeController {
 
     if (newIncome != null && dialogMode == DialogMode.ADD) {
       incomeRegister.addItem(newIncome);
-      refreshObservableList();
     }
-
+    refreshObservableList();
   }
   //Only add the income to the tableview, if the income is not null
 
@@ -209,7 +210,7 @@ public class IncomeController {
       loader.setLocation(SceneController.class.getResource("/view/FirstMenu.fxml"));
     } else if (event.getSource() == budgetBtn) {
       loader.setLocation(SceneController.class.getResource("/view/underProgress.fxml"));
-
+    }
       Parent root = loader.load();
       Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
       Scene scene = new Scene(root);
@@ -217,4 +218,3 @@ public class IncomeController {
       stage.show();
     }
   }
-}
\ No newline at end of file
-- 
GitLab