diff --git a/src/dlangui/dialogs/filedlg.d b/src/dlangui/dialogs/filedlg.d
index 0b541eb5..c59aac2a 100644
--- a/src/dlangui/dialogs/filedlg.d
+++ b/src/dlangui/dialogs/filedlg.d
@@ -242,6 +242,7 @@ class FileDialog : Dialog, CustomGridCellAdapter {
res.layoutWidth(WRAP_CONTENT).layoutHeight(FILL_PARENT).layoutWeight(0);
res.onItemClickListener = delegate(Widget source, int itemIndex) {
openDirectory(_roots[itemIndex].path, null);
+ res.selectItem(-1);
return true;
};
res.focusable = true;
diff --git a/src/dlangui/platforms/common/platform.d b/src/dlangui/platforms/common/platform.d
index 861c779a..5003c007 100644
--- a/src/dlangui/platforms/common/platform.d
+++ b/src/dlangui/platforms/common/platform.d
@@ -690,13 +690,17 @@ class Window {
bool insideOneOfPopups = false;
for (int i = cast(int)_popups.length - 1; i >= 0; i--) {
auto p = _popups[i];
- if (p.isPointInside(event.x, event.y))
- insideOneOfPopups = true;
+ if (p.isPointInside(event.x, event.y)) {
+ if (p !is modal)
+ insideOneOfPopups = true;
+ }
if (p is modal)
break;
}
for (int i = cast(int)_popups.length - 1; i >= 0; i--) {
auto p = _popups[i];
+ if (p is modal)
+ break;
if (!insideOneOfPopups) {
if (p.onMouseEventOutside(event)) // stop loop when true is returned, but allow other main widget to handle event
break;
@@ -704,11 +708,11 @@ class Window {
if (dispatchMouseEvent(p, event, cursorIsSet))
return true;
}
- if (p is modal)
- break;
}
if (!modal)
res = dispatchMouseEvent(_mainWidget, event, cursorIsSet);
+ else
+ res = dispatchMouseEvent(modal, event, cursorIsSet);
}
return res || processed || _mainWidget.needDraw;
}
diff --git a/views/res/mdpi/popup_window_background.9.png b/views/res/mdpi/popup_window_background.9.png
index 14d80259..bf3f04b5 100644
Binary files a/views/res/mdpi/popup_window_background.9.png and b/views/res/mdpi/popup_window_background.9.png differ
diff --git a/views/res/theme_default.xml b/views/res/theme_default.xml
index 7f890da2..63267c35 100644
--- a/views/res/theme_default.xml
+++ b/views/res/theme_default.xml
@@ -194,7 +194,7 @@