mirror of https://github.com/buggins/dlangui.git
close popup (don't reopen) on combobox body click when popup is open - close 19
This commit is contained in:
parent
31d6a09990
commit
4e4cb9ee4e
|
@ -87,8 +87,10 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
|||
override @property bool enabled() { return super.enabled; }
|
||||
|
||||
override bool onClick(Widget source) {
|
||||
if (enabled)
|
||||
showPopup();
|
||||
if (enabled) {
|
||||
if (!_popup && _lastPopupCloseTimestamp + 200 < currentTimeMillis)
|
||||
showPopup();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -121,6 +123,7 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
|||
_button.layout(rc);
|
||||
}
|
||||
|
||||
protected long _lastPopupCloseTimestamp;
|
||||
protected void popupClosed() {
|
||||
}
|
||||
|
||||
|
@ -132,6 +135,7 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
|||
_popup.flags = PopupFlags.CloseOnClickOutside;
|
||||
_popup.styleId = STYLE_POPUP_MENU;
|
||||
_popup.popupClosed = delegate (PopupWidget source) {
|
||||
_lastPopupCloseTimestamp = currentTimeMillis;
|
||||
_popup = null;
|
||||
_popupList = null;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue