--- a/src/dbusmenuimporter.cpp +++ b/src/dbusmenuimporter.cpp @@ -189,6 +189,8 @@ updateActionVisible(action, value); } else if (key == "shortcut") { updateActionShortcut(action, value); + } else if (key == "children-display") { + updateActionSubmenu(action, value); } else { DMWARNING << "Unhandled property update" << key; } @@ -259,6 +261,15 @@ action->setShortcut(keySequence); } + void updateActionSubmenu(QAction *action, const QVariant &value) + { + if (value.toString() == "submenu") { + int id = action->property(DBUSMENU_PROPERTY_ID).toInt(); + m_idsRefreshedByAboutToShow << id; + refresh(id); + } + } + QMenu *menuForId(int id) const { if (id == 0) {