diff --git a/CHANGES.rst b/CHANGES.rst
index 9a97eae4..961b9f76 100755
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,8 +4,10 @@
3.5 (unreleased)
----------------
-- Nothing changed yet.
-
+- Add model metadata to the layer menu when loading a computational grid (#980)
+- Result aggregation: Fix units widget is not updated when switching Variable (#983)
+- Water balance tool: Fix switching tabs resets the water balance terms checkboxes (#984)
+- Water depth/level processing algorithm - Remove popups (#985)
3.4 (2024-01-16)
----------------
diff --git a/layer_styles/grid/cell.qml b/layer_styles/grid/cell.qml
index c4a815af..fe993672 100644
--- a/layer_styles/grid/cell.qml
+++ b/layer_styles/grid/cell.qml
@@ -103,25 +103,25 @@
+
+
+
+
+
+
+
diff --git a/layer_styles/grid/flowline.qml b/layer_styles/grid/flowline.qml
index 988bd200..8f0bd6e2 100644
--- a/layer_styles/grid/flowline.qml
+++ b/layer_styles/grid/flowline.qml
@@ -2920,70 +2920,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/layer_styles/grid/meta.qml b/layer_styles/grid/meta.qml
new file mode 100644
index 00000000..5d2a7eeb
--- /dev/null
+++ b/layer_styles/grid/meta.qml
@@ -0,0 +1,631 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+ tablayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
diff --git a/layer_styles/grid/node.qml b/layer_styles/grid/node.qml
index 9ba82e5a..98379f12 100644
--- a/layer_styles/grid/node.qml
+++ b/layer_styles/grid/node.qml
@@ -584,25 +584,25 @@
+
+
+
+
+
+
+
@@ -618,37 +618,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/layer_styles/grid/pump.qml b/layer_styles/grid/pump.qml
index 0204019e..4b0e54d3 100644
--- a/layer_styles/grid/pump.qml
+++ b/layer_styles/grid/pump.qml
@@ -115,10 +115,10 @@
+
+
diff --git a/layer_styles/grid/pump_linestring.qml b/layer_styles/grid/pump_linestring.qml
index 4c47639b..9a369a86 100644
--- a/layer_styles/grid/pump_linestring.qml
+++ b/layer_styles/grid/pump_linestring.qml
@@ -138,10 +138,10 @@
+
+
diff --git a/processing/styles/cell.qml b/processing/styles/cell.qml
index c4a815af..fe993672 100644
--- a/processing/styles/cell.qml
+++ b/processing/styles/cell.qml
@@ -103,25 +103,25 @@
+
+
+
+
+
+
+
diff --git a/processing/styles/cross_sectional_discharge_flowlines.qml b/processing/styles/cross_sectional_discharge_flowlines.qml
index 1a82deee..e9650b54 100644
--- a/processing/styles/cross_sectional_discharge_flowlines.qml
+++ b/processing/styles/cross_sectional_discharge_flowlines.qml
@@ -310,72 +310,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/processing/styles/flowline.qml b/processing/styles/flowline.qml
index 7d442425..4a072f22 100644
--- a/processing/styles/flowline.qml
+++ b/processing/styles/flowline.qml
@@ -3487,70 +3487,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/processing/styles/node.qml b/processing/styles/node.qml
index 9ba82e5a..98379f12 100644
--- a/processing/styles/node.qml
+++ b/processing/styles/node.qml
@@ -584,25 +584,25 @@
+
+
+
+
+
+
+
@@ -618,37 +618,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/processing/styles/pump.qml b/processing/styles/pump.qml
index 0204019e..4b0e54d3 100644
--- a/processing/styles/pump.qml
+++ b/processing/styles/pump.qml
@@ -115,10 +115,10 @@
+
+
diff --git a/processing/styles/pump_linestring.qml b/processing/styles/pump_linestring.qml
index 4c47639b..94cfb1ab 100644
--- a/processing/styles/pump_linestring.qml
+++ b/processing/styles/pump_linestring.qml
@@ -138,10 +138,13 @@
+
+
+
+
diff --git a/processing/threedidepth_algorithms.py b/processing/threedidepth_algorithms.py
index 60c6058f..f988db40 100644
--- a/processing/threedidepth_algorithms.py
+++ b/processing/threedidepth_algorithms.py
@@ -122,7 +122,7 @@ def reset(self):
def new_file_event(self, file_path):
"""New file has been selected by the user. Try to read in the timestamps from the file."""
- if file_path == "":
+ if not file_path or not os.path.isfile(file_path):
self.reset()
return
@@ -173,7 +173,7 @@ def populate_timestamps(self, timestamps):
def new_file_event(self, file_path):
"""New file has been selected by the user. Try to read in the timestamps from the file."""
- if file_path == "":
+ if not file_path or not os.path.isfile(file_path):
self.clear()
return
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 0248a915..cfe41755 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -10,7 +10,7 @@ docstr-coverage >= 1.0.4
flake8
isort
mock
-pytest
+pytest < 8.0
pytest-cov
pytest-flake8
pytest-qt
diff --git a/threedi_plugin_layer_manager.py b/threedi_plugin_layer_manager.py
index 4e6c897a..3599f1af 100644
--- a/threedi_plugin_layer_manager.py
+++ b/threedi_plugin_layer_manager.py
@@ -65,6 +65,7 @@ def copy_layer_into_memory_layer(source_layer, layer_name, dest_layer):
# Layers need to be in specific order and naming:
gpkg_layers = OrderedDict(
[
+ ("Model properties", "meta"),
("Pump (point)", "pump"),
("Node", "node"),
("Pump (line)", "pump_linestring"),
diff --git a/tool_statistics/threedi_custom_stats_dialog.py b/tool_statistics/threedi_custom_stats_dialog.py
index 74992d01..9f17d2fc 100644
--- a/tool_statistics/threedi_custom_stats_dialog.py
+++ b/tool_statistics/threedi_custom_stats_dialog.py
@@ -283,6 +283,7 @@ def variable_combobox_text_changed(self):
variable = variable_widget.itemData(variable_widget.currentIndex())
self.set_method_widget(row, variable)
self.set_direction_widget(row, variable)
+ self.set_units_widget(row=row, variable=variable, method=None)
self.update_demanded_aggregations()
self._update_output_layer_fields_based_on_aggregations()
self.validate()
diff --git a/tool_water_balance/views/widgets.py b/tool_water_balance/views/widgets.py
index 51638e13..7bb7c721 100644
--- a/tool_water_balance/views/widgets.py
+++ b/tool_water_balance/views/widgets.py
@@ -879,7 +879,7 @@ def combo_changed(self, index):
self.update_water_balance(reset_model=False)
def tab_changed(self, index):
- self.update_water_balance(reset_model=True)
+ self.update_water_balance(reset_model=False)
def hover_enter_action(self, name):
if not self.manager: