diff --git a/scripts/module_base.gd b/scripts/module_base.gd index dad4b76..081f12c 100644 --- a/scripts/module_base.gd +++ b/scripts/module_base.gd @@ -10,23 +10,32 @@ var _initialized: bool = false func _ready() -> void: - if not _initialized: - _initialize() + # Don't intercept mouse events — DashboardGrid handles drag-and-drop + _set_mouse_ignore(self) + if not _initialized: + _initialize() func initialize() -> void: - pass + pass func refresh(data: Dictionary) -> void: - pass + pass func get_module_title() -> String: - return module_title + return module_title func _initialize() -> void: - _initialized = true - initialize() - module_ready.emit() + _initialized = true + initialize() + module_ready.emit() + + +func _set_mouse_ignore(node: Node) -> void: + if node is Control: + node.mouse_filter = Control.MOUSE_FILTER_IGNORE + for child in node.get_children(): + _set_mouse_ignore(child)