diff --git a/src/dlangui/dialogs/dialog.d b/src/dlangui/dialogs/dialog.d index 54349e07..1b82ec52 100644 --- a/src/dlangui/dialogs/dialog.d +++ b/src/dlangui/dialogs/dialog.d @@ -162,7 +162,7 @@ class Dialog : VerticalLayout { if (action) { if (onDialogResult.assigned) onDialogResult(this, action); - else if (_parentWindow) + else if (_parentWindow && !_popup) _parentWindow.dispatchAction(action); } if (_popup) diff --git a/src/dlangui/widgets/tree.d b/src/dlangui/widgets/tree.d index 41b1877c..ff79efd1 100644 --- a/src/dlangui/widgets/tree.d +++ b/src/dlangui/widgets/tree.d @@ -668,6 +668,12 @@ class TreeWidgetBase : ScrollWidget, OnTreeContentChangeListener, OnTreeStateCh _needUpdateWidgets = false; } + void clearAllItems() { + items.clear(); + updateWidgets(); + requestLayout(); + } + protected void updateWidgetStates() { for (int i = 0; i < _contentWidget.childCount; i++) { TreeItemWidget child = cast(TreeItemWidget)_contentWidget.child(i);