13class LazyFillComboBox :
public QComboBox {
17 Q_SIGNAL
void about_to_show_popup();
18 Q_SIGNAL
void popup_hidden();
20 explicit LazyFillComboBox(QWidget *parent =
nullptr) : QComboBox{parent} {}
22#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
23 void showPopup()
override {
24 Q_EMIT about_to_show_popup();
25 QComboBox::showPopup();
28 void hidePopup()
override {
29 QComboBox::hidePopup();
30 Q_EMIT popup_hidden();
33 void mousePressEvent(QMouseEvent *e)
override {
34 Q_EMIT about_to_show_popup();
35 QComboBox::mousePressEvent(e);
38 void mouseReleaseEvent(QMouseEvent *e)
override {
39 QComboBox::mouseReleaseEvent(e);
40 Q_EMIT popup_hidden();