summaryrefslogtreecommitdiffstats
path: root/src/platformheaders
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2016-01-21 20:43:50 +0300
committerDmitry Shachnev <mitya57@gmail.com>2016-02-08 10:43:06 +0000
commit9c7f37e648024a8c7129e332dfb12b3ebd1ebf25 (patch)
tree9ff22f3f7b67960bd110331147cd859e156593fb /src/platformheaders
parent01859cc12126b7205f5b54d383a9aa88db756f21 (diff)
dbusmenu: Refactor the code to allow dynamic updating of menus
* Transfer propertiesUpdated and updated signals from submenus to parent menus. Without this, the adaptor only receives this signal from top-level menu items, and doesn't receive it from items of submenus. Connect to these signals when a menu item is added or synced, and disconnect when it is removed. * Make QDBusPlatformMenus use IDs of items containing them, not their own IDs (own IDs do not make any sense since they are not exported over D-Bus). * Store toplevel menus per-adaptor, to make it possible to export multiple menus (for example a menubar and a tray icon menu). * Adjust the QDBusMenuLayoutItem::populate methods to always get the menu via its containing item and to populate the menus recursively. * Map D-Bus menu AboutToShow method to platform menu aboutToShow method, and map hovered and closed events to hovered and aboutToHide signals. (QTBUG-46293) * Always set the visible property on item. Otherwise, when an item becomes visible, the D-Bus menu still thinks it's invisible because that property was not changed back to true. (QTBUG-48647) * Call emitUpdated from insertMenuItem and removeMenuItem methods, as they really update layout. Do not call it from syncMenuItem, it changes only properties but not the layout. * Start revision numbering with 1, because libdbusmenu-based hosts ignore updated signal with revision=1. Task-number: QTBUG-46293 Task-number: QTBUG-48647 Change-Id: Icf713405db0443e25462c1a19046df7689fe5e78 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Diffstat (limited to 'src/platformheaders')
0 files changed, 0 insertions, 0 deletions